1、經過yum安裝vsftpdcss
yum install -y vsftpd
2、修改vsftpd的配置文件centos
vi /etc/vsftpd/vsftpd.conf
修改配置文件以下:
1.不容許匿名訪問tcp
anonymous_enable=NO
2.容許使用本地賬戶進行FTP用戶登陸驗證ide
local_enable=YES
3.使用戶不能離開主目錄工具
當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list文件中列出的用戶,能夠切換到其餘目錄;未在文件中列出的用戶,不能切換到其餘目錄。spa
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
配置文件最後添加3d
allow_writeable_chroot=YES
要否則會報錯rest
500 OOPS: vsftpd: refusing to run with writable root inside chroot()code
若是/etc/vsftpd/chroot_list
不存在,則須要建立該文件blog
vi /etc/vsftpd/chroot_list
:wq
直接保存並退出就行。
4.設定支持ASCII模式的上傳和下載功能。
ascii_upload_enable=YES ascii_download_enable=YES
最後 :wq
保存修改,重啓vsftpd
systemctl restart vsftpd.servic
此時咱們仍是鏈接不上ftp,咱們去配置下防火牆就行了。由於防火牆沒配置FTP端口號規則。
firewall-cmd --zone=public --add-port=21/tcp --permanent
Centos7默認安裝了firewalld,若是沒有安裝的話,則須要YUM命令安裝;firewalld真的用不習慣,與以前的iptable防火牆區別太大,
但畢竟是將來主流講究慢慢磨合它的設置規則;
Firewall開啓常見端口命令:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
Firewall關閉常見端口命令:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=443/tcp --permanent
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --zone=public --remove-port=21/tcp --permanent
firewall-cmd --zone=public --remove-port=53/udp --permanent
開啓防火牆命令:
systemctl start firewalld.service
重啓防火牆命令:
firewall-cmd --reload 或者 service firewalld restart
默認狀況下vsftp是不容許root用戶登陸的,能夠經過修改限制來解決這個問題。
此時咱們進到ftpusers和user_list裏面 將root用戶註釋掉就能夠用root登錄ftp。
咱們經過xftp這個工具連上centos時 xftp會提示沒法顯示centos文件
此時的解決辦法是:
使用sftp協議登錄