Я хочу настроить www-data
пользователя для vsftpd и установить его корневой каталог в /somepath/www-data/project
.
Как я могу это сделать?
решение1
Страница руководства vsftpd находится здесьздесь. Также проверьтепример каталогапоказаны различные возможные конфигурации FTP.
Реальные пользователи
Если вы хотите, чтобы реальный пользователь системы имел доступ к FTP, вам придется установить опциюlocal_enable=Да. Но если вы это сделаете, все ваши пользователи автоматически смогут войти через FTP. Поэтому может быть хорошей идеей настроить белый список пользователей FTP, установивuserlist_enable=Да,userlist_deny=Нети указав 'файл_списка_пользователей'. Если вы хотите заблокировать пользователей в их домашних каталогах, вы можете установитьchroot_local_user=Да
минимальный пример /etc/vsftpd.conf:
# Access rights
anonymous_enable=NO
local_enable=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
write_enable=YES
Виртуальные пользователи
Vsftpd также поддерживает виртуальных пользователей через интеграцию PAM.guest_enable=Дав /etc/vsftpd.conf. Это имеет эффект сопоставления каждого неанонимного успешного входа с локальным именем пользователя, указанным в 'имя_пользователя_гостя'. Затем используйте PAM и (например) его модуль pam_userdb для обеспечения аутентификации по внешнему (т.е. не /etc/passwd) репозиторию пользователей. Я никогда лично не использовал эту конфигурацию, но есть примеры настроек виртуальных пользователей впример каталога.
решение2
Сначала войдите в систему как root: sudo -i.
Затем, чтобы добавить пользователя: useradd -d /somepath/www-data/project -m user
После этого этот пользователь сможет войти в систему.