Le problème
Le serveur Vsftp vient d'être installé et a été mis en place, mais certains utilisateurs ne sont pas accessibles, ce qui donne l'erreur ci-dessous.
# 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 solution
La cause est que si le paramètre userlist_enable dans le fichier /etc/vsftpd/vsftpd.conf est OUI et le paramètre userlist_deny la valeur par défaut est également OUI , puis le nom d'utilisateur dans le fichier /etc/vsftpd/user_list obtiendra '530 Autorisation refusée ' erreur et ne demande même pas de mot de passe.
Lorsque le paramètre userlist_enable est activé, vsftpd chargera les noms d'utilisateur dans le fichier /etc/vsftpd/userlist_file. Si un utilisateur essaie de se connecter en utilisant un nom dans ce fichier, il sera refusé avant qu'on lui demande un mot de passe. Cela peut être utile pour empêcher la transmission de mots de passe en clair.
Le paramètre userlist_deny sera examiné si userlist_enable est activé. Si vous définissez ce paramètre sur NON, les utilisateurs seront autorisés à se connecter lorsqu'ils seront répertoriés dans le fichier /etc/vsftpd/userlist_file.
Remarque :Pour des raisons de sécurité, userlist_enable doit être défini sur "OUI" car ce problème peut également être résolu en définissant "userlist_enable=NO" dans /etc/vsftpd/vsftpd.confNous pouvons donc résoudre ce problème en définissant userlist_deny à NON lorsque userlist_enable est activé. Ensuite, placez les noms d'utilisateur autorisés dans le fichier /etc/vsftpd/user_list et placez les noms d'utilisateur non autorisés dans le fichier /etc/vsftpd/ftpusers.
Vous pouvez voir l'explication du manuel de 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
Vous pouvez également voir ces commentaires dans le fichier /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.
Autoriser un utilisateur local du serveur VSFTP à se connecter
1. Modifiez /etc/vsftpd/vsftpd.conf et définissez userlist_enable à OUI et userlist_deny à NON .
# vi /etc/vsftpd/vsftpd.conf userlist_enable=YES userlist_deny=NO
2. Modifiez /etc/vsftpd/user_list , mettez l'utilisateur (user01) qui est autorisé à se connecter dans ce fichier
# cat /etc/vsftpd/user_list user01
3. Mettez tous les utilisateurs non autorisés à utiliser le ftp dans /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. Redémarrez le service vsftpd.
# service vsftpd restart
5. Essayez à nouveau ftp avec l'utilisateur - 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. Essayez également de vous connecter avec un ID utilisateur non autorisé, par exemple, 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 :Comment autoriser ou refuser aux utilisateurs de se connecter au serveur VSFTP