1. 使用rpm -q vsftpd查看是否已安装
2.如未安装使用yum -y install vsftpd安装
3.修改ftp配置文件vim /etc/vsftpd/vsftpd.conf,修改内容如下:
anonymous_enable=YES #改为anonymous_enable=NO
chroot_local_user=YES #去掉前面的注释
allow_writeable_chroot=YES#加上这行解决了无法登陆的问题
5.测试的时候会出现请求超时,无法连接等原因,主要是需要修改防火墙配置vim /etc/sysconfig/iptables,但是查找/etc/sysconfig下并没有iptables文件,因为centos7使用的是firewall,
需要将firewall卸载,重新安装iptables,命令如下:
将firewall卸载:systemctl stop firewalld yum remove firewalld
安装iptables-services:yum install iptables-services
开启iptables:systemctl start iptables
将防火墙设为开机启动:systemctl enable iptables
在/etc/sysconfig文件夹写生成iptables配置文件:service iptables save
6.配置防火墙vim /etc/sysconfig/iptables:加-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT。注意:通过 getsebool -a | grep ftp我们可以看到selinux是禁止了所有的ftp服务,为了能正常使用我们需要将ftp_home_dir,ftpd_connection_db 两个boolean变量设为true,命令:setsebool -P ftp_home_dir 1, setsebool -P ftpd_connection_db 1
7.建立ftp用户:
useradd -d /path/you/want -s /sbin/nologin ftpadmin #注意 /parh/you/want为该用户登陆时的根目录(建议建在root用户下),路径自己设定,ftpadmin为用户名,也可以自己设定
修改密码:passwd ftpadmin #注意 ftpadmin为刚刚设定的用户名,输入两次密码即可
修改权限:chown -R ftpadmin.ftpadmin /path/you/set #注意 ftpadmin为刚刚设定的用户名,/path/you/set为刚刚设定的该用户ftp的根目录
4.启动service vsftpd start 会提示Redirecting to /bin/systemctl start vsftpd.service,使用/bin/systemctl start vsftpd.service启动
设置开机启动:chkconfig vsftpd on