ProFTPd
Z Wiki UnArt Slavičín
Nastavení limitů pro jednotlivé uživatele u serveru ProFTPd je v Debianu od verze 4 (Etch) možné udělat pomocí databáze v souboru, MySQL nebo LDAP. Tutorial na ProFTPd+MySQL máte zde, pokud potřebujeme omezit pouze anonymní FTP, použijeme nejspíš databázi v souboru, k čemuž můžete využít např. následující postup:
- Vytvoříme si adresář, v kterém budou soubory s kvótami, např. takto:
mkdir /usr/local/proftpd
- V tomto adresáři vytvoříme soubory s kvótami takto:
ftpquota --create-table --type=limit ftpquota --create-table --type=tally
Výstupem těchto 2 příkazů jsou binární soubory - "databázové tabulky": ftpquota.limittab a ftpquota.tallytab
- ftpquota.limittab obsahuje databázi omezení jednotlivých uživatelů, skupin nebo tříd, zatímco ftpquota.tallytab obsahuje aktuální stav velikosti/přenosu dat omezených uživatelů.
- Oba soubory by možná měl mít ve vlastnictví uživatel, pod kterým jede proftpd, v Debianu je to "ftp" (tento krok nevím, zda je potřeba):
chown ftp /usr/local/proftpd/*
- Vytvoříme v obou souborech záznamy o omezeních jednodtlivých uživatelů - pokud máme pouze anonymní účet, stačí pro uživatele "ftp" (pozn.: hodnota XXX je maximální prostor pro upload v Gbajtech, YYY je aktuální velikost všech uploadovaných souborů - taktéž v GB - tu si zjistíte např. pomocí příkazu "du -hs /home/ftp"):
ftpquota --add-record --type=limit --name=ftp --quota-type=user --bytes-upload=XXX --units=Gb ftpquota --add-record --type=tally --name=ftp --quota-type=user --bytes-upload=YYY --units=Gb
- Tak a teď už stačí jen zapnout kvóty v konfiguračním souboru /etc/proftpd.conf doplněním následujících řádek:
<IfModule mod_quotatab.c> QuotaEngine on QuotaDisplayUnits "Gb" QuotaDirectoryTally on QuotaLog /var/log/quota.log QuotaShowQuotas on QuotaLimitTable file:/usr/local/proftpd/ftpquota.limittab QuotaTallyTable file:/usr/local/proftpd/ftpquota.tallytab <IfModule mod_quotatab.c>
- a restartovat proftpd:
/etc/init.d/proftpd restart
- Od té chvíle už by kvóty měly fungovat,což si můžeme ověřit po připojení v FTP klientovi (např. Total Commander) příkazem:
SITE QUOTA
- Na straně serveru je možné stav kvót vypsat příkazem
ftpquota --show -type=tally ftpquota --show -type=limit
- pokud budete chtít zvýšit limit kvóty např. na 80GB, uděláte to na serveru příkazem:
ftpquota --update-record --type=limit --name=ftp --quota-type=user --bytes-upload=80 --units=Gb
- Po změně kvoty příkazem ftpquota není nutné restartovat proftpd!