【问题标题】:bash/shell - How do I get the group name of a directory on RHEL and save it to a variable?bash/shell - 如何获取 RHEL 上目录的组名并将其保存到变量中?
【发布时间】:2021-11-30 12:23:12
【问题描述】:

我正在编写一个脚本来创建用户并授予他们对目录的访问权限,但必须将他们添加到对该目录具有权限的组中。我注意到,如果我对目录进行统计,我可以列出组名:

[root@pizzaServer myuser]# stat /ftp/PizzaFolder
  File: ‘/ftp/PizzaFolder’
  Size: 22              Blocks: 0          IO Block: 4096   directory
Device: fd03h/64771d    Inode: 2108605     Links: 3
Access: (0750/drwxr-x---)  Uid: (    0/    root)   **Gid: (1934800276/PizzaGroup)**

然后我就可以 grep 了:

[root@pizzaServer myuser]# stat /ftp/PizzaFolder | grep Gid
Access: (0750/drwxr-x---)  Uid: (    0/    root)   Gid: (1934800276/PizzaGroup)

然后可能使用 sed 裁剪组名?这是最好的方法还是有其他方法?我只想要组名“PizzaGroup”作为输出。

【问题讨论】:

  • 你读过man 1 stat吗?它可能会被证明是有用的。
  • 请将该示例输入的所需输出(无描述、无图像、无链接)添加到您的问题(无评论)。
  • stat 使用-o 选项来指定要返回的信息。那么你就不需要解析任何东西了。
  • 我只想要组名“PizzaGroup”,以便将其保存到变量中。我查看了 stat 的手册页,但我不明白如何使用 %G 选项?不确定
  • stat -c %G <filename>

标签: bash shell variables permissions rhel


【解决方案1】:

获取所有者的组名:

stat -c "%G" /ftp/PizzaFolder

见:man 1 stat

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    • 2021-01-12
    • 2013-09-27
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    相关资源
    最近更新 更多