Я пытаюсь настроить сервер 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
Кто-нибудь может увидеть, что мне не хватает? Спасибо.
vi /etc/pam.d/vsftp
комментарий # требуется аутентификация pam_shells.so
а потом
service vsftpd restartpam_shells.so means that only users with shells access should be allowed so that's why needs to be commented.
В моем случае я решил ту же проблему со следующим:
vi /etc/pam.d/vsftpd
командная строка #auth включает system-auth
затем
перезапуск службы vsftpd
Это не правильный ответ, а стратегия, которая, как я нашел, хорошо мне служит:
Начните комментировать строки в своем /etc/pam.d/vsftp
файл и посмотрите, позволяет ли он вам войти (и когда). PAM намеренно разработан, чтобы сообщать только об успехе или неудаче, но не о причинах.
в вашей системе только один ftp-сервер? У меня были похожие проблемы, а затем я посмотрел глубже и обнаружил, что было установлено два конфликтующих сервера ftp. Я удалил один, и проблема была устранена.
Если вы выполнили «yum install vsftpd», вам не придется возиться с файлами pam (что-то обычно не так, когда вы начинаете возиться с PAM).
Если это не так, запустите chkconfig --list | grep ftp и посмотрите, что появится (посмотрите, появляется ли там vsftpd - если нет, то может быть что-то не так с установкой).
И мое последнее предложение - запустить yum update.
Есть ли у пользователя действующая оболочка? Думаю, он должен быть в списке / etc / shells. Пользователь определенно не файл / etc / vsftpd / ftpusers?
Убедитесь, что вы определенно редактируете /etc/vsftpd/vsftpd.conf, который укусил меня на CentOS, я редактировал /etc/vsftpd.conf.
vsftpd может быть немного неудобным и не очень хорошо сообщает об ошибках. Придерживайтесь этого. Я рвал волосы из-за очень похожей проблемы, это всегда простое решение.
vi / etc / passwd / bin / bash для вашего пользователя