chmod 777 和 chmod 7777 有什么区别

Loo*_*urr 9 unix chmod

我有一位教授坚持总是打字chmod 7777,但我被告知这chmod 777是正确的约定。

我在命令行和chmod 777 something.txtyeilds上尝试了它们

-rwxrwxrwx   1 home  staff    0 May  6 16:47 something.txt
Run Code Online (Sandbox Code Playgroud)

chmod 7777 something.txt产量

-rwsrwsrwt   1 home  staff    0 May  6 16:47 something.txt
Run Code Online (Sandbox Code Playgroud)

这将可执行字段更改为 s、s 和 t。我理解 777 是因为它是二进制的 111 111 111,所以它只是打开所有字段,但为什么我要使用 7777,它有什么不同?

Bar*_*mar 14

7777中,前三位是setuidsetgidsticky标志。这些应该只在非常特殊的情况下设置。你是正确的,777是比较合适的设置(如果你想使这两个世界可写的文件世界可执行文件)。

除非文件是可执行程序或脚本或目录,否则通常不应设置这些x位。不过这样做也没什么坏处。