01、参考信息
CentOS7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
Vsftp的PASV mode(被动模式传送)和Port模式及 Linux下VsFTP配置全方案
CentOS下vsftp设置、匿名用户&本地用户设置、PORT、PASV模式设置
02、下载安装
[[email protected] ~]# yum update #更新yum [[email protected] ~]# yum install -y vsftpd #下载并安装
03、修改配置
01) 编辑配置文件/etc/vsftpd/vsftpd.conf:
anonymous_enable=NO #原值是YES chroot_list_enable=YES #原值被注释 chroot_list_file=/etc/vsftpd/chroot_list #原值被注释 allow_writeable_chroot=YES #文件末尾新增
04、设置FTP用户
01) 使用命令 vim /etc/vsftpd/chroot_list 新建并打开文件chroot_list,在其中输入用户名ftp01, 多个用户名以空格隔开
03) 在centos系统中创建用户ftp01,并将它添加至用户组ftp,将目录/var/www分配给这个用户,然后设置密码
[[email protected] ~]# useradd -g ftp -M -d /var/www -s /sbin/nologin ftp01 [[email protected] ~]# passwd ftp01
05、配置防火墙
1)关闭SELinux
输入 vim /etc/selinux/config ,进行如下配置
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three values: # targeted - Targeted processes are protected,# minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. #SELINUXTYPE=targeted
然后输入 setenforce 0
[[email protected] ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent #开放21/tcp [[email protected] ~]# firewall-cmd --zone=public --add-service=ftp --permanent #开放ftp服务 [[email protected] ~]# firewall-cmd --reload #重启防火墙,使设置生效。
06、启动FTP
[[email protected] ~]# systemctl start vsftpd.service #启动ftp [[email protected] ~]# systemctl enable vsftpd.service #设置ftp开机启动
FAQ:
01. Login failure: 530 Login incorrect的解决办法, 参考信息。
01)密码错误。
02)检查vim /etc/vsftpd/vsftpd.conf,进行下面的配置
local_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
03)检查vim /etc/pam.d/vsftpd,courier; font-size: 12px;">#auth required pam_shells.so
04)最后无论哪种情况,重启试试
sudo service vsftpd restart
02. 服务器发回了不可路由的地址。使用服务器地址代替。
01)更改Filezilla设置,编辑-设置-连接-FTP-被动模式,将“使用服务器的外部ip地址来代替”改为“回到主动模式”即可。
02)使用的阿里云服务器,服务器地址存在内外网区别。
FTP客户端从服务器的通讯内容中获取的是服务器的内网地址,从网络连接中获取到的是外网地址,实际应该使用外网地址。
常见的客户端软件默认使用被动模式。
anonymous_enable=NO #禁止匿名登录
07) 输入setsebool -P ftpd_full_access on,设置SELinux bool值,给ftp访问放行。
08) 输入useradd -g root -M -d /var/www/html -s /sbin/nologin ftp01,在系统的用户组root中添加账号ftp01,用于ftp登录。
09) 输入passwd ftp01,为ftp01设置密码(0428061x.)。
10) 输入chown -R ftp01.root /var/www/html,设置目录权限。
11) 使用FileZilla测试ftp。