纠正 vsftpd“500 OOPS:无法更改目录”错误的设置是什么?

纠正 vsftpd“500 OOPS:无法更改目录”错误的设置是什么?

我的问题是我需要更改哪些设置和/或运行哪些命令才能登录到我的 vsftpd 系统?

当我使用 ftp 而不是 sftp 登录时,出现此错误:

Name (localhost:dbadmin): dbadmin
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/dbadmin
Login failed.
ftp> 

这在使用 登录时有效sftp@,但我的服务器位于防火墙后面,我需要能够使用 ftp 和 sftp 登录。

我一直在查看很多关于“OOPS”错误的帖子,但到目前为止还没有成功登录。

以下是有关我的系统和设置的一些信息:

我运行的是 CentOS 6.4。

iptables 和 ip6tables 已停止并禁用。

我的主目录受保护为 700,我尝试过 750,只是为了看看这是否有所不同。它没。

以下是活动行/etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

我的登录名不在 user_list 中。

答案1

运行此命令,无需重新启动任何服务和服务器:

# setenforce 0

检查 SELinux 状态:

# getenforce

或者

编辑文件/etc/sysconfig/selinux以包含

SELINUX=disabled

这样做需要重新启动。

答案2

虽然禁用 SELinuxSELINUX=disabled可以解决问题,但这并不可取。您可以ftp_home_dir通过运行以下命令配置 SELinux 布尔值来允许 ftp 用户访问其主目录:

setsebool -P ftp_home_dir=1

答案3

我按照这些说明禁用了 selinux这里。我能够不使用 sftp 登录。

要永久禁用,我编辑/etc/selinux/config并设置

SELINUX=disabled

重启后,我就可以正常登录了。

答案4

用户可能对其主文件夹没有执行权限。履行:

chmod +x /home/user

或者,

chmod 700 /home/user

相关内容