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协议登录