您的位置:首页 > 运维架构

vsftp 登录报500错误,以及登录成功后无法显示目录列表的解决方案:500 OOPS: cannot change directory:/home/

2014-04-15 17:56 1081 查看
1、问题:vsftp登录报错”500 OOPS: cannot change directory:/home/*******”

解决:

A、首先检查权限问题;

B、

ftp服务器连接失败,错误提示:

500 OOPS: cannot change directory:/home/*******

500 OOPS: child died

出现以上错误后开始用以下方法解决分别添加两个FTP账户 并为其指定专属FTP账户目录:

/usr/sbin/adduser -d /home/ftpname1_dir -g ftp -s /sbin/nologin ftpname1

/usr/sbin/adduser -d /home/ftpname2_dir -g ftp -s /sbin/nologin ftpname2

修改vsftpd.conf配置文件 添加 如下一行 为FTP指定账户(多个FTP账户用英文逗号分隔):

ftp_username=ftpname1,ftpname2

重启FTP服务器 客户端重新登录FTP 发现错误提示没有了,登录成功,一切正常,但是问题又来了,对目录没有rwx权限,开始以为配置没生效进错目录了,后来切换成home根目录后发现 其他目录都可以正常访问,唯独这个专属的FTP账户目录没有rwx操作权限,也没有错误提示

后来再网上查询了好多方法都说 关闭selinux,但是关闭selinux毕竟不是很乐意,毕竟影响安全么?

当你遇到以上问题时,试着在输入以下命令解决

(一、)[root@ zhaiqutianshangxing vsftpd]#setsebool -P ftpd_disable_trans 1

[root@

zhaiqutianshangxing vsftpd]#service vsftpd restart

第一行中的-P参数是为了以后不需要每次开机都输入这个命令

结果问题又来了,提示setsebool is not set ??? 此命令执行不成功,继续如下第二种方法

(二、)或使用以下解决:

[root@

zhaiqutianshangxing ~]#/usr/sbin/setsebool -P ftp_home_dir 1

恭喜,执行成功了, 可遗憾的是问题还没有解决 于是遇到如下构思~

2、使用setsebool -P ftpd_disable_trans 1 //加-P表示永久性

提示错误:

[root@
zhaiqutianshangxing vsftpd]# setsebool -P ftpd_disable_trans 1

libsemanage.dbase_llist_set: record not found in the database (No such file or directory).

libsemanage.dbase_llist_set: could not set record value (No such file or directory).

Could not change boolean ftpd_disable_trans

Could not change policy booleans

解决方法:

可能直接使用下面这个一条就可以解决了:

[root@
zhaiqutianshangxing ~]# /usr/sbin/setsebool -P ftp_home_dir 1

再试试,



如果还是不行的话再使用下面完全方式:

[root@
zhaiqutianshangxing vsftpd]# setsebool allow_ftpd_full_access 1

[root@
zhaiqutianshangxing vsftpd]# setsebool allow_ftpd_use_cifs 1

[root@
zhaiqutianshangxing vsftpd]# setsebool allow_ftpd_use_nfs 1

[root@
zhaiqutianshangxing vsftpd]# setsebool -P ftp_home_dir 1

[root@
zhaiqutianshangxing vsftpd]# setsebool httpd_enable_ftp_server 1

[root@
zhaiqutianshangxing vsftpd]# setsebool tftp_anon_write 1

[root@
zhaiqutianshangxing vsftpd]# service vsftpd restart

关闭 vsftpd:[确定]

为 vsftpd 启动 vsftpd:[确定]

[root@
zhaiqutianshangxing vsftpd]# getsebool -a | grep ftp

allow_ftpd_anon_write --> off

allow_ftpd_full_access --> on

allow_ftpd_use_cifs --> on

allow_ftpd_use_nfs --> on

ftp_home_dir --> on

ftpd_connect_db --> off

httpd_enable_ftp_server --> on

sftpd_anon_write --> off

sftpd_enable_homedirs --> off

sftpd_full_access --> off

sftpd_write_ssh_home --> off

tftp_anon_write --> on

重启vsftpd,废了好大劲终于问题解决了,嘎嘎,乐一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