1 FTP 500 OOPS
不关闭seLinux解决vsftpd服务本地用户不能登录问题(500 OOPS: cannot change directory:/home/***)
这里不讲vsftpd的基本配置,网上教程已经太多了。这里只说seLinux的问题。
日前在CentOS6.5中安装了vsftpd,按照网上搜索的教程,配置好/etc/vsftpd/vsftpd.conf,重新启动后,登录实验,又出现了著名的不能设置主目录错误:
500 OOPS: cannot change directory:/home/*******
500 OOPS: child died
再到网上求助,发现多数都是让关掉seLinux服务,我记得以前也是这么做得,不过总觉得是有点因噎废食。于是继续google
终于看到了这篇文章,但是照做时却被提示错误:
#setsebool -P ftpd_disable_trans 1
Boolean ftpd_disable_trans is not defined
于是查询selinux
发现确实没有该项,但是却意外发现了ftp_home_dir,于是我照方抓药执行
setsebool -P ftp_home_dir 1
在查询一下,发现状态已经成功改过来了!
重新启动vsftpd
#service vsftpd restart
2 Shutting down vsftpd [FAILED]
[root@rusky xxxx]# service vsftpd restart --启动/关闭命令为:service vsftpd start/stop
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [ OK ]
[root@rusky xxx]# service vsftpd status
[root@rusky xxxx]# service vsftpd restart
3 centos vsftpd 显示500 OOPS: could not read chroot() list file:/etc/chroot_list
解决方法:
第一步,
打开/etc/vsftpd/vsftpd.conf,做如下配置:
anon_root=/home/pageftp/open
#guest_username=用户名
#virtual_use_local_privs=YES
#userlist_file=/etc/vsftpd/user_list
#user_config_dir=/ect/vsftpd/vconf
#chroot_local_user=YES
#allow_writeable_chroot=YES
virtual_use_local_privs=YES
#guest_enable=YES
#guest_username=vftpuser
chroot_local_user=YES
chroot_list_enable=YES
#chroot_list_file=/etc/chroot_list
allow_writeable_chroot=YES
user_config_dir=/usr/local/apache/htdocs/
local_root=/usr/local/apache/htdocs/
第二步
进行如下设置
sestatus -b | grep ftp
setenforce 0
setenforce: SELinux is disabled
[root@xx vsftpd]# getenforce
Disabled
[root@xx vsftpd]# setsebool -P ftp_home_dir=1
setsebool: SELinux is disabled.
[root@xx vsftpd]# setsebool -P allow_ftpd_full_access 1
setsebool: SELinux is disabled.