Instalace vsftpd na CentOS7 s podporou virtuálních uživatelů
A protože na centos7 je lecos jinak než na starších verzích, tak si tu pro jistotu sepíšu jak správně nainstalovat vsftpd server.
1. Nejprve uděláme aktualizaci celého systému (je to dobrá praktika):
yum -y update
2. Nainstalujeme vsftpd:
yum -y install vsftpd
3. Ve svém oblíbeném editoru si otevřete /etc/vsftpd/vsftpd.conf
a vložte do něj tuto konfiguraci:
anonymous_enable=NO local_enable=YES virtual_use_local_privs=YES write_enable=YES pam_service_name=vsftpd.virtual allow_writeable_chroot=YES # Aktivace virtualnich uzivatelu guest_enable=YES guest_username=ftp chroot_local_user=YES user_sub_token=$USER #local_root=/var/vhosts/$USER local_root=/mnt/ftproot listen=YES # konfigurace pasivního režimu pasv_enable=Yes pasv_max_port=10100 pasv_min_port=10090
4. v cestě /etc/vsftpd
vytvořte soubor vusers.txt
a v editoru do něj napište seznam uživatelu a hesel v nasledujícím formátu:
Uzivatel_dulik Dulikovo_heslo Uzivatel_bulik Bulikovo_heslo Uzivatel_kulik Kulikovo_heslo
5. Vytvořte databázi s hesly pomocí tohoto příkazu:
db_load -T -t hash -f vusers.txt vsftpd-virtual-user.db
chmod 600 vsftpd-virtual-user.db
6. vytvořte soubor /etc/pam.d/vsftpd.virtual
a vložte do něj:
#%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user account required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user session required pam_loginuid.so
7. Nastavte vlastnictví cílových adresářů:
chown -R ftp:ftp /mnt/ftproot/
8. Vytvořte pravidla pro firewall
iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
9. zapněte a nastavte aut. start ftp serveru:
systemctl start vsftpd
systemctl enable vsftpd
10. pokud něco nefunguje tak zvažte:
setsebool -P ftp_home_dir 1
setsebool -P allow_ftpd_full_access on
Nějaké ty komentáře