CentOS7下FTP的安装与配置
1、安装vsftpd
[root@localhost modules]# yum install -y vsftpd
2、编辑ftp配置文件
[root@localhost modules]# vi /etc/vsftpd/vsftpd.conf
做如下修改:
anonymous_enable=NO #关闭匿名登录 chroot_local_user=YES #用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。 #通过搭配能实现以下几种效果: #①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。 #②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。 #③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。 #④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list allow_writeable_chroot=YES #加上这行解决了无法登陆的问题
3、设置开机启动ftp
[root@localhost modules]# chkconfig vsftpd on
4、启动/重新启动ftp服务
[root@localhost modules]# systemctl start vsftpd.service [root@localhost modules]# systemctl restart vsftpd.service
5、防火墙配置
方法1:
[root@localhost modules]# vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT #增加本行
方法2:关闭防火墙
[root@localhost modules]# systemctl stop firewalld.service #停止 [root@localhost modules]# systemctl disable firewalld.service #禁用
6、建立ftp账号
useradd -d /path(你的ftp文件夹) -s /sbin/nologin ftpname(用户名)
7、修改密码
passwd ftpname
8、设置账户权限
chown -R ftpname.ftpname /path(你的ftp路径) chmod 777 /path
9、设置路径运行上传
setsebool -P ftp_home_dir on setsebool allow_ftpd_full_access on
10、重启vsftp服务
systemctl restart vsftpd.service