修改SELinux设置,使vsftp在enforc…
来源:互联网 发布:软件研发能力评估 编辑:程序博客网 时间:2024/06/10 00:01
http://www.esojourn.org/blog/read.php/313.htm
开了SELinux和防火墙,没想到引出了vsftp的问题。FTP登录报错:500 OOPS:cannot change directory。下面来看看产生这个问题的原因和对策。
首先,分析一下冲突原因:
1.为锁定用户在自己的home目录中,在vsftpd.conf打开chroot_local_user。
这样FTP登录用户的“/”,就是passwd中的homepath,比如/var/www/a.com/。避免FTP用户跑到/etc乱闯。这样设置过,FTP登录时,会自动执行CWD/var/www/html/www.xxx.com,并且把这个目录设置为FTP进程的根目录,用户就无法离开了。
vi /etc/vsftpd/vsftpd.conf
# You may specify an explicit list of localusers to chroot() to their home
# directory. If chroot_local_user is YES, thenthis list becomes a list of
# users to NOT chroot().
chroot_local_user=YES
# chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
#当然也可以用chroot_list_enable=YES的办法。但要逐个在chroot_list中指定FTP用户名,很麻烦。也容易出现疏漏。所以还是推荐用chroot_local_user来限制。
2. 下面,问题就出来了。打开SELinux后,SELinux会阻止ftpdaemon读取用户home目录。所以FTP会甩出一句 “500 OOPS: cannot changedirectory”。无法进入目录,出错退出。
解决办法有两个:
1.降低SELinux安全级别,把enforcing降低到permissive
vi /etc/sysconfig/selinux
# This file controls the state of SELinux on thesystem.
# SELINUX= can take one of these threevalues:
# enforcing - SELinux security policy isenforced.
# permissive - SELinux prints warnings instead ofenforcing.
# disabled - SELinux is fullydisabled.
SELINUX=permissive
这时FTP的登录功能就正常了。但降低整体系统安全作为代价来解决一个小问题,这总不是最佳方案。
2.经过研究,又找到了另一个更理想的办法。首先查看SELinux中有关FTP的设置状态:
getsebool -a|grep ftp
allow_ftpd_anon_write -->off
allow_ftpd_full_access -->off
allow_ftpd_use_cifs -->off
allow_ftpd_use_nfs -->off
allow_tftp_anon_write -->off
ftp_home_dir -->off
ftpd_connect_db -->off
ftpd_disable_trans -->on
ftpd_is_daemon -->on
httpd_enable_ftp_server -->off
tftpd_disable_trans -->off
经过尝试发现,打开ftp_home_dir或者ftpd_disable_trans。都可以达到在enforcing级别下,允许FTP正常登录的效果。
setsebool -P ftp_home_dir 1
#CentOS6里,是这样
setsebool -P allow_ftpd_full_access1
service vsftpd restart
加-P是保存选项,每次重启时不必重新执行这个命令了。最后别忘了在/etc/sysconfig/selinux中,修改SELINUX=enforcing。
- 修改SELinux设置,使vsftp在enforc…
- 修改SELinux设置,使vsftp在enforcing security enhance模式下正常运行
- SeLinux与Vsftp 的关系!
- SELinux 环境下网络服务设置 , 配置 Apache 、Samba、NFS、vsftp 、MySQL、Bind DNS
- selinux 的设置导致vsftp权限问题(linux的ftp用户无法连接问题)
- 修改selinux
- vsftp设置
- vsftp设置
- vsftp 设置
- 设置vsftp
- 【VSFTPD】vsftp出现500 OOPS错误/SELINUX
- 鸟哥的 selinux 之 vsftp
- SElinux与vsftp那点事儿
- Selinux在HTTP+PHP服务中的安全权限修改
- vsftp修改存储目录
- vsftp修改端口
- 查看和修改SELinux
- 修改SELinux状态
- java泛型之三——参数泛型上下限
- 500 OOPS: could n…
- vsftp虚拟用户权限设置
- Java性能分析比较:远程调用方法
- 关闭SELinux
- 修改SELinux设置,使vsftp在enforc…
- 简简单单让selinux放过ftp一马,使…
- SELinux与FTP
- CentOS 6.0 下 VNC…
- ubuntu12.04下安装lamp
- vncserver 开机自启动,免敲v…
- redhat下配置vncserver 以及…
- 把普通用户升级为管理员(慎用)
- 配置安装VNC Server服务TigerVNC