[淋漓笔记]linux搭建ftp

1、SSH登陆服务器
2、yum安装vsftpd
安装命令:yum install vsftpd
3、修改配置、增加开机启动
修改配置:vi /etc/vsftpd/vsftpd.conf 将anonymous_enable=YES的值设置为NO,增加开机启动,命令:chkconfig –level 35 vsftpd on
4、增加FTP用户、并设置密码
命令:useradd ftplinli -s /sbin/nologin -d /www 其中ftplinli为FTP账号,/www为FTP指定目录路径,运行此命令后再输入 passwd ftplinli 之后输入两次密码即可
注:若系统为centos7及以上版本,默认有密码规则,若需强制设置或更改密码,在root用户下运行passwd –stdin ftplinli方式的命令来设置密码即可
5、设置创建的FTP指定目录的权限
命令:chmod 777 www 其中www为创建的FTP目录
6、启动FTP服务
命令:service vsftpd start
7、设置服务器根目录不能访问(根据情况任选如下之一,如果配置文件中没有以上参数,可手动添加)
⑴、设置/ 为FTP的根目录 vim /etc/vsftpd/vsftpd.conf 进入编辑
(设置YES)
chroot_local_user=YES
allow_writeable_chroot=YES
⑵、设置实际路径 /usr/local/apache/htdocs 为FTP的根目录
vim /etc/vsftpd/vsftpd.conf
(设置NO)
chroot_local_user=NO
allow_writeable_chroot=YES
8、禁用配置文件DNS反向解析,提高登录速度
vim /etc/vsftpd/vsftpd.conf
在vsftpd.conf文件中加入:reverse_lookup_enable=NO
保存后重新启动vsftpd:  service vsftpd restart
放行FTP只需如下几步(centos7以下版本防火墙配置):
1,.加载内核模块:
[root@localhost ~]# modprobe nf_conntrack_ftp
2.放行20&21端口:
[root@localhost ~]# iptables -I INPUT -p tcp -m multiport –dports 20,21 -j ACCEPT
3.放行状态为related&established的tcp包:
[root@localhost ~]# iptables -I INPUT -p tcp -m state –state related,established -j ACCEPT
以下为cents7及以上版本防火墙设置方法:
1、防火墙开启 21 端口并启动 执行下面两句
[root@localhost ~]# firewall-cmd –zone=public –add-port=21/tcp –permanent
返回success为成功
重启防火墙:
systemctl restart firewalld.service
关闭防火墙
systemctl stop firewalld.service
开启vsftpd服务:
systemctl start vsftpd
停止vsftpd服务:
systemctl stop vsftpd
查看vsftpd服务:
systectl status vsftpd
禁用vsftpd服务:
systemctl disable vsftpd
开机自动启动vsftpd服务:
systemctl enable vsftpd
2、开启内部发送端口
[root@localhost ~]# firewall-cmd –zone=public –add-port=5555-6666/tcp –permanent
–配置端口号
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
pasv_min_port=5555
pasv_max_port=6666
http://note.youdao.com/yws/public/resource/bbcbb893e501cddd34e453f4ca66f667/xmlnote/ACD74A40C17B4774BDE513DC6022A063/1318

解决配置后登录提示530 Login incorrect方法:
将vim /etc/pam.d/vsftpd里面的
auth    required pam_shells.so
内容注释掉后,问题就解决了!
注:若不使用centos7及以上版本的firewall作为防火墙,需进行如下设置:
1.直接关闭防火墙
# systemctl stop firewalld.service #停止firewall
# systemctl disable firewalld.service #禁止firewall开机启动
2.设置 iptables service
# yum -y install iptables-services
3.加载内核模块
# modprobe nf_conntrack_ftp
4.放行20&21端口
# iptables -I INPUT -p tcp -m multiport –dports 20,21 -j ACCEPT
注:如果只允许指定IP访问指定端口(xxx为IP地址,也可配置为xxx.xxx.xxx.xxx/xx网段模式)
# iptables -I INPUT -p tcp -m multiport –dports 20 -j ACCEPT
# iptables -I INPUT -s xxx.xxx.xxx.xxx -p tcp –dport 21 -j ACCEPT
5.放行状态为related&established的tcp包
# iptables -I INPUT -p tcp -m state –state related,established -j ACCEPT
通过编辑iptables的放行规则的方式如下:vi /etc/sysconfig/iptables
新增规则(以放行指定IP访问指定端口为例):
-I INPUT -p tcp -m multiport –dports 20 -j ACCEPT
-I INPUT -s xxx.xxx.xxx.xxx -p tcp –dport 21 -j ACCEPT
-I INPUT -p tcp -m state –state related,established -j ACCEPT
-A INPUT -p tcp –dport 5555:6666 -j ACCEPT
注:最后一行(-A INPUT -p tcp –dport 5555:6666 -j ACCEPT)策略是解决主动模式下能够正常连接,如果在必须采用主动模式情况下,可把该策略加上,该条策略需与vsftpd.conf的 配置端口号 结合使用;
centos7版本启动iptables服务
# /bin/systemctl restart iptables.service
查看iptables防火墙状态:
# service iptables status
设置开机启动
# vim /etc/rc.d/rc.local
添加如下两行:
modprobe nf_conntrack_ftp
/bin/systemctl restart iptables.service
注意:如果是centos7及以上版本,需要给权限后,文件中的命令才能在系统启动后执行,命令为:
# chmod +x /etc/rc.d/rc.local

 

[淋漓笔记]linux搭建ftp:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter


豫ICP备17032782号