記錄一下操作步驟:
參考博客:https://www.cnblogs.com/Sungeek/p/10148656.html
#防火牆:
啓動:systemctl start firewalld
關閉:systemctl stop firewalld
查看:systemctl status firewalld
開機禁止:systemctl disable firewalld
開機啓用:systemctl enable firewalld
開放端口:firewall-cmd --zone=public --add-port=8085/tcp --permanent
關閉端口:firewall-cmd --zone=public --remove-port=8085/tcp --permanent
配置生效:firewall-cmd --reload
1、查詢安裝包
rpm -qa |grep vsftpd
2、安裝vsftpd
yum install vsftpd -y
查看版本:vsftpd -v
3、啓動服務
systemctl start vsftpd
4、查看端口監聽
netstat -nultp | grep 21
5、配置ftp
vim /etc/vsftpd/vsftpd.conf
#是否允許匿名,默認no
anonymous_enable=NO
#這個設定值必須要爲YES 時,在/etc/passwd內的賬號才能以實體用戶的方式登入我們的vsftpd主機
local_enable=YES
#具有寫權限
write_enable=YES
#本地用戶創建文件或目錄的掩碼
local_umask=022
#當dirmessage_enable=YES時,可以設定這個項目來讓vsftpd尋找該檔案來顯示訊息!您也可以設定其它檔名!
dirmessage_enable=YES
#當設定爲YES時,使用者上傳與下載日誌都會被紀錄起來。記錄日誌與下一個xferlog_file設定選項有關
xferlog_enable=YESxferlog_std_format=YES
#上傳與下載日誌存放路徑
xferlog_file=/var/log/xferlog
#開啓20端口
connect_from_port_20=YES
#關於系統安全的設定值:
#ascii_download_enable=YES(NO)
#如果設定爲YES ,那麼 client 就可以使用 ASCII 格式下載檔案。
#一般來說,由於啓動了這個設定項目可能會導致DoS 的攻擊,因此預設是NO。
#ascii_upload_enable=YES(NO)
#與上一個設定類似的,只是這個設定針對上傳而言!預設是NO。
ascii_upload_enable=NO
ascii_download_enable=NO
#通過搭配能實現以下幾種效果:
#①當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list文件中列出的用戶,可以切換到其他目錄;未在文件中列出的用戶,不能切換到其他目錄。
#②當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd.chroot_list文件中列出的用戶,不能切換到其他目錄;未在文件中列出的用戶,可以切換到其他目錄。
#③當chroot_list_enable=NO,chroot_local_user=YES時,所有的用戶均不能切換到其他目錄。
#④當chroot_list_enable=NO,chroot_local_user=NO時,所有的用戶均可以切換到其他目錄。
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
#這個是pam模塊的名稱,我們放置在/etc/pam.d/vsftpd
pam_service_name=vsftpd
#當然我們都習慣支持TCP Wrappers的啦!
tcp_wrappers=YES
#不添加下面這個會報錯:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
allow_writeable_chroot=YES
#ftp的端口號
listen_port=22
#啓動被動式聯機(passivemode)
pasv_enable=YES
#上面兩個是與passive mode 使用的 port number 有關,如果您想要使用65400到65410 這 11 個 port 來進行被動式資料的連接,可以這樣設定
pasv_min_port=6000
pasv_max_port=10000
#FTP訪問目錄
local_root=/opt/ftp/
6、重啓vsftpd服務
systemctl restart vsftpd
7、創建ftp用戶,限制其登錄
useradd -d /opt/ftp/ -s /sbin/nologin ftpUser
刪除用戶:userdel -r ftpUser
設置密碼:passwd ftpUser
設置用戶訪問權限:chown -R ftpUser /opt/ftp
8、SElinux配置
getsebool -a | grep ftp
setsebool -P ftpd_full_access=on
setenforce 0 :關閉selinux
setenforce 1 :開啓selinux
9、開機自啓
chkconfig vsftpd on