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

 

SHARE IT:

Leave a Reply