Установите квоты дискового пространства в соответствии с динамическим бэкэндом в Linux

В настоящее время я настраиваю машину, которая включает в себя множество учетных записей пользователей из динамического бэкэнда (база данных MySQL). Я успешно настроил систему так, чтобы она использовала этот бэкэнд для всех операций, связанных с учетной записью (аутентификация, сеанс, управление паролями, ...), но теперь я хотел бы установить квоты для всех этих пользователей.

Теперь, когда речь идет о квотах в Linux, я обычно использую файлы квот:

  1. Активируйте квоты в данной файловой системе.
  2. Создать aquota.user файл в корне ФС и перемонтирование.
  3. использование quotacheck, quotaon, quotaoff а также edquota настроить все.

Теперь проблема в том, что эти файлы квот являются статическими, в то время как многие из моих пользователей UNIX динамически хранятся в моей базе данных. Это означает, что когда пользователь добавляется через этот бэкэнд, мне нужно, чтобы квоты (также хранящиеся в базе данных) были применены к нему немедленно. Поскольку новые пользователи могут быть добавлены в любой момент, мне не хочется каждый раз подключаться к серверу, чтобы редактировать информацию о квоте для нового пользователя...

Есть ли способ хранить информацию о квотах в динамическом бэкэнде, как и другие виды информации, связанной с аккаунтом? Или есть более "общий / типичный" способ достижения таких результатов, о котором я не думаю?

(Немного предыстории) Эти пользователи, хранящиеся в базе данных MySQL, имеют собственный домашний каталог и могут получить к нему доступ через FTP. Все, что они там хранят, становится доступным через веб-сервер (общий хостинг), и хотя могут использоваться сценарии PHP, они запускаются с идентификатором их владельца (suPHP). Дело в том, что файл квоты PureFTPd (.ftpquota) также принадлежит подключающемуся пользователю: хотя этот файл по-прежнему невозможно удалить через FTP, его можно выполнить с помощью сценария PHP, работающего с аналогичными привилегиями. Поэтому я ищу более "надежный" способ применения квот, то есть не через FTP-сервер, который может быть обманут, чтобы предоставить больше дискового пространства, чем было изначально предоставлено.

На этой машине установлен Linux Debian Wheezy с PureFTPd в качестве FTP-сервера и Apache в качестве веб-сервера. Учетные записи хранятся в базе данных MySQL и связаны с системой через libnss-mysql (поиск информации о счете) и pam-mysql (управление аккаунтом). Все в доме пользователя принадлежит этому пользователю и, следовательно, может быть изменено этим самым пользователем.

0 ответов

Другие вопросы по тегам