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

VSFTPD не разрешает загрузку с виртуальными пользователями

Я пытаюсь настроить VSFTPD с виртуальными пользователями на сервере под управлением Ubuntu 12.04. Я настроил сервер, чтобы разрешить виртуальным пользователям входить в систему, но мне не удается разрешить загрузку. Мой vsftpd.conf выглядит следующим образом:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

chroot_local_user=YES
virtual_use_local_privs=YES
guest_enable=YES
guest_username=virtual
user_sub_token=$USER
local_root=/var/www/$USER
hide_ids=YES

secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

/etc/pam.d/vsftpd содержит:

auth required pam_pwdfile.so pwdfile /etc/vsftpd.passwd crypt=hash
account required pam_permit.so crypt=hash

У меня настроены два виртуальных пользователя, один из которых имеет то же имя, что и локальный пользователь. У каждого из них есть каталог в / var / www /, принадлежащий 'virtual'. Насколько я понимаю, когда виртуальный пользователь входит в систему таким образом, он будет отображаться в системе как виртуальный пользователь. Используя эту конфигурацию, пользователь может войти в систему, но не может загружать файлы. Ошибка, указанная в /var/log/vsftpd.log является:

Tue Nov 20 19:49:00 2012 [pid 2] CONNECT: Client "96.233.116.53"
Tue Nov 20 19:49:07 2012 [pid 1] [zac] OK LOGIN: Client "96.233.116.53"
Tue Nov 20 19:49:11 2012 [pid 2] CONNECT: Client "96.233.116.53"
Tue Nov 20 19:49:11 2012 [pid 1] [zac] OK LOGIN: Client "96.233.116.53"
Tue Nov 20 19:49:11 2012 [pid 3] [zac] FAIL CHMOD: Client "96.233.116.53", "/test.ppm 644"

Я пробовал менять права доступа к этим каталогам разными способами, но ничего не помогало. Такое ощущение, что с разрешениями это что-то простое. Любые идеи?

VSFTP не разрешает загрузку для виртуальных пользователей, вам нужно создать локального пользователя, или вы можете использовать одного пользователя, сопоставленного со всеми виртуальными пользователями, в этом случае вы не можете контролировать разрешение пользователя, проверьте эту ссылку - https://gist.github.com/stas/315765

Каталог существует?

 /var/www/zac

и принадлежит ли эта директория zac?

пытаться:

 mkdir -p /var/www/zac; chown zac /var/www/zac; chmod 600 /var/www/zac;

и загрузите файл снова

Проблема может быть вызвана разрешением каталога, у меня работает vsftpd, как показано ниже:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ftpd_banner=Welcome to blah FTP service.
ls_recurse_enable=NO
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

Попробуйте это для виртуальных пользователей, чтобы разрешить доступ для записи:

virtual_use_local_privs=YES