使用 Ubuntu 20.04 LTS。
我已使用 在文件夹上设置了 SGID 位chmod g+s folder
。
当我执行ls -la
该命令时,会显示常规信息,其中不包括有关 SGID 的信息:
drwxrws--- 5 user user_grp 4096 Jun 21 21:09 folder
尝试stat -c %a folder
输出770
。
编辑:无法重现此行为 - 返回,再次尝试,输出2770
(如最初预期的那样)。
即使 SGID 位工作正常,我似乎无法输出 SGID 信息(据我理解,它将像2770
我的情况一样以数字形式显示)。
我如何输出 SGID 信息?
答案1
实际上,您可以在粘贴的输出中看到 setgid 位已设置。这由尾部的 s 表示。
权限计算器对于学习符号和八进制权限非常有用。这个甚至有一些关于 setgid 位的信息:
setgid:具有 setgid 位(chmod g+s 路径)的二进制可执行文件可以用文件组的权限执行。
一个有用的属性是在目录中设置 setgid 位,以便在其中新创建的所有文件和目录都从该目录继承组。
以八进制表示,setgid 位由 2000 表示,例如:“chmod 2755 path”。
如果组没有执行权限,setgid 则无效。
setgid 在 ls 的输出中以小写“s”表示。在无效的情况下,则以大写“S”表示。