FTP服務器安裝與配置
1. 切換到root用戶: su root
2. 查看系統中是否安裝了vsftpd,可以通過執行命令 : rpm -qa | grep vsftpd
3. 如果沒有安裝 vsftpd,則安裝 : yum -y install vsftpd
4. 創建ftp用戶,比如ftp_test。命令: useradd -s /sbin/nologin -d /home/ftp_test ftp_test
5. 設置ftp_test用戶密碼。命令: passwd ftp_test 執行之后輸入2次密碼確認就設置好了密碼。
6. vim /etc/vsftpd/user_list ,最后一行添加剛才添加的用戶名: ftp_test
7.更改配置文檔 vim /etc/vsftpd/vsftpd.conf 將內容全部替換如下:
local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES idle_session_timeout=600 data_connection_timeout=120 ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to lightnear FTP service. chroot_local_user=YES ls_recurse_enable=YES listen=YES pam_service_name=vsftpd userlist_enable=YES userlist_deny=NO local_root=/home/ftp_test tcp_wrappers=YES use_localtime=YES allow_writeable_chroot=YES
8. 更改ftp目錄權限 chmod -R 777 /home/ftp_test
8. 啟動vsftp服務,命令: systemctl start vsftpd.service
9. 查看ftp服務的狀態,命令: systemctl status vsftpd.service
FTP客戶端安裝
推薦filefilla客戶端,官網地址https://filezilla-project.org/
FTP服務器配置文檔說明:
anonymous_enable = NO 取消FTP匿名登錄,默認是YES,修改成NO,表示不允許匿名用戶登錄。
userlist_enable=YES
userlist_deny=NO userlist_deny=NO /這個列表里的人不拒絕,其他人拒絕(包括匿名)
local_root=/home/ftp_test local_root=定義本地用戶的根目錄。當本地用戶登錄時,將被更換到此目錄下。
chroot_local_users= YES 將本地用戶鎖定在主目中。
allow_writeable_chroot=YES 從2.3.5之后,vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫權限了!如果檢查發現還有寫權限,就會報該錯誤。
要修復這個錯誤,可以用命令chmod a-w /home/user去除用戶主目錄的寫權限,注意把目錄替換成你自己的。
如果希望某個用戶可以訪問根目錄,把用戶名加入/etc/vsftpd/chroot_list不存在就創建這個文件,一行一個用戶名。
注意:
1. 目錄盡量不要選擇根目錄下,這里是/home/ftp_test,並且ftp_test這個目錄不要手動創建,否則權限會有問題,執行命令的時候會自動創建,如果是選擇根目錄,需要用手動創建,目錄讀寫權限改為777
3. 如果連接不上,很可能是防火牆阻止了,嘗試關閉防火牆
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
firewall-cmd --state #查看默認防火牆狀態(關閉后顯示notrunning,開啟后顯示running)
如果出現遠程文件夾無法顯示的情況,請使用主動模式連接,在你的ftp工具上設置。
3. 本文ftp服務器環境為CentOS7.2,ftp客戶端環境為MacOS.
參考文檔:
https://www.cnblogs.com/xianhan/p/9534669.html
https://www.cnblogs.com/mrcln/p/6189665.html