一:安裝FTP
vim
yum install vsftpd -y
複製代碼
輸入vsftpd -v判斷是否安裝成功bash
啓動/中止/重啓FTP服務器
systemctl start vsftpd.service(service vsftpd start) #啓動
systemctl stop vsftpd.service(service vsftpd stop) #中止
systemctl restart vsftpd.service(service vsftpd restart)#重啓
複製代碼
二:添加ftp用戶tcp
1:建立ftp用戶並設置密碼工具
useradd vsftpd #建立ftp用戶
passwd vsftpd #設置密碼複製代碼
2:配置該用戶僅能經過 FTP 訪問測試
usermod -s /sbin/nologin vsftpd
複製代碼
三:FTP配置ui
1:FTP的配置文件在/etc/vsftpd/vsftpd.conf,找到如下配置並修改或添加this
# 修改成NO,關閉匿名用戶訪問
anonymous_enable=NO
# 將全部本地用戶限制在自家目錄中,NO則不限制(禁止切換根目錄)。
chroot_local_user=YES
# 設置系統用戶FTP主目錄
local_root=/data
# 開啓charoot寫權限
allow_writeable_chroot=YES
#配置能夠登陸ftp的用戶目錄
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#配置ftp用戶訪問目錄配置目錄
user_config_dir=/etc/vsftpd/userconfig
# 配置FTP被動模式的端口
pasv_min_port=30000
pasv_max_port=30000
複製代碼
2:配置能夠登陸ftp用戶spa
vim /etc/vsftpd/user_list
複製代碼
在/etc/vsftpd/user_list文件中添加能夠登陸ftp的用戶:3d
3:配置ftp用戶登陸後訪問的目錄
在/etc/vsftpd目錄下新建一個userconfig目錄,在userconfig目錄下配置用戶的登陸目錄,例:注意:文件名就是你想要配置的用戶名稱
mkdir /etc/vsftpd/userconfig
vim /etc/vsftpd/userconfig/vsftpd
複製代碼
在vsftpd文件中添加
local_root=/data/test #/data/test表示我登陸ftp是的根目錄
複製代碼
配置完成後重啓FTP更新配置
systemctl restart vsftpd.service(service vsftpd restart)#重啓
複製代碼
四:建立測試目錄及文件
建立目錄
mkdir -p /data/test
複製代碼
設置訪問權限:
chmod 777 -R /data/test
複製代碼
建立一個測試文件,並在裏面寫上this is test!!!
vim /data/test/test.txt
複製代碼
五:防火牆配置
禁用防火牆或者開啓21端口和30000端口
(1):禁用防火牆
systemctl stop firewalld
複製代碼
(2):開啓21端口和30000端口
#開啓21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
#開啓30000端口
firewall-cmd --zone=public --add-port=30000/tcp --permanent
#刷新配置
firewall-cmd --reload複製代碼
六:客戶端訪問FTP服務
1:登陸:filezilla-project.org/ 下載FIleZilla客戶端工具
將下載下來的FIleZilla進行安裝,安裝過程十分簡單,這裏不介紹了
2:使用FIleZilla登陸ftp服務器
如上圖ftp服務器登陸成功,可是登陸成功後發現,只能從ftp下載下拉,沒法上傳上去,上傳時就報:
這是因爲因爲 vsftpd 默認被 SELinux 攔截,解決方法:
1:首先查看SELinux中有關FTP的設置狀態:
getsebool -a | grep ftp
複製代碼
2:設置ftpd_full_access爲開啓狀態
setsebool -P ftpd_full_access=on
複製代碼
3:重啓vsftpd服務,便可正常訪問FTP
systemctl restart vsftpd.service(service vsftpd restart)#重啓複製代碼