安装vsftpd组件
yum -y install vsftpd
安装完后,有/etc/vsftpd/vsftpd.conf文件,是vsftp的配置文件
添加一个ftp用户
此用户就是用来登录ftp服务器的
useradd username
这样用户就建好了,可以用这个登录,普通登录不要用匿名了,登录后默认的路径为/home/username
给ftp用户添加密码
passwd username
输入两次密码后修改密码,到这里应该就安装好了,尝试连接下,卧槽 根本连不上啊,什么鬼......想想什么问题吧
··············一段时间过去了·············
应该是防火墙端口没开,先去开下端口吧
防火墙开启21端口
ftp默认端口是21,Centos默认是没有开启的
centos7以前的版本
centos7以前的版本,开启端口,要修改iptables文件
vim /etc/sysconfing/iptables
添加一行
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
:wq保存退出,重启iptables
service iptables restart
centos7以后的版本
但是我特么用的是CentOS7,默认不是用iptables,百度一波
firewall-cmd --zone=public --add-port=21/tcp --permanent // 添加端口
firewall-cmd --reload // 重启
开启端口,再测试一波,还是连不上,什么鬼哟....再百度一波
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --reload
继续测试一波,链接成功,原来这样就可以~!@!#$%^&*,上传个图片试试吧
··············又一段时间过去了·············
失败了....553 could not create file....而且碎脸链接成功了暗示也看不到目录, 继续百度一波
修改selinux
执行以下命令查看状态
getsebool -a | grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
如果看到ftpd_full_access 和tftp_home_dir 都是off代表没有开启外网的访问
setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on
文件上传成功
关闭匿名访问
修改/etc/vsftpd/vsftpd.conf文件
anonymous_enable=YES这行YSE改成NO
重启ftp服务就可以了
service vsftpd restart
设置开机启动vsftpd服务
chkconfig vsftpd on