VSFTPD
FTP server pouze pro lokální uživatele
Následující kapitola se bude zabývat nastavení FTP serveru pouze pro lokální
uživatele, kteří budou mít možnost zápisu do svých domovských adresářů, ale
nebudou mít právo opustit svůj domovský adresář, protože v něm budou tzv.
"chrootováni". Toto nastavení lze samozřejmě libovolně kombinovat s nastavením
pro anonymní uživatele uvedeném výše. Lokální uživatel nemusí mít
nastaven platný shell a někdy je výhodné tohoto faktu využít a nastavit daným
uživatelům shell na /sbin/nologin
, což zajistí, že se nebudou smět přihlásit například přes ssh.
Pro povolení lokálních uživatelů a pro povolení zápisu do jejich domovského adresáře (včetně povolení vytváření adresářů, přejmenování a mazání souborů i adresářů a změny jejich práv) je zapotřebí nastavit minimálně tyto direktivy:
local_enable=YES write_enable=YES
Z hlediska bezpečnosti je dobré omezit uživatelům možnost procházení všech
systémových adresářů a souborů, jenž mají nastaveno právo pro čtení pro
všechny. Toto se obvykle řeší pomocí tzv. chrootu, který uzavře uživatele
v jeho domovském adresáři. Nastavení je jednoduché a provedeme jej pomocí
volby chroot_local_user=YES
. Pokud budeme chtít nějakému
uživateli zrušit chrootování v jeho domovském adresáři, tak jej můžeme umístit
do souboru /etc/vsftpd.chroot_list
(každého uživatele
na samostatný řádek) daném direktivou chroot_list_file
a ještě
musíme povolit volbu chroot_list_enable=YES
. V případě, že
nastavíme výše uvedenou direktivu chroot_local_user=NO
, tak
se soubor
/etc/vsftpd.chroot_list
stane seznamem uživatelů, kteří budou
chrootovaní a všichni ostatní uživatelé neuvedení v tomto souboru chrootovaní
nebudou. Jakou možnost zvolíme záleží podle situace.
Stejně jako u anonymních uživatelů, tak i pro lokální uživatele můžeme
limitovat přenosové rychlosti v Bytech/s a to direktivou
local_max_rate
.
Případně můžeme limitovat maximální počet klientů, kteří se mohou k našemu
FTP serveru současně přihlásit (to platí samozřejmě jak pro lokální,
tak pro anonymní
uživatele) a to direktivou max_clients
nebo
můžeme omezit počet současně přihlášených klientů z jedné IP adresy
k čemuž slouží direktiva max_per_ip
. Tyto dvě volby lze uplatnit
pouze při běhu serveru v tzv. "standalone" módu, tedy při nastavené direktivě
listen=YES
. V případě, že se vsftpd spouští přes xinetd, tak lze
tyto volby nastavit přímo v tomto obslužném démonu.