Назад | Перейти на главную страницу

vsftpd: 500 OOPS: невозможно сменить каталог

Не могли бы вы помочь мне с сервером vsftpd. Я пытаюсь настроить его, чтобы он работал с виртуальными пользователями. Проблема в том, что я все еще получаю следующую ошибку в ftp-клиенте:

500 OOPS: cannot change directory: [there is nothing more after : ]

Подробности:

# getenforce Disabled

#ls -al /home/back drwxrwxrwx+ 4 ftp ftp 4096 Jan 13 14:49 . drwxr-xr-x. 5 root root 4096 Dec 23 16:10 .. drwxrwxrwx. 2 ftp ftp 4096 Dec 3 18:00 it

#cat vsftpd.conf anonymous_enable=YES local_enable=YES virtual_use_local_privs=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=NO xferlog_std_format=YES ascii_upload_enable=YES ls_recurse_enable=YES listen=YES pam_service_name=vsftpd.virtual userlist_enable=YES tcp_wrappers=YES listen_port=12121 ftp_data_port=12020 pasv_min_port=12022 pasv_max_port=12099 user_sub_token=$USER local_root=/home/back/$USER chroot_local_user=YES hide_ids=YES guest_enable=YES allow_writeable_chroot=YES xferlog_file=/var/log/vsftpd.log xferlog_enable=YES dual_log_enable=YES port_enable=YES pasv_enable=YES pasv_promiscuous=YES

# cat /etc/pam.d/vsftpd.virtual

#%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user account required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user session required pam_loginuid.so

Журналы:

vsftpd.log (с "log_ftp_protocol = YES"):

Tue Jan 20 17:04:42 2015 [pid 13493] CONNECT: Client "127.0.0.1" Tue Jan 20 17:04:42 2015 [pid 13492] [test] OK LOGIN: Client "127.0.0.1" Tue Jan 20 17:06:57 2015 [pid 13584] CONNECT: Client "127.0.0.1" Tue Jan 20 17:06:57 2015 [pid 13584] FTP response: Client "127.0.0.1", "220 (vsFTPd 3.0.2)" Tue Jan 20 17:06:57 2015 [pid 13584] FTP command: Client "127.0.0.1", "USER test" Tue Jan 20 17:06:57 2015 [pid 13584] [test] FTP response: Client "127.0.0.1", "331 Please specify the password." Tue Jan 20 17:06:57 2015 [pid 13584] [test] FTP command: Client "127.0.0.1", "PASS <password>" Tue Jan 20 17:06:57 2015 [pid 13583] [test] OK LOGIN: Client "127.0.0.1"

безопасный:

Jan 13 17:49:35 localhost vsftpd[10198]: pam_userdb(vsftpd.virtual:auth): user 'test' granted access

Информация:

Fedora 20 3.17.7-200.fc20.x86_64 # 1 SMP среда, 17 декабря, 03:35:33 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux

Вы знаете, что мне нужно изменить, чтобы использовать сервер vsftpd?

Вы входите в систему как пользователь test, и следующие настройки:

user_sub_token=$USER
local_root=/home/back/$USER

сделает домашний каталог виртуального пользователя (т.е. каталог, в который пользователь будет помещен при входе в систему) /home/back/test. Но согласно вашему списку каталогов, этот каталог не существует.

Обратите внимание + в конце . вход. Это означает, что действует альтернативный метод доступа к файлам. Скорее всего, это ACl. Вы можете прочитать ACL, используя

getfacl /home/back

Результат, скорее всего, укажет вам правильное направление для решения проблемы.