Problém
Server Vsftp je nově nainstalován a byl uveden do provozu, ale někteří uživatelé k němu nemají přístup, což způsobuje níže uvedenou chybu.
# 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.
Řešení
Příčinou je, že pokud parametr userlist_enable v souboru /etc/vsftpd/vsftpd.conf je ANO a parametr userlist_deny výchozí hodnota je také ANO , pak uživatelské jméno v souboru /etc/vsftpd/user_list dostane ‘530 Oprávnění odepřeno ‘ chyba a ani nepožaduje heslo.
Když je parametr userlist_enable povolen, vsftpd načte uživatelská jména do souboru /etc/vsftpd/userlist_file. Pokud se uživatel pokusí přihlásit pomocí jména v tomto souboru, bude mu odepřeno, než bude požádán o heslo. To může být užitečné při zabránění přenosu hesel s čistým textem.
Parametr userlist_deny bude zkoumán, pokud je aktivován userlist_enable. Pokud toto nastavení nastavíte na NE, uživatelé se budou moci přihlásit, pokud jsou uvedeni v souboru /etc/vsftpd/userlist_file.
Poznámka :Z bezpečnostních důvodů by měl být userlist_enable nastaven na „YES“, protože tento problém lze také vyřešit nastavením „userlist_enable=NO“ v /etc/vsftpd/vsftpd.confTento problém tedy můžeme vyřešit nastavením userlist_deny na NE při aktivaci userlist_enable. Poté vložte povolená uživatelská jména do souboru /etc/vsftpd/user_list a nepovolená uživatelská jména vložte do souboru /etc/vsftpd/ftpusers.
Vysvětlení můžete vidět v manuálu 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
Tyto komentáře můžete také vidět v souboru /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.
Povolení přihlášení místnímu uživateli serveru VSFTP
1. Upravte /etc/vsftpd/vsftpd.conf a nastavte userlist_enable na ANO a userlist_deny na NE .
# vi /etc/vsftpd/vsftpd.conf userlist_enable=YES userlist_deny=NO
2. Upravte /etc/vsftpd/user_list , vložte uživatele (user01), kterému je povoleno se přihlásit do tohoto souboru
# cat /etc/vsftpd/user_list user01
3. Všechny uživatele, kteří nemají povoleno používat ftp, vložte do /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. Restartujte službu vsftpd.
# service vsftpd restart
5. Zkuste ftp znovu s uživatelem – 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. Zkuste také Přihlášení pomocí nepovoleného uživatelského jména, například 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 :Jak povolit nebo zakázat uživatelům přihlášení k serveru VSFTP