2016-04-27 4 views
2

Поскольку мне сказали, что если пользователь на моем компьютере создаст «бесконечное» количество папок/файлов (даже пустых), это может привести к тому, что мой компьютер будет становятся намного медленнее (даже застряли), я хочу ограничить максимальное количество файлов/каталогов, которые пользователь может создать.Как ограничить максимальное количество папок, которые пользователь может создать в linux

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

+0

какую файловую систему вы используете? это ext4? Я предполагаю, что, поскольку вы сказали неограниченное – jgr208

+1

, это то, к чему используется квота. – jgr208

ответ

1

Это то, к чему предназначены квоты. Вы можете использовать квоты файловой системы для обеспечения соблюдения ограничений для каждого пользователя и/или группу для:

  • объем пространства размер диска, который может быть использован
  • число блоков, которые могут быть использованы
  • в количество инодов, которые могут быть созданы.

Количество индексов существенно ограничит количество файлов и каталогов, которые пользователь может создать.

Существует обширная, очень хорошее качество документации о том, как настроить квоты файловой системы во многих источниках, которые я предлагаю вам прочитать далее:

+0

Спасибо, это именно то, что мне нужно –

2

Вы должны сначала включить проверку квот на вашей файловой системе

Изменить/и т.д./Fstab и добавьте usrquota ключевых слов и grpquota к соответствующей файловой системы, которую вы хотите контролировать.

Следующий пример показывает, что оба пользователя и группу Квота проверки включена/домашней файловой системы

# cat /etc/fstab 
LABEL=/home /home ext2 defaults,usrquota,grpquota 1 2 

перезагрузки после того, как это делается.

После того, как вы включили проверку квоты на диске в файловой системе, сначала собирайте всю информацию о квотах, как показано ниже.

# quotacheck -avug 
quotacheck: Scanning /dev/sda3 [/home] done 
quotacheck: Checked 5182 directories and 31566 files 
quotacheck: Old file not found. 
quotacheck: Old file not found. 

Теперь, используя команду edquota, как показано ниже, можно редактировать информацию о квотах для конкретного пользователя.

Например, чтобы изменить квоту диска для пользователя «ramesh», используйте команду edquota, которая откроет мягкие, жесткие предельные значения в редакторе, как показано ниже.

# edquota ramesh 

Disk quotas for user ramesh (uid 500): 
    Filesystem   blocks  soft  hard  inodes  soft  hard 
    /dev/sda3   1419352   0   0  1686  0  0 

жесткий предел - если указать 2Гб как жесткий лимит, пользователь не сможет создавать новые файлы после того, как 2 Гб

Мягкий предел - если вы укажете 1Гб, как мягкое ограничение, пользователь будет получить предупреждающее сообщение «превышение дисковой квоты», как только они достигнут лимита в 1 ГБ. Но они все равно смогут создавать новые файлы, пока не достигнут жесткого ограничения.

Наконец, если вы хотите получать отчет каждый день по квоте пользователей, вы можете сделать следующее.

Добавить квочук в ежедневное задание cron. Создайте файл quotacheck, как показано ниже, в каталоге /etc/cron.daily, который будет запускать команду quotacheck каждый день. Это отправит вывод команды quotacheck в корневой адрес электронной почты.

# cat /etc/cron.daily/quotacheck 
quotacheck -avug 
+1

Ему действительно нужен предел inode, а не предел блока. Но это действительно вопрос RTFM. – o9000

 Смежные вопросы

  • Нет связанных вопросов^_^