如何限制Linux用户的磁盘空间(ext3)

本文旨在提供一个思路给大家来参考,所以是针对用户磁盘空间的限制(ext3),作为服务器的使用,对于">虚拟主机用户的管理及磁盘空间的分配这些工作是必不可少的,所以清楚如何去限制与管理用户的磁盘空间也就显得尤为重要啦!

1. 修改 /etc/fstab 文件.在文件系统相应的 mount 命令行中加入限额选项(如下的例子)。

/dev/hda7 /home ext3 defaults,usrquota,grpquota 1 2

2. 重新装载 Linux 分区,例如:
 
[root@fileserver root]# mount -o remount /home
继续。

3. 在欲加磁盘限额的文件系统的安装点目录建立 aquota.user 和 aquota.group 文件:

[root@fileserver root]# cd /home (/home 为单个分区 /dev/hda7 的装载点)
[root@fileserver home]# touch aquota.user (为用户设置磁盘限额)
[root@fileserver home]# touch aquota.group (为用户组设置磁盘限额)
这时生成 的 aquota.user 和 aquota.group 是空的,不符合系统的要求。
请看下一步。

4. 生成符合系统要求的 aquota.user 和 aquota.group

[root@fileserver home]# quotacheck /home (生成符合系统要求 的 aquota.user)
[root@fileserver home]# quotacheck -g /home (生成符合系统要求 的 aquota.group)
生成时,有错误提示。这不要紧。因为 先前 touch 生成的是一个空文件,肯定格式不对。

这样 正确的 aquota.user 和 aquota.group 生成啦。
继续下一步:

5. 为用户设置磁盘空间限额:

[root@fileserver home]# edquota [-u] user_name
[root@fileserver home]# edquota -g group_name (对于用户组)
本命令开启一个 vi 窗口,为用户设置磁盘空间和i节点数目的限额.其中 soft 限额为一个临时性的限额;hard 限额为一个永久性限额(soft 限额可略大于 hard 限额),编辑方法与 vi 完全相同,以 ZZ 或 :wq 命令退出.如要给若干用户 user1, user2,user3 指定相同的磁盘限额,可用下面的命令给这些用户赋予与 protuser 相同的限额:
[root@fileserver home]# edquota [-u] -p protuser user1 user2 user3
[root@fileserver home]# edquota -g -p protgroup group1 group2 group3

设定soft quota和hard quota之间的时间:
[root@fileserver home]# edquota -t
出现一个 vi 窗口:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/hda7 7days 7days
修改成自己所需要的,并保存退出就设置这个时间啦。
您在这之后可能需要重新启动,以使磁盘限额生效。
您可以啦,不过还要注意一些问题,请继续看下去。

6. 检查磁盘空间限制的一致性,系统会自动每次重新启动时,在检查硬盘后进行( /etc/rc.sysinit ),无须您亲手进行。

假若 分区 已经以“读写”方式挂上时,您要小心,例如:
[root@fileserver root]# quotacheck /home
quotacheck: Quota for users is enabled on mountpoint /home so quotacheck might damage the file.
Please turn quotas off or use -f to force checking.

这时, 由于某种需要,或者在某种情况,“不得不”运行这个命令 :
[root@fileserver home]# quotacheck -mf [-u] /dev/hda7
[root@fileserver home]# quotacheck -mf -g /dev/hda7
参数 -m[M] 意思是:强迫在“读、写”模式下检查硬盘的 quota (有一定的“正在写”的数据丢失可能,应确保没有进程在写这个分区。建议在单用户模式下进行。)。
例如:(在平时检查)
2011年11月25日下午15时25分48秒[root@mail gugong]# quotacheck /var/spool/ -f
quotacheck: Cannot remount filesystem mounted on /var/spool read-only so counted values might not be right.
Please stop all programs writing to filesystem or use -m flag to force checking.
2011年11月25日下午15时25分53秒[root@mail gugong]# quotacheck /var/spool/ -m
quotacheck: Quota for users is enabled on mountpoint /var/spool so quotacheck might damage the file.
Please turn quotas off or use -f to force checking.
2011年11月25日下午15时25分57秒[root@mail gugong]# quotacheck /var/spool/ -mf
2011年11月25日下午15时25分59秒[root@mail gugong]#

7. 以后您如果要取消磁盘空间和i节点数目的限制,可用以下命令,请看:

[root@fileserver root]# quotaoff /home (取消磁盘空间限制。)
[root@fileserver root]# quotaon /home (现在启动磁盘空间限制。)
[root@fileserver root]# quotaon /home (已经启动磁盘空间限制啦,所以出现以下错误:)
quotaon: using /home/aquota.group on /dev/hda7: Device or resource busy
quotaon: using /home/aquota.user on /dev/hda7: Device or resource busy

时间: 2024-12-23 03:59:37

