[Sysadmins] pam и vsftpd virtual users

Eugene Prokopiev enp на itx.ru
Пн Мар 26 11:32:30 MSK 2012


Здравствуйте!

Потребовалось завести виртуальных пользователей в vsftpd. Делаю в
соответствии с /usr/share/doc/vsftpd-2.3.5/EXAMPLE/VIRTUAL_USERS/README:

# db_load -T -t hash -f
/usr/share/doc/vsftpd-2.3.5/EXAMPLE/VIRTUAL_USERS/logins.txt
/etc/vsftpd_login.db
# chmod 600 /etc/vsftpd_login.db
# cat >/etc/pam.d/vsftpd << EOF
> auth required pam_userdb.so db=/etc/vsftpd_login
> account required pam_userdb.so db=/etc/vsftpd_login
> EOF
# useradd -d /home/ftpsite virtual
# cp /etc/hosts /home/ftpsite
# chown virtual.virtual /home/ftpsite/hosts
# cat >/etc/vsftpd/conf << EOF
> anonymous_enable=NO
> local_enable=YES
> write_enable=NO
> anon_upload_enable=NO
> anon_mkdir_write_enable=NO
> anon_other_write_enable=NO
> chroot_local_user=YES
> guest_enable=YES
> guest_username=virtual
> listen=YES
> listen_port=10021
> pasv_min_port=30000
> pasv_max_port=30999
> EOF

Запускаю (других средств отладки не нашел):

# strace -f vsftpd

Тестирую:

$ ftp localhost 10021
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.3.5)
Name (localhost:enp): tom
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp>

В выводе strace наблюдаю обращение к /lib64/security/pam_userdb.so и
/lib64/libdb-4.7.so, а затем вместо /etc/vsftpd_login.db сразу к
/etc/pam.d/other и /lib64/security/pam_deny.so. Соответственно,
подозреваю, что в /etc/pam.d/vsftpd я написал что-то не то. Что?

-- 
С уважением,
Прокопьев Евгений


Подробная информация о списке рассылки Sysadmins