500 OOPS:无法更改目录:/home/user/public_html,VSFTPD 错误

500 OOPS:无法更改目录:/home/user/public_html,VSFTPD 错误

我在 Ubuntu 服务器 12.04 上安装了 VSFTPD,它运行得很好。直到我尝试更改用户的权限,使用户无法进入 / 目录,而只能进入 目录内/home/user/public_html

这可能与我这样做有关:

sudo chmod 700 -R /

我有一个用户 ftpUser,他属于一个组 ftpUsers。他的权限/home/user/public_html如下:

drwxrwxr-x 9 ftpUser ftpUsers 4096

我的 VSFTPD 文件如下所示:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
connect_from_port_20=NO
chroot_local_user=YES
pam_service=vsftpd
userlist_file=/etc/vsftpd.userlist
userlist_enable=YES
userlist_deny=NO

其中/etc/vsftpd.userlist只有一行:ftpUser

我该如何解决这个问题以便我可以登录,它认为它必须与权限有关但我现在不知道它是什么!?

答案1

您可以检查此链接. 它对我有用。

确保帐户和主目录的用户和组权限匹配。例如,如果您以以下身份登录:

帐户:x:521:500::/some/directory:/sbin/nologin

然后确保为“帐户”定义的主目录至少可由用户 521 和组 500 读取和执行。

答案2

该错误是由于 Selinux 引起的。请执行以下操作:

[root@sun02 vsftpd]# getenforce
    Enforcing

[root@sun02 vsftpd]# 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     # We need to change this to on - see next command.
    ftpd_disable_trans –> off
    ftpd_is_daemon –> on
    httpd_enable_ftp_server –> off
    tftpd_disable_trans –> off

[root@sun02 vsftpd]# setsebool -P ftp_home_dir on

这就是您所需要的全部。

祝你好运!

来源:从上面的链接复制并粘贴。感谢 http://blog.arithm.com/ 的 @Jaime M.

相关内容