错误:
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
问题解决了,我没有再收到错误。