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即可。
作者:書劍飄零
本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。