Linux目录权限

MrM*_*tin 2 unix permissions bash

我的网站在第三方服务器上运行,我遇到具有以下权限的目录:

folder1 drwsr-s---
folder2 drwxr-s---
folder3 drwxr-x---
Run Code Online (Sandbox Code Playgroud)

我熟悉 the d、 the r、 the w、 the x(对于文件夹)和-。在编辑时(在 Filezilla 中),似乎所有这些都等于chmod 750.

man chmod告诉我这s代表“执行时设置用户或组 ID”。这意味着什么?它怎么会映射到相同的chmod代码上呢?我应该在服务器上担心这个吗?

Swi*_*iss 5

's' 位被称为“setuid”和“setgid”位。它的作用取决于文件类型。

在目录上,如您的示例所示,这些位为目录中创建的所有文件设置默认用户或组。

例如,如果您有一个由 foo:foo 拥有的目录,并且设置了 setuid 和 setgid 位,那么在该目录中创建的所有文件都将由 foo:foo 所有,无论是谁创建的。

在您的示例中,为每个目录设置了“setgid”位。这意味着对于在这些目录中创建的每个文件,所有者将是创建该文件的用户,但组将设置为匹配目录的组,而不是用户的主组。