실수:
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
문제가 해결되었으며 더 이상 오류가 발생하지 않습니다.