VSFTPD 500 OOPS:ディレクトリを変更できません。

VSFTPD 500 OOPS:ディレクトリを変更できません。

間違い:

Response:   500 OOPS: cannot change directory:/home/visitor
Error:  Critical error: Could not connect to server

ユーザーは訪問者で、グループはftpuseronlygroupです。

grep guest/etc/passwd

visitor:x:1000:1001::/home/visitor:/sbin/nologin

chown visitor:ftpusersonlygroup /home/visitor
chmod 777 /home/visitor
chmod -R ugo+rwx /home/visitor

フォルダ権限/home/visitor

合計12K `

drwxrwxrwx  3 visitor ftpusersonlygroup  69 Oct  3 20:10 .
drwx------. 3 root    root               20 Oct  3 20:04 ..
-rwxrwxrwx  1 visitor visitor            18 Aug  2 16:00 .bash_logout
-rwxrwxrwx  1 visitor visitor           193 Aug  2 16:00 .bash_profile
-rwxrwxrwx  1 visitor visitor           231 Aug  2 16:00 .bashrc
drwxrwxrwx  2 visitor ftpusersonlygroup   6 Oct  3 20:19 www

vsftpd.conf

local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=10100

SFTPは機能できますが、FTPは機能しません。次のテストに示すように、ファイアウォールはありません。 21/tcp open ftp vsftpd 3.0.2

FTPログ

Mon Oct 3 21:41:46 2016 [pid 26091] CONNECT: Client "XX.XXX.XX.XXX" 
Mon Oct 3 21:41:46 2016 [pid 26090] [visitor] OK LOGIN: Client

「XX.XXX.XX.XXX」

グループゲストユーザはセクション0fに属する。

visitor : visitor ftpusersonlygroup

SELinuxが無効になっています。

getenforce Disabled

別のアイデアがありますか?

答え1

ユーザーホームディレクトリ(/homeこの場合)の親ディレクトリを700ではなく755権限に設定します。 vsftpdユーザー(この場合は訪問者)もこのディレクトリを参照できる必要があります。

答え2

私の場合、この問題を解決した方法は次のとおりです。

私がこれを行うとき:

cd /var/www/vhosts/
usermod -d example.com usernameexample

エラーが発生します。

500 OOPS: can not change directory

それから私がこれをするとき:

usermod -d /var/www/vhosts/example.com usernameexample

問題が解決され、エラーが発生しなくなりました。

関連情報