Proftpd. Настройка квот

Материал из megapuper
Перейти к: навигация, поиск

После настройки Proftpd проверяем, что модуль квот активирован в modules.conf

LoadModule mod_quotatab.c


И добавляем такой блок в proftpd.conf

<IfModule mod_quotatab.c>
QuotaEngine on
QuotaLog /var/log/proftpd/quota.log
QuotaDisplayUnits Mb
QuotaOptions ScanOnLogin
QuotaShowQuotas on
QuotaLimitTable file:/etc/proftpd/quota/ftpquota.limittab
QuotaTallyTable file:/etc/proftpd/quota/ftpquota.tallytab
</IfModule>


Создаём базы для лимитов и даём права

# cd /etc/proftpd/quota
# ftpquota --create-table --type=limit
# ftpquota --create-table --type=tally
# chown proftpd.nogroup ftpquota*


Добавляем квоту в 10 мегабайт для пользователя ftpuser, рестартим сервер и проверяем

# ftpquota --add-record --type=limit --quota-type=user --name=ftpuser --bytes-upload=10 --units=Mb

В proftpd.log

2019-09-17 11:27:12,519 ds01 proftpd[27732] 195.201.243.70 (5.187.65.81[5.187.65.81]): notice: user ftpuser: aborting transfer: Disk quota exceeded

В quota.log

2019-09-17 11:27:12,510 mod_quotatab/1.3.1[27732]: quotatab write(): limit exceeded, returning Disk quota exceeded
2019-09-17 11:27:12,519 mod_quotatab/1.3.1[27732]: STOR: quota reached: used 10.00 of 10.00 upload Mb
2019-09-17 11:27:12,521 mod_quotatab/1.3.1[27732]: STOR: quota reached: '1559912015.15913.wav' removed

Прокатило. Заливка файла остановилась.


Текущие квоты можно посмотреть так

# ftpquota --show-records --type=limit
-------------------------------------------
 Name: ftpuser
 Quota Type: User
 Per Session: False
 Limit Type: Hard
   Uploaded bytes:	10485760.00
   Downloaded bytes:	unlimited
   Transferred bytes:	unlimited
   Uploaded files:	unlimited
   Downloaded files:	unlimited
   Transferred files:	unlimited