Лучше ограничить использование дискового пространства пользователя на уровне приложения без использования инструментов уровня ОС.
В качестве простого примера добавьте поля disk_quota
и current_disk_usage
в модель пользователя, обновите current_disk_usage
после каждой успешной загрузки файла.Перед каждой загрузкой файла генерируйте исключение, если размер загружаемого файла + current_disk_usage
> disk_quota
.
Это гораздо более универсальный и кроссплатформенный подход.Таким образом, вы не ограничиваетесь использованием ОС Linux, можете хранить свои файлы и серверы приложений на разных компьютерах, можете хранить свои файлы в Amazon S3 и т. Д. Кроме того, это намного удобнее в обслуживании.