Linux安装ftp

安装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

你可能感兴趣的:(Linux安装ftp)