VSFTPD 500 OOPS: 디렉터리를 변경할 수 없습니다.

VSFTPD 500 OOPS: 디렉터리를 변경할 수 없습니다.

오류:

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

사용자는 방문자이고 그룹은 ftpusersonlygroup입니다.

grep 방문자 /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

문제가 해결되었고 더 이상 오류가 발생하지 않았습니다.

관련 정보