如何验证文件夹上是否设置了 SGID(执行时设置组 ID)?

如何验证文件夹上是否设置了 SGID(执行时设置组 ID)?

使用 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”表示。

相关内容