1 Achtergrondanalyse Ubuntu-installatie VSFTPD wordt over het algemeen gebruikt:
Mijn centOS-serviceversie is als volgt:
[wortel@itsvse~]# VSFTPD -versie
vsftpd: version 3.0.2
Na het bekijken van de configuratie van andere online tutorials, als het account, wachtwoord en de thuismap correct zijn, kun je het probleem van account-inlogprompt 530 Login verkeerd tegenkomen. Er zijn veel oplossingen op het internet, zoals het aanpassen van het /etc/vsftpd.conf-bestand om pam_service_name=vsftpd te veranderen in pam_service_name=ftp, wat dit probleem kan oplossen, maar deze methode is eigenlijk fout.Dit komt omdat het bestand /etc/pam.d/ftp niet bestaat, gelijk aanomzeilde PAM。
2 vsftpd PAM-bestandsanalyse
/etc/pam.d/vsftpd 默认如下
#%PAM-1.0 sessie-optioneel pam_keyinit.dus forceer intrekken authenticatie vereist pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed Authenticatie vereist pam_shells.so authenticatie inclusief wachtwoord-auth Account bevat wachtwoord-authenticatie Sessie vereist pam_loginuid.so sessies includen wachtwoord-authenticatie Er zijn dingen die 530-fouten kunnen veroorzaken
Auth vereist pam_listfile.dus item=user sense=deny file=/etc/ftpusers onerr=succeed
en
Authenticatie vereist pam_shells.so
2.1 /etc/ftpusers
Auth vereist pam_listfile.dus item=user sense=deny file=/etc/ftpusers onerr=succeed De betekenis van dit configuratie-item is dat gebruikers in /etc/ftpusers niet mogen inloggen als het bestand niet in de standaard staat, mogen alle gebruikers inloggen. Zorg er dus voor dat de gebruiker niet in dit bestand staat.
2.2 pam_shells.so
Auth vereist pam_shells.so configuratie-item met shell-commando's in het bestand
kat /etc/schelpen # /etc/shells: geldige loginshells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash Bij het aanmaken van een FTP-gebruiker,Om SSH-login uit te schakelen, meestal /bin/false, /usr/sbin/nologinenzovoort, natuurlijk geen geldige bash, dus je kunt niet inloggen.
3 Oplossing
1. Controleer /etc/ftpusers om zeker te zijn dat het account niet in dit bestand staat. 2. Wijzig /etc/pam.d/vsftpd Wijziging van authenticatie vereist pam_shells.so naar ->auth vereist pam_nologin.so (Of reageer op deze regel) 3. Herstart vsftpd
(Einde)
|