ProFTPd

Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledává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!