电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

如何限制用户目录和硬盘使用空间


发布日期:2021/8/8
 

限制用户目录使用空间

修改/etc/vfstab把需要限制的文件系统的mount options改为rq

到文件系统的顶执行命令touch quotas和chmod quotas

quotaon v a

设定用户可使用的空间(edquota 用户名)

限制用户硬盘使用空间

UNIX作为一种多用户系统它允许多个用户共同使用系统的资源包括系统的内存CPU和硬盘在默认情况下系统并不会限制每个用户可以使用硬盘空间的大小所以如果用户恶意使用硬盘或用户由于疏忽将硬盘空间全部占用将导致其他用户无法使用硬盘从而使系统性能下降甚至有崩溃的危险

其实UNIX提供的quota系列命令可以帮助我们解决这个问题这些命令包括

quota 显示用户的硬盘限额和使用情况

edquota 为每个用户设定硬盘限额

quotaon 启动文件系统硬盘限额服务

quotaoff 关闭文件系统硬盘限额服务

repquota 显示当前硬盘限额状态

配置这项服务的方法很简单但在使用硬盘限额服务之前我们要明白硬限制和软限制这两个概念所谓硬限制是指对资源节点和数据块的绝对限制在任何情况下都不允许用户超过这个限制而软限制是指用户可以在一定时间范围内(默认时为一周在/usr/include/sys/fs/ufs_quotah文件中设置)超过软限制的额度在硬限制的范围内继续申请资源同时系统会在用户登录时给出警告信息和仍可继续申请资源剩余时间如果达到时间期限用户的硬盘使用仍超过软限制的额度则系统将不允许用户再申请硬盘资源

明白了这两个概念我们就可以配置硬盘限额服务了首先我们必须在要限制的文件系统的根目录下建立一名字为quotas的文件该文件的所有者应是root且其它用户不可以对它进行写操作方法是

# cd /home (进入文件系统根目录注意并不是系统根目录本例为/home目录)

# touch quotas(创建一名字为quotas的空文件)

# chmod quotas (更改文件属性使只有root可以对它进行写操作)

然后我们编辑/etc/vfstab文件找到要进行硬盘限额服务的文件系统并将

mount option字段的值设为rq然后并存盘退出

完成这两步后我们使用edquota命令为每个用户设置硬盘限额在root权限下输入以下命令

#edquota username

这时系统会自动生成一个临时文件并且有如下内容

fs /users blocks (soft = hard = ) inodes (soft = hard = )

其中fs字段表明使用硬盘限额的文件系统本例为/usersblock和inodes表明用户可以使用的硬盘千字节数和I节点数即用户可使用的硬盘空间和可建立的文件数soft和hard分别对于前面提及的软限制和硬限制

编辑这个文件把软硬限制设置到合适的数值然后存盘退出这时我们可以看到quotas文件的大小已经被改变说明用户的限额已经储存重复这条命令给每一个用户都配置硬盘限额另外如果我们分配给用户的硬盘限额都相同我们可以使用 p 参数而不用为每个用户都编辑一个文件它的使用方法是

#edquota p referenceusernameusername

编辑完文件后我们就可以用quotaon来启动服务了在root权限下输入

#quotaon /users

就可以启动限额服务如果我们要查看各个用户的当前使用情况可以使用

repquota 命令在root权限下输入

#repquota /users

系统会显示

从中我们可以很容易看到用户的硬盘和文件的使用情况以及超过软限制后仍可申请资源的时间等等

当然我们可以用quotaoff取消硬盘限额服务另外系统还提供quotacheck 命令对限额的一致性进行检查

上一篇:Sun工作站在电子科技大学

下一篇:Huihoo.org发布了JFoxMX的最新版本 1.2