由于我已经被告知,如果我的电脑中的用户将创build“无限”数量的文件夹/文件(甚至空)它可以导致我的电脑变得更慢(甚至卡住),我想限制文件的最大数量/用户可以创build的目录。
恐怕一个用户会尝试创build大量的文件,这将成为所有其他用户的问题,所以这将是一个安全问题,我该怎么做,如何限制最大数量每个用户可以创build的文件/目录 ?
这是配额的设计目的。 您可以使用文件系统配额为每个用户和/或每个组执行限制:
inode的数量将基本上限制用户可以创建的文件和目录的数量。
关于如何在许多来源中配置文件系统配额有很多非常好的质量文档,我建议您进一步阅读:
您应该首先在您的文件系统上启用配额检查
修改/ etc / fstab,并将关键字usrquota和grpquota添加到您想要监视的相应文件系统。
以下示例指示在/ home文件系统上启用了用户和组配额检查
# 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
硬限制 – 如果您将2GB指定为硬限制,用户将无法在2GB之后创建新文件
软限制 – 如果您指定1GB为软限制,则一旦达到1GB限制,用户将收到“超出磁盘限额”的警告消息。 但是,他们仍然可以创建新的文件,直到达到硬性限制
最后,如果您希望每天对用户配额进行报告,则可以执行以下操作。
将quotacheck添加到每日cron作业。 在/etc/cron.daily目录下创建一个quotacheck文件,如下所示,每天运行quotacheck命令。 这会将quotacheck命令的输出发送到根邮件地址。
# cat /etc/cron.daily/quotacheck quotacheck -avug