fstab文件及磁盘配额管理

一、fstab文件

  • fstab文件为存放文件系统的静态信息文件,同时也是系统启动时必须要 读取的一种配置文件,存放于/etc目录下。

  • 当系统启动时,读取这个配置文件中的信息,然后将指定的文件系统挂载到指定的目录下,此文件错误可能会导致系统开启失败。

  • etc/fstab 文件包含了<file system> <dir> <type> <options> <dump> <pass>等几个字段,字段直接通过空格或 Tab 分隔。

    <file systems>: 要挂载的分区或存储设备
    <dir> :挂载点
    <type> :要挂载设备或是分区的文件系统类型,支持文件系统类型有:ext2, ext3, ext4, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap 及 auto。 设置成auto类型,mount 命令会自动匹配文件系统类型
    <options>:挂载时经常使用的参数,但有些mount 参数是特定文件系统才有的。一些比较常用的参数有:
          auto:在启动时或键入了 mount -a 命令时自动挂载
          noauto:关闭自动挂载
          exec:允许执行此文件系统上的二进制文件
          noexec:不允许执行文件系统上的二进制文件
          ro:以只读模式挂载文件系统
          rw: 以读写模式挂载文件系统
          user: 允许任意用户挂载此文件系统,若无显示定义,隐含启用noexec, nosuid, nodev 参数
          users:允许所有 users 组中的用户挂载文件系统
          nouser: 只能被 root 挂载
          owner:允许设备所有者挂载
          sync : I/O 同步进行
          async:I/O 异步进行
          dev:解析文件系统上的块特殊设备
          nodev:不解析文件系统上的块特殊设备
          suid:允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限
          nosuid:禁止 suid 操作和设定 sgid 位
          atime/noatime :更新/不更新访问时间,包含目录和文件
          diratime/nodiratime :目录的访问时间戳
          relatime:实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程),可以提升性能(参见 atime 参数)
          flush :vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失
          loop:使用loop设备 
          defaults:使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async
    <dump> :dump 工具通过它决定何时作备份,dump 会检查其内容,并用数字来决定是否对这个文件系统进行备份。 允许的数字是 0 和 1 。0 表示忽略, 1 则进行备份
    <pass> fsck 读取 <pass> 的数值来决定需要检查的文件系统的检查顺序。允许的数字是0, 1, 和2。 根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为 2. 0 表示设备不会被 fsck 所检查
    
  • 文件系统标识

在 /etc/fstab配置文件中可以使用三种不同的方法表示文件系统:挂载文件路径和名称、UUID 或者 label。使用 UUID 或是 label 的好处在于它们与磁盘顺序无关。如果一些意外情况导致了磁盘顺序的改变,就可能导致/目录挂载磁盘找不到路径,所以建议使用 UUID 或是 label 来表示。

  • fstab文件的几种挂载格式

    将/boot目录挂载到/mnt/boot中        
       /boot /mnt/boot none bind 0 0 (none为没有文件系统)      
    将/app/partfile挂载到/mnt/part文件中
       /app/partfile /mnt/part ext4 loop 0 0     
    挂载win共享文件(192.168.198.1为win的IP,share为共享目录) 
      //192.168.198.1/share        /mnt/share       cifs  defaults 0 0
    挂载swap分区 
       /dev/sdb3  swap  swap  defaults 0 0 
    挂载磁盘分区 
      /dev/sda2  /  ext4   defaults 0 0 
    挂载nfs共享目录
      192.168.198.1:/share   /mnt/share    nfs  defaults 0 0
    挂载samba目录
      //172.16.30.130/common /tmp cifs multiuser, username=danran,password=danran,sec=ntlmssp 0 0
    

二、磁盘配额使用

随着系统普通用户的增加很可能导致/home目录的空间使用率紧缺,作为系统管理员,有必要将/home目录的空间使用对普通用户做出一些限制,以免导致/home目录空间不足而其他用户不能正常使用,这就用到了我们今天所要说的磁盘及文件系统配额的管理。

磁盘及文件系统配额是根据块或者节点数为界限对用户及组进行限制使用,但是磁盘配额的使用必须在一个独立分区上进行,故首先应将/home迁移到独立分区上。

使用到的相关命令有如下几个:

系统挂载选项
      usrquota:对指定用户限制
      grpquota:对组进行限制
配额数据库初始化:
     quotackeck   -cug /home 初始化/home目录的用户和组的配额数据库
