linux系统管理使用磁盘配额_黑色千诺Blog_百度空间
A、磁盘配额作用限制普通用户使用磁盘空间,不至于因为个别人的浪费而影响到其它人的正常使用;

    B、需要内核的支持;

    C、只有Ext2/Ext3文件系统目前支持这种功能;

    D、需要用户程序quota软件包.
                     磁盘配额配置过程

    1)、使用usrquota,grpquota选项挂载一个分区,xx内核的支持(只能在分区上做)

    2)、方法:#mount –o usrquota,grpquota /dev/sdb1 /mnt/d1

    或 mount –o remount,usrquota,grpquota / (因为根目录已经挂载过,可重新挂载)

    3)、init 1 (进入单用户环境来配置)
    4)、quotacheck –cvuga 检查并创建磁盘配额的数据库文件(存放位置:在每一个分区的根目录下面)

    -c: 创建create; –v:更详细地表述;–u:用户user;–g:组group;-a:所有all

    5)、edquota –u <username>为指定用户分配磁盘空间和节点数量

    6)、quota命令可以查看用户的配额使用情况

    如:[root@localhost root]# ls /mnt

    cdrom floppy

    [root@localhost root]# mkfs.ext3 /dev/sdb1 /mnt/sd1/
    mke2fs 1.32 (09-Nov-2002)

    mkfs.ext3: bad blocks count - /mnt/sd1/

    [root@localhost root]# mkfs.ext3 -f /dev/sdb1 /mnt/sd1/

    [root@localhost root]# fdisk -l
    Disk /dev/sda: 5368 MB, 5368709120 bytes

    255 heads, 63 sectors/track, 652 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

       Device Boot    Start       End    Blocks   Id System

    /dev/sda1   *         1       652   5237158+ 83 Linux

    Disk /dev/sdb: 4294 MB, 4294967296 bytes

    255 heads, 63 sectors/track, 522 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

       Device Boot    Start       End    Blocks   Id System

    /dev/sdb1           250       522   2192872+ 83 Linux

    [root@localhost root]# mkfs.ext3 /dev/sdb1
    mke2fs 1.32 (09-Nov-2002)
    Filesystem label=

    OS type: Linux

    Block size=4096 (log=2)

    Fragment size=4096 (log=2)

    274176 inodes, 548218 blocks

    27410 blocks (5.00%) reserved for the super user

    First data block=0
    17 block groups

    32768 blocks per group, 32768 fragments per group

    16128 inodes per group

    Superblock backups stored on blocks:

            32768, 98304, 163840, 229376, 294912

    Writing inode tables: done

    Creating journal (8192 blocks): done

    Writing superblocks and filesystem accounting information: done

    This filesystem will be automatically checked every 30 mounts or

    180 days, whichever comes first. Use tune2fs -c or -i to override.

    [root@localhost root]# mount /dev/sdb1 /mnt/sd1 -o usrquota,grpquota
    [root@localhost root]# mount

    /dev/sda1 on / type ext3 (rw)

    none on /proc type proc (rw)
    usbdevfs on /proc/bus/usb type usbdevfs (rw)

    none on /dev/pts type devpts (rw,gid=5,mode=620)
    none on /dev/shm type tmpfs (rw)

    /dev/sdb1 on /mnt/sd1 type ext3 (rw,usrquota,grpquota)

    [root@localhost root]# more /etc/mtab

    /dev/sda1 / ext3 rw 0 0

    none /proc proc rw 0 0

    usbdevfs /proc/bus/usb usbdevfs rw 0 0

    none /dev/pts devpts rw,gid=5,mode=620 0 0

    none /dev/shm tmpfs rw 0 0

    /dev/sdb1 /mnt/sd1 ext3 rw,usrquota,grpquota 0 0

    [root@localhost root]# quotacheck –cvuga   <-------

    quotacheck: Scanning /dev/sdb1 [/mnt/sd1] done
    quotacheck: Checked 2 directories and 0 files

    [root@localhost root]# ls /mnt/sd1/

    aquota.group aquota.user lost+found

    aquota.group 和aquota.user两个数据文件,用来分配组和用户的配额情况。

    [root@localhost root]# quotaon 或reboot或quotaon /dev/sdb1

    [root@localhost root]# edquota -u redhat

    Disk quotas for user redhat (uid 502):

      Filesystem                   blocks       soft       hard     inodes     soft     hard

      /dev/sdb1                   125           10           0        80          0        10

    注:blocks表示:块的数量;inodes表示:节点的数量或建立文件的个数;
    soft表示:软限制,可以超过这个数值的设定,但是有天数限制;

    hard表示:硬限制,这是一个任何时候也不能超过的数值,永远不可能达到。

    [root@localhost root]# \ls /mnt/sd1

    aquota.group aquota.user lost+found

    [root@localhost root]# mkdir /mnt/sd1/redhat

    [root@localhost root]# chown redhat /mnt/sd1/redhat/

    [root@localhost root]# su - redhat

    [redhat@localhost redhat]$ pwd

    /home/redhat

    [redhat@localhost redhat]$ cd /mnt/sd1/redhat/

    [redhat@localhost redhat]$ pwd
    /mnt/sd1/redhat

    [redhat@localhost redhat]$ quota

    Disk quotas for user redhat (uid 502):

         Filesystem blocks   quota   limit   grace   files   quota   limit   grace

          /dev/sdb1       4      10       0               1       0       9

    [redhat@localhost redhat]$ ls -lh

    total 8.0K

    drwxrwxr-x    2 redhat   redhat       4.0K Mar 12 22:41 dir
    drwxrwxr-x    2 redhat   redhat       4.0K Mar 12 22:41 dir1

    [redhat@localhost redhat]$ ls -ld

    drwxr-xr-x    4 redhat   root         4096 Mar 12 22:41 .

    [redhat@localhost redhat]$ dd if=/dev/zero of=file1 bs=1k count=1024

    1024+0 records in

    1024+0 records out

    [redhat@localhost redhat]$ quota -u redhat

    Disk quotas for user redhat (uid 502):

         Filesystem blocks   quota   limit   grace   files   quota   limit   grace

          /dev/sdb1    1040*     10       0   6days       4       0       9
    [redhat@localhost redhat]$ touch file1

    [redhat@localhost redhat]$ touch file2

    [redhat@localhost redhat]$ touch file3

    [redhat@localhost redhat]$ touch file4

    [redhat@localhost redhat]$ touch file5

    [redhat@localhost redhat]$ ls

    file1 file2 file3 file4 file5
    [redhat@localhost redhat]$ quota -u redhat

    Disk quotas for user redhat (uid 502):

         Filesystem blocks   quota   limit   grace   files   quota   limit   grace

          /dev/sdb1    1032*     10       0   6days       6       0       9
    [redhat@localhost redhat]$ touch file6

    [redhat@localhost redhat]$ touch file7

    [redhat@localhost redhat]$ touch file8

    [redhat@localhost redhat]$ touch file9

    sd(8,17): write failed, user file limit reached.

    touch: creating `file9': Disk quota exceeded

    [redhat@localhost redhat]$ touch file10

    touch: creating `file10': Disk quota exceeded
    [redhat@localhost redhat]$ quota -u redhat

    Disk quotas for user redhat (uid 502):

         Filesystem blocks   quota   limit   grace   files   quota   limit   grace

          /dev/sdb1    1032*     10       0   6days       9*      0       9

    [redhat@localhost redhat]$ cat /etc/fstab

    LABEL=/                 /                       ext3    defaults        1 1

    none                    /dev/pts                devpts gid=5,mode=620 0 0

    none                    /proc                   proc    defaults        0 0

    none                    /dev/shm                tmpfs   defaults        0 0

    /dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro 0 0
    /dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0

    /dev/sdb5               /mnt/sdb5               ext3    defaults        0 0

    [root@localhost root]# repquota -a

    *** Report for user quotas on device /dev/sdb1

    Block grace time: 7days; Inode grace time: 7days

                            Block limits                File limits
    User               used     soft    hard     grace        used soft hard grace

    ----------------------------------------------------------------------

    root        --     20         0       0                         2       0      0

    redhat    +-    1032      10       0          7days       9       0      9

    #quotaoff /mnt/sdb1

    #edquota –u redhat
    如果要{yj}用配额限制的话,可以手动编辑/etc/fstab 增加:

    /dev/sdb1         /mnt/sb1        ext3   defaults,usrquota,grpquota    0   0

    保存退出!

    取消磁盘配额的方法:

    1)、使用命令quotaoff –a 关闭对应磁盘分区上的配额文件 2)、可编辑/etc/fstab文件 3)、删除/mnt/sd1目录下的aquota.usr、aquota.group两个数据库文件.



郑重声明:资讯 【linux系统管理使用磁盘配额_黑色千诺Blog_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——