vsftpd + виртуальные пользователи


Делал все на arch. Авторизация пользователей - через pam.d/vsftpd

Файл /etc/vsftpd/allow:

ftpuser

Файл /ect/vsftpd/passwd:

ftpuser:$1$5PQGwtoh$WanpiH9ffkSfdA77HHvop.

Файл /etc/pam.d/vsftpd:

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

И главный конфиг /etc/vsftpd.conf:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=007
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
ftpd_banner=Welcome to BIGMONSTER FTP service.
chroot_local_user=YES
allow_writeable_chroot=YES
listen=YES
pam_service_name=vsftpd
userlist_file=/etc/vsftpd/allow
userlist_enable=YES
userlist_deny=NO
seccomp_sandbox=NO
local_root=/main/FTP/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
guest_enable=YES
guest_username=ftp

На что обратить внимание:

- В системе должен быть пользователь "для подстановки" - "ftp" с домашним каталогом /srv/ftp
- Новые пользователи записываются в текстовый файл /etc/vsftpd/passwd, им создаётся
  каталог /srv/ftp/$USER, а вот пароль делается командой: openssl passwd -1
- vsftpd понимает bind-ссылки, поэтому в качестве ресурсов для публикации - можно
  сделать "mount --bind" необходимых ресурсов из рабочей системы, не прибегая к их копированию
- vsftpd прост, но умеет TLS и значит поддерживает ftps:// - а это очень важно!

#