CentOS7安装及配置vsftpd (FTP服务器FTP账号创建以及权限设置)

如图1所示,安装VSFTPD的

yum -y install vsftpd

2,设置开机启动

systemctl enable vsftpd

3,启动FTP服务

 systemctl start vsftpd.service

如图4所示,打开防火墙,开放21端口(centos7.4以后默认关闭防火墙防火墙)

1 firewall-cmd --zone=public --add-port=21/tcp --permanent
2 firewall-cmd --permanent --zone=public --add-service=ftp
3 firewall-cmd --reload

5,添加FTP用户

 useradd -g root -d /home/wwwroot/asite -s /sbin/nologin ftpuser

注:表示新增一个名为ftpuser(用户名),且指定上传目录在/家庭/ wwwroot文件/ asite下

如果后期想变更此用户的上传目录到(/run/media/root/xxx/wwwroot/xxx.org),请使用下面的命令:

usermod -d /run/media/root/xxx/wwwroot/xxx.org ftpuser

如图6所示,设置用户密码

passwd ftpuser

7,配置selinux允许ftp访问home和外网访问(默认关闭centos7.4)

1 setsebool -P allow_ftpd_full_access on
2 setsebool -P ftp_home_dir on

如图8所示,设置权限(此用户可以访问整个主机目录,后面备注设置权限问题)

chown -R ftpuser:root /home/wwwroot/asite

 

9,修改VSFTP配置文件,禁用匿名登录

路径:vi /etc/vsftpd/vsftpd.conf

anonymous_enable=YES 改为: anonymous_enable=NO

其他命令:

重启        service vsftpd restart

启动/停止service vsftpd start/stop

状态        service vsftpd status

 

以下是权限配置:

 修改vi /etc/vsftpd/vsftpd.conf如下:(去掉注释!!!

chroot_local_user=NO
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

编辑上面的内容

    第一行:chroot_local_user = NO

    第二行:chroot_list_enable = YES  //限制访问自身目录

    第四行:。编辑vsftpd.chroot_list根据第三行说指定的目录,找到chroot_list文件(因主机不同,文件名也许略有不同)

    编辑vsftpd.chroot_list,将受限制的用户添加进去,每个用户名一行

说明:chroot_local_user = NO则所有用户不被限定在主目录内,chroot_list_enable = YES表示要启用chroot_list_file,因为chroot_local_user = NO,即全体用户都“不被限定在主目录内”,所以总是作为“例外列表” “的chroot_list_file这时列出的是那些‘会被限制在主目录下’的用户。

重启服务器

    改完配置文件,不要忘记重启的vsFTPd服务器

    运行命令:service vsftpd restart

ps重点:

当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误:

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列一项:
 

allow_writeable_chroot=YES

配置完成!

你可能感兴趣的:(FTP,Centos7.4,服务器,Linux)