
錯誤:
Response: 500 OOPS: cannot change directory:/home/visitor
Error: Critical error: Could not connect to server
使用者是visitor,群組是ftpuseronlygroup
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
在本例中)的父目錄設定為 755 權限而不是 700 - 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
問題解決了,我沒有再收到錯誤。