CentOS 7搭建vsftp伺服器配置詳解
首先網路、防火牆方面的基本要求要滿足,比如靜態ip、防火牆是否可以通過ftp的流量。
就可以在CentOS 7下開始搭建ftp伺服器了,我們使用vsftpd這款ftp服務軟體。(文中包含匿名訪問及使用者驗證的相關配置,基於虛擬使用者的配置見 https://www.linuxidc.com/Linux/2019-03/157279.htm )
-----安裝vsftpd並匿名訪問:
1、準備好vsftpd軟體的安裝包(系統盤裡也有),安裝vsftpd服務。
安裝以後執行 systemctl start vsftpd
啟動vsftpd就可以匿名訪問ftp伺服器了,雖說匿名,不過也是有相應的系統賬號 “ ftp ” 。預設匿名使用者的ftp根目錄是 /var/ftp/
,只有讀取的許可權,而且本地/var/ftp/目錄對ftp賬號要有相應的許可權)如若匿名使用者需要更大的許可權,可以更改 vsftpd 服務的配置檔案
2、開啟vsftpd服務的配置檔案
3、為了方便預覽,我把大多數註釋的內容都刪除了
4、以下為匿名使用者許可權最大的配置檔案資訊:
匿名使用者常見配置項的含義說明:
- anonymous_enable=YES:是否允許匿名訪問;
- anon_umask=022:設定匿名使用者所上傳檔案的預設許可權掩碼值(反掩碼);
- anon_root=/var/ftp:設定匿名使用者的FTP根目錄;
- anon_upload_enable=YES;是否允許匿名使用者上傳檔案;
- anon_mkdir_write_enable=YES:是否允許匿名使用者由建立目錄的寫入許可權;
- anon_other_write_enable=YES:是否允許匿名使用者有其他寫入許可權,如對檔案改名、覆蓋及刪除檔案等;
-----基於使用者驗證的FTP服務:
以下是需要使用者驗證的 ftp 服務配置檔案,配置檔案的預設路徑為 /etc/vsftpd/vsftpd.conf
以上配置檔案最終的效果是,每個系統使用者都可登入ftp伺服器,並且許可權最大,ftp的預設根目錄為系統使用者的宿主目錄下。(對於本地系統使用者設定許可權,直接更改使用者宿主目錄的許可權更方便些)
關於本地使用者常見的配置項及含義說明:
- local_enable=YES:是否允許本地使用者訪問;
- local_umask=022:設定本地使用者所上傳檔案的預設許可權掩碼值(反掩碼);
- local_root=/var/ftp:設定本地使用者的FTP根目錄(預設為使用者的宿主目錄);
- chroot_local_user=YES:是否將FTP本地使用者禁錮在宿主目錄中;
- allow_writeable_chroot=YES:允許被限制使用者的主目錄具有寫許可權;
- local_max_rate=0:限制本地使用者的最大傳輸速率(0為無限制),單位為位元組/秒(B/s)
在/etc/vsftpd/目錄下還有兩個配置檔案 ftpusers
和 userlist
- ftpusers檔案:此檔案中列出的使用者將禁止登入vsftpd伺服器。預設包含root、bin、daemon等用於系統執行的特殊使用者;
-
user_list檔案:此檔案中包含的使用者可能被禁止,可能被允許,具體取決於主配置檔案vsftpd.conf中的設定,當存在“userlist——enable=YES”時,user_list列表檔案方可生效,若繼續指定“userlist_deny=YES”,則功能與ftpusers檔案一樣,表示禁止此列表中的使用者登入;若指定“userlist_deny=NO”,則僅允許列表中的使用者登入。
-----關於ftp所有配置項的詳細解釋 -----關於匿名使用者:
- anonymous_enable=YES:是否允許匿名訪問;
- anon_umask=022:設定匿名使用者所上傳檔案的預設許可權掩碼值(反掩碼);
- anon_root=/var/ftp:設定匿名使用者的FTP根目錄;
- anon_upload_enable=YES;是否允許匿名使用者上傳檔案;
- anon_mkdir_write_enable=YES:是否允許匿名使用者由建立目錄的寫入許可權;
- anon_other_write_enable=YES:是否允許匿名使用者有其他寫入許可權,如對檔案改名、覆蓋及刪除檔案等;
-----關於本地使用者:
- local_enable=YES:是否允許本地使用者訪問;
- local_umask=022:設定本地使用者所上傳檔案的預設許可權掩碼值(反掩碼);
- local_root=/var/ftp:設定本地使用者的FTP根目錄(預設為使用者的宿主目錄);
- chroot_local_user=YES:是否將FTP本地使用者禁錮在宿主目錄中;
- allow_writeable_chroot=YES:允許被限制使用者的主目錄具有寫許可權;
- local_max_rate=0:限制本地使用者的最大傳輸速率(0為無限制),單位為位元組/秒(B/s)
-----關於全域性配置:
- listen=NO: 是否以獨立執行的方式監聽服務;
- listen_address=0.0.0.0:設定監聽f t p服務的ip地址;
- listen_port=21:設定監聽ftp服務的埠號;
- write_enable=YES:啟用任何形式的寫入許可權,(如上傳、刪除檔案等)都需要開啟此項;
- download_enable=YES:是否允許下載檔案(建立僅限於瀏覽、上傳的FTP伺服器時,可將此項設定為“NO”);
- dirmessage_enable=YES:使用者切換進入目錄時顯示 “.message”檔案(如果已存在)的內容;
- xferlog_enable=YES:啟用xferlog日誌,預設記錄到 /var/log/xferlog;
- xferlog_std_format=YES:啟用標準的xferlog日誌格式,若禁用此項,將使用vsftpd自己的日誌格式;
- connect_from_port_20=YES:允許伺服器主動模式(從20埠建立資料連線);
- pasv_enable=NO:禁止被動模式連線;預設允許被動模式連線;
- pasv_max_port=24600:設定用於被動模式的伺服器最大埠號;
- pasv_min_port=24500:設定用於被動模式的伺服器最大埠號;
- pam_service_name=vsftpd.vu:設定用於使用者認證的PAM檔案位置(/etc/pam.d/目錄中對應的檔名);
- userlist_enable=YES:是否啟用userl_ist使用者列表檔案;
- userlist_deny=YES:是否禁用user_list列表檔案中的使用者賬號;
- max_clients=0:最多允許多少個客戶端同時連線(0為無限制);
- max_per_ip=0:對來自同一個ip地址的客戶端,最多允許多少個併發連線(0為無限制);
- tcp_wrappers=YES:是否啟用tcp_wrappers主機訪問控制;
-----關於虛擬使用者的配置項:
- guest_username=test:指定對映的系統使用者名稱稱;
- guest_enable=YES:是否啟用虛擬使用者;
- allow_writeable_chroot=允許被限制使用者的主目錄具有寫許可權(此項必須寫入,否則可能會報錯)
- anon_world_readable_only=NO:允許使用者下載目錄內容
- anon_other_write_enable=YES:允許匿名使用者有其他寫入許可權,如重新命名、覆蓋及刪除檔案等;
- user_config_dir=/etc/vsftpd/vusers_dir:指定虛擬使用者獨立的配置檔案目錄;
更多 Vsftpd 相關教程見以下內容 :
Linux CentOS 6.5 下搭建 vsftpd ftp伺服器 https://www.linuxidc.com/Linux/2016-07/133319.htm
CentOS安裝vsftpd-3.0.2及安全配置 https://www.linuxidc.com/Linux/2016-12/138040.htm
openSUSE 13.2/13.1 下安裝配置 FTP伺服器 vsftpd https://www.linuxidc.com/Linux/2014-12/110070.htm
CentOS7基於虛擬使用者的vsftpd https://www.linuxidc.com/Linux/2016-11/137150.htm
Ubuntu 14.04 配置vsftpd實現FTP伺服器 - 通過FTP連線AWS https://www.linuxidc.com/Linux/2016-08/133933.htm
FTP協議詳解與vsftpd在Linux上的安裝配置 https://www.linuxidc.com/Linux/2016-09/134831.htm
CentOS 6.7 安裝vsftpd伺服器 https://www.linuxidc.com/Linux/2017-04/142612.htm
CentOS 7.3安裝配置Vsftpd檔案伺服器 https://www.linuxidc.com/Linux/2017-06/144886.htm
Vsftpd3.0--FTP伺服器搭建之本地使用者篇 https://www.linuxidc.com/Linux/2017-04/142699.htm
CentOS7基於虛擬使用者的vsftpd https://www.linuxidc.com/Linux/2016-11/137150.htm
如何在Ubuntu 18.04 LTS上安裝帶有TLS的VsFTPD伺服器 https://www.linuxidc.com/Linux/2018-10/154930.htm
Ubuntu 16.04下vsftpd 安裝配置例項 https://www.linuxidc.com/Linux/2017-06/144807.htm
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2019-03/157279.htm