vsftpd的一点SELinux设置

在开了SELinux和防火墙的情况下,使用chroot_local_user=YES锁定用户在自己的home目录中,没想到 vsftp的问题。FTP登录报错:500 OOPS: cannot change directory。

下面来看看产生这个问题的原因和对策。

原因

打开SELinux后,SELinux会阻止ftp daemon读取用户home目录。也就是说当ftp目录被锁定在home时FTP会报错: “500 OOPS: cannot change directory”。

无法进入目录,也就会出错退出。

解决方法

1、降低SELinux安全级别,把enforcing降低到permissive。

此方法有效,但不可取,会降低系统的安全程度。

2、修改SELINUX策略(推荐)。

getsebool -a | grep ftp

此命令可查看当前策略。

centos6显示如下:

 

 将ftp_home_dir设为on即可。

setsebool -P ftp_home_dir 1
service vsftpd restart

centos7中略有不同:

 

 将ftpd_full_access设为on即可。

posted @ 2023-03-14 18:42  書劍飄零  阅读(160)  评论(0编辑  收藏  举报