Odzkoušeno pod Etch a Lenny
Nejdříve si musíme připravit skupinu a uživatele (jednoho) pod jejichž identitou budou všichni virtuální uživatelé vystupovat. V případě jednoho systému již existovali (ftpgroup a ftpuser), jinak si potřebné vytvoříme.
#
adduser --gid 999 --disabled-password --disabled-login customer
Pak si upravíme konfiguraci serveru v osuboru /etc/proftpd/conf
. Najdeme a zaměníme, či přidáme následující direktivy:
DefaultRoot ~AuthUserFile /etc/proftpd/ftpd.passwd
DirFakeUser on ~
DirFakeGroup on ~
![]() | Zajistí že každý uživatel uvidí svůj adresář jako kořenový. T.j. nemůže se podívat jinam. |
![]() | Umístění souboru se seznamem uživatelů ftp a jejich hesly. |
![]() | Tato dvě direktivy zajistí, že uživatel se vidí jako vlastník souborů. Je to aby nebyly nekteré programy zmateny. |
Nyní máme vše připraveno pro vytváření uživatelů. Každému uživateli vytvoříme domovský adresář který bude vlastnit výše uvedený uživatel ftpuser
ze skupiny ftpgroup
. Například chceme založit virtuánlího uživatele korek
, který si bude spravovat web v adresáři /var/www/korkovo
. Vytvoříme si teda adresář.
#
mkdir /var/www/korkovo
Nezapomeneme nastavit vlastníka tohoto adresáře.
#
chown ftpuser:ftpgroup /var/www/korkovo
A na závěr vytvoříme našemu virtuálnímu uživateli účet s heslem
#
ftpasswd --passwd --name=korek --uid=1004 --gid=108 \
--home=/var/www/korkovo --shell=/bin/bash --file=/etc/proftpd/ftpd.passwd
Části --uid=1004
a --gid=108
identifikují našeho ftpuser a ftpgroup.