售前咨询
技术支持
渠道合作

出现500 OOPS: cannot change directory报错的解决办法

在使用ftp过程中出现 “500 OOPS:cannot change directory” 错误相关的情况分析。

情况一:

提示错误

331 Please specify the password.

Password:

500 OOPS: cannot change directory:/home/oracle

Login failed.

原因:这是因为服务器开启了selinux,这限制了FTP的登录。

解决方法:

1.执行setsebool -P ftpd_disable_trans 1

然后重启ftp :service vsftpd restart

  • 执行setsebool -P ftpd_disable_trans 1

报错Boolean ftpd_disable_trans is not defined的话

    ([root@windos-test-01 vsftpd]# setsebool -P ftpd_disable_trans 1

Boolean ftpd_disable_trans is not defined)

先执行setsebool  -P  ftp_home_dir 1

查看getsebool -a |grep ftp_home 结果如下:

 ftp_home_dir –> on

然后再照第1种方法执行;

3.如果还是不成功的话,执行以下命令,然后重启FTP

[root@windos-test-01 vsftpd]# setsebool allow_ftpd_full_access 1

[root@windos-test-01 vsftpd]# setsebool allow_ftpd_use_cifs 1

[root@windos-test-01 vsftpd]# setsebool allow_ftpd_use_nfs 1

[root@windos-test-01 vsftpd]# setsebool -P ftp_home_dir 1

[root@windos-test-01 vsftpd]# setsebool httpd_enable_ftp_server 1

[root@windos-test-01 vsftpd]# setsebool tftp_anon_write 1

[root@windos-test-01 vsftpd]# service vsftpd restart

情况二:

如果使用setsebool -P ftpd_disable_trans 1   //加-P表示永久性

提示错误:

[root@linux115 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@linux115 ~]# /usr/sbin/setsebool -P ftp_home_dir 1

再试试,

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

[root@linux115 vsftpd]# setsebool allow_ftpd_full_access 1

[root@linux115 vsftpd]# setsebool allow_ftpd_use_cifs 1

[root@linux115 vsftpd]# setsebool allow_ftpd_use_nfs 1

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

[root@linux115 vsftpd]# setsebool httpd_enable_ftp_server 1

[root@linux115 vsftpd]# setsebool tftp_anon_write 1

[root@linux115 vsftpd]# service vsftpd restart

关闭 vsftpd:[确定]

为 vsftpd 启动 vsftpd:[确定]

[root@linux115 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,即可解决问题。


SSL证书采用了技术含量比较高的加密技术。日后GDCA(数安时代)将会持续为大家推荐更多关于SSL证书的技术知识。让大家正确认识SSL证书,快速无误部署HTTPS安全协议。更多资讯,请关注GDCA。

上一篇:

下一篇:

相关文章