Я пытаюсь настроить сервер vsftpd на CentOS 5.3 x64. Я не могу заставить работать любой логин локального пользователя. Вот мой vsftpd.conf:
local_enable=YES
write_enable=YES
pam_service_name=vsftpd
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
xferlog_std_format=NO
log_ftp_protocol=YES
chroot_local_user=YES
Вот вывод файла vsftp.log:
Mon Sep 13 23:34:44 2010 [pid 19243] CONNECT: Client "10.0.1.138"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP response: Client "10.0.1.138", "220 (vsFTPd 2.0.5)"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP command: Client "10.0.1.138", "USER dwelch"
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "331 Please specify the password."
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP command: Client "10.0.1.138", "PASS <password>"
Mon Sep 13 23:34:44 2010 [pid 19242] [dwelch] FAIL LOGIN: Client "10.0.1.138"
Mon Sep 13 23:34:45 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "530 Login incorrect."
И вывод безопасного журнала:
Sep 13 17:40:50 intra vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=dwelch rhost=10.0.1.138 user=dwelch
Похоже, PAM не аутентифицирует пользователя. Вот мой файл /etc/pam.d/vsftp:
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
Кто-нибудь может увидеть, что мне не хватает? Благодарю.
Ответы:
комментарий #auth требуется pam_shells.so
а потом
pam_shells.so означает, что только пользователям с доступом к оболочкам должен быть разрешен доступ, поэтому необходимо комментировать.источник
В моем случае я решил ту же проблему со следующим:
vi /etc/pam.d/vsftpd
строка комментария #auth include system-auth
тогда
перезапуск службы vsftpd
источник
Это не правильный ответ, но стратегия, которую я нашел, чтобы служить мне хорошо:
Начните комментировать строки в вашем
/etc/pam.d/vsftp
файле и посмотрите, позволит ли (и когда) вам войти в систему. PAM разработан специально, чтобы сообщать только об успехе или неудаче, а не о причине.источник
у вас есть только один FTP-сервер в вашей системе? У меня были подобные проблемы, а затем я увидел, что я углубился в проблему, и было установлено два ftp-сервера, которые конфликтовали. Я удалил один, и проблема была исправлена.
Если вы выполнили 'yum install vsftpd', вам не нужно связываться с файлами pam (что-то обычно не так, когда вы начинаете связываться с PAM).
Если это не так, запустите chkconfig --list | grep ftp и посмотрите, что произойдет (посмотрите, есть ли там vsftpd - если нет, то может быть что-то не так с установкой).
И мое последнее предложение было бы запустить ням-обновление.
источник
У пользователя есть действительная оболочка? Я думаю, что это должно быть в списке / etc / shells. Пользователь определенно не файл / etc / vsftpd / ftpusers?
Удостоверьтесь, что вы определенно редактируете /etc/vsftpd/vsftpd.conf, который мне понравился в CentOS, я редактировал /etc/vsftpd.conf.
vsftpd может быть немного сложным и не очень хорош в сообщении об ошибках. Придерживайтесь этого, я рвал на себе волосы с очень похожей проблемой, это всегда простое решение.
источник
vi / etc / passwd / bin / bash для вашего пользователя
источник