quotaon -p /home  查看/home目录的配额数据库是否开启 
quotaon /home  开启/home的配额数据库   
edquota danran 编辑danran用户的配额管理
edquota -p user1 user2 根据user1的配额生成user2的配额  
quota uaername   查看uaername的配额空间 
  • 有一个空间大小为20G的分区sdb1,首先将跟目录下面的/home迁移到/sdb1分区上,然后方可使用磁盘配额对/home目录进行管理

  • 将/home迁移到/dev/sdb1分区上

    mkdir /mnt/home
    mount /dev/sdb1 /mnt/home   将sdb1分区挂载到/mnt/home目录下
    cp -av /home/* /mnt/home    拷贝原目录下的所有数据到/dev/sdb1挂载点目录/mnt/home上
    

如果直接挂载可能会把原来/home下的文件覆盖,导致原有文件成为垃圾文件从而占用空间,若直接删除/home下的文件,可能导致正在登陆的普通用户不能正常使用,故切换到单用户模式下删除/home文件,因为单用户模式下没有其他用户登录不需担心在删除过程中对普通用户造成影响。

  init 1 切换进单用户模式  
  du -sh /home /mnt/home   比较两个home目录是不是一致
  blkid /dev/sdb1    可显示/dev/sdb1分区的UUID号
  vim /etc/fatab    将/dev/sdb1设备挂载到/home写入fatab文件启动挂载
      UUID=b054a2ea-bdd4-4ae9-911a-a85bb102879d   /home  ext4   defaults 0 0 
  mount -a    将/dev/sdb1挂载到了/home目录,即完成了家目录迁移到/dev/sdb1分区下,而/dev/sdb1挂载点/mnt/home中的数据也同步到/home下    
   ls /home  查看/home下是否有数据,即/dev/sdb1是否挂载成功   
   umount /mnt/home   过度挂载点目录此时已经可以卸载
  • 将家目录回迁到/目录下 (此过程最好也在单用户下进行)

    init 1
    mkdir /mnt/home
    mount /dev/sdb1 /mnt/home 
    umount /home
    cp -av /mnt/home/* /home
    vim /etc/fstab 
        将UUID=b054a2ea-bdd4-4ae9-911a-a85bb102879d   /home  ext4   defaults 0 0 删除   
    reboot
    
  • 控制用户danran和danran组使用/home空间的大小,/home必须为一个独立的分区才能使用,/home挂载在/devsdb1分区上

    blkid /dev/sdb1 显示/dev/sdb1分区的UUID号
     vim /etc/fstab        将/dev/sdb1挂载到/home下,usrquota启用用户配额功能,grpquota为启用组配额功能 
          UUID=b054a2ea-bdd4-4ae9-911a-a85bb102879d  /home ext4  usrquota,grpquota 0 0
      mount -o remount /home  重新挂载/home
    


mount 查看/home是否已经启用usrquota和grpquota配额特性
quotacheck -cug /home 初始化配额数据库,u为初始化用户数据库,g为初始化组数据库
setenforce 0 若数据库初始化失败则执行这条命令,关闭SELinux功能
ls /home 检查配额数据库是否初始化成功 若有aquota.group和aquota.user两个二进制文件生成表示数据库初始化成功

  quotaon -p /home 查看磁盘配额数据库是否启用     
  quotaon /home   开启磁盘配额数据库   
  quotaon -p /home  

① 交互式编辑用户磁盘配额:

  edquota danran   编辑配置空间使用额度(以K为单位),soft为提醒状态,hard为强制报错状态 inodes为节点数,后两个soft和hard是控制文件格式,前两个控制空间大小

限制danran用户使用/home空间大小为80M,当使用超过50M时提醒用户,当文件数超过100个时提醒用户,但不强制报错退出


  su - danran  切换到danran用户
  dd if=/dev/zero of=110M bs=2M count=55    创建110M的f1文件   

文件的所有者为danrna用户,超出了danran用户使用/home空间的限制,所以报错退出,修改文件的所有者和所属组,则danran用户使用的空间恢复,由此得出结论为文件的配额限制是根据文件所有者和所属组判断的。

  quota danrna 查看danran用户的磁盘配额 
  repquota /home  显示/home分区上的配额使用情况

Block grace time:7days 表示有效期7天,7天之后soft将变为hard使用

交互式编辑组空间配额

  edquota -g danran   对danran组设置空间配额   
  usermod -G danran dan   将dan用户添加进danran组中
  id dan
su - dan  切换到dan用户    
dd if=/dev/zero of=f1 bs=2M count=50 发现没有报错空间限制
ll f1  列出f1文件的详细信息,发现文件的所有者和所属组都是dan用户,而dan用户和组没有限制使用额度    
id  发现danran仅是dan用户的附加组,而不是所属组    
newgrp danran   临时将dan用户的所属组更换为danran
id dan   dan用户的所属组临时更换为了danran
dd if=/dev/zero of=f2 bs=1M count=120   这次发现报错,超出了block limit 
ll f2    可以发现f2文件的所属组为danran
由此发现,设置组的空间使用额度时表示的是所属组而不是附加组

②非交互式设置空间配额

 setquota danran 150000 200000 0 100 /home    非交互式配置danran用户的使用/home的最大空间为200M,达到150M时提醒用户,当文件数目达到100个时报错退出,并且退出前不提醒用户
 quota danran   显示danran用户的空间配额
setquota -g danran 100000 150000 0 0 /home   
edquota/quota  -g danran   显示danran组的空间配额  
  • 配置dan用户的磁盘配额跟danran用户一致

    edquota -p danran dan 
    quota/edquota dan
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容