Il problema
Il server Vsftp è stato appena installato ed è stato attivato, ma non è possibile accedervi da parte di alcuni utenti che danno l'errore mostrato di seguito.
# service vsftpd status vsftpd (pid 5806) is running...
# ftp localhost Connected to localhost.localdomain. 220 (vsFTPd 2.0.5) 530 Please login with USER and PASS. KERBEROS_V4 rejected as an authentication type Name (localhost:oracle): user 530 Permission denied. Login failed.
La soluzione
La causa è che se il parametro userlist_enable nel file /etc/vsftpd/vsftpd.conf è SI e il parametro userlist_deny anche il valore predefinito è SI , quindi il nome utente nel file /etc/vsftpd/user_list riceverà "530 Autorizzazione negata ' errore e non richiede nemmeno una password.
Quando il parametro userlist_enable è abilitato, vsftpd caricherà i nomi utente nel file /etc/vsftpd/userlist_file. Se un utente tenta di accedere utilizzando un nome in questo file, verrà negato prima che gli venga richiesta una password. Ciò può essere utile per impedire la trasmissione di password in chiaro.
Il parametro userlist_deny verrà esaminato se userlist_enable è attivato. Se imposti questa impostazione su NO, gli utenti potranno accedere quando sono elencati nel file /etc/vsftpd/userlist_file.
Nota :Per motivi di sicurezza, userlist_enable dovrebbe essere impostato su "YES" poiché questo problema può essere risolto anche impostando "userlist_enable=NO" in /etc/vsftpd/vsftpd.confQuindi, possiamo risolvere questo problema impostando userlist_deny a NO quando userlist_enable è attivato. Quindi inserisci i nomi utente consentiti nel file /etc/vsftpd/user_list e inserisci i nomi utente non consentiti nel file /etc/vsftpd/ftpusers.
Puoi vedere la spiegazione dal manuale di vsftpd.conf.
$ man vsftpd.conf userlist_deny This option is examined if userlist_enable is activated. If you set this setting to NO, then users will be denied login unless they are explicitly listed in the file specified by userlist_file. When login is denied, the denial is issued before the user is asked for a password. userlist_enable If enabled, vsftpd will load a list of usernames, from the filename given by userlist_file. If a user tries to log in using a name in this file, they will be denied before they are asked for a password. This may be useful in preventing cleartext passwords being transmitted. See also userlist_deny. Default: NO
Puoi anche vedere questi commenti nel file /etc/vsftpd/user_list .
# vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied.
Consentire a un utente locale del server VSFTP di accedere
1. Modifica /etc/vsftpd/vsftpd.conf e imposta userlist_enable a SÌ e userlist_deny a NO .
# vi /etc/vsftpd/vsftpd.conf userlist_enable=YES userlist_deny=NO
2. Modifica /etc/vsftpd/user_list , inserisci l'utente (user01) a cui è consentito accedere in questo file
# cat /etc/vsftpd/user_list user01
3. Metti tutti gli utenti non autorizzati a eseguire l'ftp in /etc/vsftpd/ftpusers .
# cat ftpusers # Users that are not allowed to login via ftp root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody
4. Riavvia il servizio vsftpd.
# service vsftpd restart
5. Riprova ftp con user – user01.
$ ftp localhost Connected to localhost.localdomain. 220 (vsFTPd 2.0.5) 530 Please login with USER and PASS. 530 Please login with USER and PASS. KERBEROS_V4 rejected as an authentication type Name (localhost:root): user01 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp>
6. Prova anche ad accedere tramite ID utente non consentito, ad esempio root.
# ftp localhost Connected to localhost.localdomain. 220 (vsFTPd 2.0.5) 530 Please login with USER and PASS. 530 Please login with USER and PASS. KERBEROS_V4 rejected as an authentication type Name (localhost:root): root 530 Permission denied. Login failed. ftp>CentOS / RHEL:come consentire o negare agli utenti di accedere al server VSFTP