Управление доступом ftp с помощью vsftpd

Я предваряю это тем, что я немного новичок с linux и особенно с vsftpd. Тем не менее, я настроил его так, чтобы я мог загружать файлы в VPS, которые я установил. Единственная проблема в том, что я не мог создавать каталоги. Я установил vsftpd, чтобы запретить анонимным пользователям, но разрешить виртуальным пользователям подключаться к их локальным учетным данным. На этом этапе сообщение об ошибке, когда я попытался создать папку, изменился с «550: Создать каталог с ошибкой» (я перефразирую) до «550: Permission denied». root владеет папкой / var / www, а пользователь, с которым я прошел проверку подлинности, имел права на чтение и выполнение, но не писал, поэтому имеет смысл, что я не смогу создавать папки или файлы.

На этом этапе я попытался использовать chown и chmod для рекурсивного изменения права собственности группы на группу, в которой находился мой пользователь, и дать моему пользователю право на запись. Сначала это сработало – в сеансе SSH я смог записать cd в / var / www и создать новый каталог. Однако, когда я пытался войти в систему с моим ftp-клиентом, мне теперь отказали в доступе.

Что еще более странно, когда я проверил /var/log/vsftpd.log, я вижу следующие строки:

Mon Jan 5 00:03:25 2015 [pid 801] CONNECT: Client "73.53.82.111" Mon Jan 5 00:03:25 2015 [pid 800] [gradinafrica] OK LOGIN: Client "73.53.82.111" 

… хотя логин не работает. Что происходит?

EDIT (дополнительная информация): ОС: Ubuntu 14.04 Архитектура: виртуальный частный сервер (?)

Когда я настраивал сервер, я запретил вход в систему как root (как рекомендовано несколькими источниками) и настроил другого пользователя – «gradinafrica» – который я добавил в группу sudo. Я пытаюсь использовать эту учетную запись для ftp. Я вообще не работал с sftp.

Вот содержимое vsftpd.conf (комментарии опущены):

 listen=YES anonymous_enable=NO local_enable=YES virtual_use_local_privs=YES anon_upload_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES local_root=/var/www/ secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key и listen=YES anonymous_enable=NO local_enable=YES virtual_use_local_privs=YES anon_upload_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES local_root=/var/www/ secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key 

Если вам необходимо получить разрешение на запись для вашей учетной записи пользователя в / var / www / конкретном пользователе, вы хотите быть членом группы apache или www-data в соответствии с вашей операционной системой.

 write_enable=YES 

Используйте это только в том случае, если вы добавили пользователя с веб-корневым каталогом в качестве домашней директории

 allow_writeable_chroot=YES