Здравствуйте.
Установил Fedora 41 (оф. Fedora-Everything-netinst-x86_64-41-1.4.iso) с предлагаемым в установке минимальным набором утилит. Добавил vsftpd (текущая, предлагаемая из оф. репозиториев - version 3.0.5) Сконфигурировал для двух виртуальных пользователей по прилагаемой к пакету vsftpd инструкции (/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/README) . При попытке соединения получаю
в журнале:
vsftpd[1492]: pam_userdb(ftp:auth): user_lookup: could not open database `/etc/vsftpd/login': No such file or directory
в log-файле:
Fri Dec 20 12:24:38 2024 [pid 1201] CONNECT: Client "127.0.0.1"
Fri Dec 20 12:24:38 2024 [pid 1201] FTP response: Client "127.0.0.1", "220 Welcome FTP service."
Fri Dec 20 12:24:46 2024 [pid 1201] FTP command: Client "127.0.0.1", "USER user"
Fri Dec 20 12:24:46 2024 [pid 1201] [user] FTP response: Client "127.0.0.1", "331 Please specify the password."
Fri Dec 20 12:24:52 2024 [pid 1201] [user] FTP command: Client "127.0.0.1", "PASS <password>"
Fri Dec 20 12:24:52 2024 [pid 1200] [user] FAIL LOGIN: Client "127.0.0.1"
Fri Dec 20 12:24:53 2024 [pid 1201] [user] FTP response: Client "127.0.0.1", "530 Login incorrect."
Fri Dec 20 12:24:53 2024 [pid 1201] FTP command: Client "127.0.0.1", "SYST"
Fri Dec 20 12:24:53 2024 [pid 1201] FTP response: Client "127.0.0.1", "530 Please login with USER and PASS."
Fri Dec 20 12:27:00 2024 [pid 1201] FTP command: Client "127.0.0.1", "QUIT"
Fri Dec 20 12:27:00 2024 [pid 1201] FTP response: Client "127.0.0.1", "221 Goodbye."
Непосредственно сама попытка:
$ ftp localhost
Trying ::1...
ftp: connect to address ::1В соединении отказано
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 Welcome FTP service.
Name (localhost:LaLe): user
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> quit
221 Goodbye.
Найти решение с помощью гугла не удалось. Поэтому установил Fedora 31
(Linux fc31x64-local 5.8.18-100.fc31.x86_64 #1 SMP Mon Nov 2 20:32:55 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux) и vsftpd-3.0.3-32.fc31.x86_64 , так же сконфигурировал для двух виртуальных пользователей. Получив удовлетворительный результат работы ftp-сервера, решил для себя (вдруг и неожиданно), что проблема не в vsftpd, а в пакете pam. Это была просто догадка. Взял из Fedora 31 файл pam_userdb.so и положил его в установленную Fedora 41 (/etc/vsftpd/lib/pam_userdb.so). В установленной Fedora 41 изменил путь к этому файлу (pam_userdb.so) в /etc/pam.d/ftp , указав на добавленный файл из Fedora 31, и получил удовлетворительный результат работы виртуальных пользователей и ftp-сервера в целом.
В Fedora 41 файл /usr/lib64/security/pam_userdb.so принадлежит пакету pam-1.6.1-7.fc41.x86_64
В Fedora 31 файл /usr/lib64/security/pam_userdb.so принадлежит пакету pam-1.3.1-25.fc31.x86_64
Программа vsftpd-3.0.5-8.fc41.x86_64 из Fedora 41 с прилагаемым вариантом конфигурации для виртуальных пользователей не работает при использовании необходимого pam_userdb.so непосредственно из дистрибутива, но успешно работает при использовании этого файла из пакета pam ниже версией.
Можно ли как-нибудь точнее определить причину почему так? Или, может быть, в инструкции (примере) по конфигурированию виртуальных пользователей из пакета vsftpd v.3.0.5 что-то не учли такого, имеющегосся в пакете pam-1.6.1-7.fc41.x86_64, чего не было в предыдущих версиях? Прошу понять (простить), но как-то не очень-то здорово притаскивать файло из старых пакетов. Спасибо за понимание.