如何限制Linux用户的磁盘空间(ext3)的相关文章

Linux系统中开起和关闭用户的磁盘空间限制的命令

  quotaon quotaon 命令:用来开启用户的磁盘空间的限制 参数 -a 开启所有的磁盘配额限制 -g 组磁盘配额限制 -p 列出状态 -u 用户配额限制 -v 运行时显示详细的处理信息 --help 显示帮助信息 --version 显示版本信息 例: 复制代码 代码如下: [root@linux ~]# quotaon -auvg #启动所有的具有quota的filesystem [root@linux ~]# quotaon -uv /disk2 #仅启动/disk2里面的use

Linux找回丢失磁盘空间的方法

  Linux系统磁盘提示满了,可是磁盘内文件加起来的大小和被占用的大小不一致,这就是磁盘丢失的情况,那么是什么程序占用了磁盘空间?下面小编就给大家介绍下Linux找回丢失磁盘空间的方法. 经常接触linux的用户也许会经常遇到这样的问题: 收到一个磁盘告警,说某某分区已经满了,然后登录服务器 df 一看,发现磁盘确实快满了,然后你就想找到具体是哪个目录满了,于是 du -s * 一看,却发现所有子目录的大小总和却和df显示的总已使用磁盘空间对不上,有时候甚至还相差很多,于是就纳闷了:我的磁盘空

linux 运行时磁盘空间不足问题

问题描述 linux 运行时磁盘空间不足问题 Host system reported disk full. VM execution is suspended. You can resume after freeing some space. 解决方案 解决linux磁盘空间不足的问题Linux磁盘空间不足虚拟机linux磁盘空间不足的解决办法 解决方案二: 那就清理下空间,或者删除下东西就好了

Linux 用户进程内存空间详解

常使用top命令了解进程信息,其中包括内存方面的信息.命令top帮助文档是这么解释各个字段的. VIRT, Virtual Image (kb) RES, Resident size (kb) SHR, Shared Mem size (kb) %MEM, Memory usage(kb) SWAP, Swapped size (kb) CODE, Code size (kb) DATA, Data+Stack size (kb) nFLT, Page Fault count nDRT, Dir

(转)虚拟机环境中linux系统增加磁盘空间

前段时间在vmware ESXi虚拟化环境中安装了一套turbolinux系统,当时并没有在意磁盘如何规划,使用了LVM,心想反正能够随时扩展.不料时间不长,问题出现了,分配的磁盘空间满了.以为能够象windows Server环境中使用磁盘管理增加动态磁盘那样方便呢,就随意在ESX管理器中将原有的磁盘从10G增加到了13G,重启挂载LVM没有左右,重启系统了. 重启后 ,使用fdisk -l能够看到/dev/sda的空间已经增加了,但仍还是原来的两个磁盘/dev/sda1和/dev/sda2

linux自动检测磁盘空间脚本并自动报

闲来蛋痛写了一代码 例1  代码如下 复制代码 #!/bin/sh MAX=99 LIST=$(df -h|awk '{print $5}'|sed 's/%//g'|sed '/[a-zA-Z]/d')   mailto="135********@139.com" subject="$(hostname)'s partition alert" content="$(hostname)'s used detail:n $(df -h |awk '{prin

linux怎么查看磁盘空间

  一.df 命令; df 是来自于coreutils 软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置; 举例: [root@localhost beinan]# df -lh Filesystem 容量 已用 可用 已用% 挂载点 /dev/hda8 11G 6.0G 4.4G 58% / /dev/shm 236M 0 236M 0% /dev/shm /dev/sda1 56G 22G 35G 39% /mnt/sda1 我们从中可以看到,系统

linux下查看磁盘空间

  如果要查看磁盘还剩多少空间,当然是用df的命令了. [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda2 14G 11G 2.6G 82% / /dev/sda1 99M 14M 81M 14% /boot tmpfs 442M 275M 168M 63% /dev/shm /dev/mapper/vg_test-lv_test 24M 1.3M 21M 6% /mnt/lvm [root@localhost ~]# 当然你可能并

Win2000的磁盘空间配额管理及分配方法

一.Win 2K的磁盘配额 运行Windows 2K的电脑可对用户使用的磁盘空间进行按需分配.只要是在采用NTFS 5.0文件系统格式的驱动器上,通过启用磁盘配额管理功能就能实现对用户使用磁盘空间的限制.磁盘配额是一种基于用户和分区的文件存储管理.通过磁盘配额管理,管理员就可以对本地用户或登录到本地电脑中的远程用户所能使用的磁盘空间进行合理的分配,每一个用户只能使用管理员分配到的磁盘空间.磁盘配额对每一个用户是透明的,当用户查询可以使用的磁盘空间时,系统只将配额允许的空间报告给用户,超过配额限制