36.1.1. Virtuální účty

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                     ~                          (1)
AuthUserFile                    /etc/proftpd/ftpd.passwd   (2)
DirFakeUser                     on      ~                  (3)
DirFakeGroup                    on      ~
1

Zajistí že každý uživatel uvidí svůj adresář jako kořenový. T.j. nemůže se podívat jinam.

2

Umístění souboru se seznamem uživatelů ftp a jejich hesly.

3

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.