热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

linux系统管理使用磁盘配额

文章标题:linux系统管理使用磁盘配额。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

    A、磁盘配额作用限制普通用户使用磁盘空间,不至于因为个别人的浪费而影响到其它人的正常使用;

    B、需要内核的支持;

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

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

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

    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 为指定用户分配磁盘空间和节点数量

    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
    如果要永久用配额限制的话,可以手动编辑/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两个数据库文件.


推荐阅读
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文主要讨论了在xps15上安装双系统win10和MacOS后,win10无法正常更新的问题。分析了可能的引导问题,并提供了解决方法。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
author-avatar
手机用户2502905647
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有