xfs_quota适用于/home下的所有用户

xfs_quota适用于/home下的所有用户

在 RHEL 8.9 中,我有一个 100gb XFS 格式的/home分区;所有本地用户帐户/etc/passwd的主目录都位于/home.所有用户帐户的主要 gid 始终是 100 {users}。

我想在每个用户的/home帐户上应用 1GB 的配额,作为管理数据的管理工作。我目前有 80 个用户,/etc/passwd预计数量会增长到 150 多个。

我目前在/etc/fstab

UUID=12345   /home   xfs    defaults,nodev,nosuid,uquota,gquota    0 0
  • 传递给xfs_quota命令的正确参数是什么?
  • 如果我有 80 个用户,我是否必须xfs_quota为每个帐户执行 80 个命令/home?或者可以通过一个命令实例来完成吗?
  • 应该mount -o remount /home工作吗?我发现它并不成功,umount或者reboot是需要的。会umount -l工作吗?在用户登录的活动系统上,这有多危险?
  • 对于未来的所有新用户,是否xfs_quota需要对其主文件夹执行新的需求,或者是否有办法自动应用它?

答案1

  • xfs_quota需要-x选项(据称是“专家模式”)来执行任何有用的操作。这很容易被忽视。

  • 如果您想为所有 80 个用户提供相同的配额,您可以执行以下操作:

    for user in $(awk -F: '($3 > 1000 && $3 < 60000){print $1}' /etc/passwd); do \
    xfs_quota -x -c "limit -u bhard=1024m $user" /home; done
    
  • 我认为你需要在安装时设置uquota(或)。gquota我认为您无法通过重新安装来打开(或关闭)它。

  • 对于默认配额,您可以为 UID 0 设置配额 - 它将用作任何未设置特定配额的用户的默认配额。例如,您可以创建一个测试 FS:

    # mkdir /mnt/test
    # lvcreate -L 1G -n test datavg
    # mkfs.xfs /dev/mapper/datavg-test
    # mount /dev/mapper/datavg-test /mnt/test -o uquota
    # xfs_quota -x -c "report" /mnt/test
    User quota on /mnt/test (/dev/mapper/datavg-test)
                                   Blocks
    User ID          Used       Soft       Hard    Warn/Grace
    ---------- --------------------------------------------------
    root                0          0          0     00 [--------]
    
  • 然后,您可以设置特定配额(UID 101 为 100k)和默认配额(UID 0 为 200k):

    # xfs_quota -x -c "limit -u bhard=100k 101" /mnt/test
    # xfs_quota -x -c "limit -u bhard=200k 0" /mnt/test
    
  • 然后,如果您创建 UID 101(具有特定配额)和 UID 102(无特定配额)拥有的一些数据,并查看配额报告:

    # dd if=/dev/zero of=/mnt/test/f1 bs=1k count=10; chown 101 /mnt/test/f1
    # dd if=/dev/zero of=/mnt/test/f2 bs=1k count=10; chown 102 /mnt/test/f2
    # xfs_quota -x -c "report" /mnt/test
    User quota on /mnt/test (/dev/mapper/datavg-test)
                                   Blocks
    User ID          Used       Soft       Hard    Warn/Grace
    ---------- --------------------------------------------------
    root                0          0        200     00 [--------]
    #101               12          0        100     00 [--------]
    #102               12          0        200     00 [--------]
    

您可以看到 UID 101 具有设置的特定配额,但 UID 102 继承了默认配额。

相关内容