Не могли бы вы помочь мне с сервером 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
Результат, скорее всего, укажет вам правильное направление для решения проблемы.