Próbuję skonfigurować serwer vsftpd na CentOS 5.3 x64. Nie mogę uzyskać dostępu do lokalnego loginu użytkownika. Oto mój 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
Oto wynik 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."
Wyjście bezpiecznego dziennika:
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
Wygląda na to, że pam nie uwierzytelnia użytkownika. Oto mój plik /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
Czy ktoś może zobaczyć to, za czym tęsknię? Dzięki.
Odpowiedzi:
komentarz #auth wymaga pam_shells.so
i wtedy
pam_shells.so oznacza, że tylko użytkownicy z dostępem do powłoki powinni być dozwoleni, dlatego należy je komentować.źródło
W moim przypadku rozwiązałem ten sam problem z następującymi:
vi /etc/pam.d/vsftpd
linia komentarza #auth zawiera autoryzację systemu
następnie
usługa vsftpd restart
źródło
To nie jest właściwa odpowiedź, ale strategia, która moim zdaniem dobrze mi służy:
Zacznij komentować linie w swoim
/etc/pam.d/vsftp
pliku i sprawdź, czy (i kiedy) pozwala się zalogować. PAM jest zaprojektowany celowo, aby zgłaszać tylko sukces lub porażkę, a nie przyczynę.źródło
czy masz tylko jeden serwer ftp w swoim systemie? Miałem podobne problemy, a potem nisko i oto zagłębiłem się w problem i były zainstalowane dwa serwery ftp, które były w konflikcie. Odinstalowałem jeden i problem został rozwiązany.
Jeśli zrobiłeś „mniam zainstalować vsftpd”, nie powinieneś bałagać się plikami pam (coś zwykle jest nie tak, kiedy zaczynasz bałagan w PAM).
Jeśli to nie to, uruchom chkconfig --list | grep ftp i zobacz, co się pojawi (sprawdź, czy pojawia się tam vsftpd - jeśli nie, coś może być nie tak z instalacją).
I moją ostatnią propozycją byłoby uruchomienie aktualizacji yum.
źródło
Czy użytkownik ma prawidłową powłokę? Myślę, że to musi być na liście / etc / shells. Czy użytkownik zdecydowanie nie jest plikiem / etc / vsftpd / ftpusers?
Upewnij się, że zdecydowanie edytujesz plik /etc/vsftpd/vsftpd.conf, który mnie ugryzł na CentOS. Edytowałem /etc/vsftpd.conf.
vsftpd może być trochę kłopotliwy i nie jest świetny w zgłaszaniu błędów. Trzymaj się tego, odrywałem włosy z bardzo podobnym problemem, to zawsze proste rozwiązanie.
źródło
vi / etc / passwd / bin / bash dla użytkownika
źródło