四位数值中的第一个chmod八进制数字是什么?


40

有时我会看到chmod使用四个八进制数字而不是三个八进制数字的命令-可选的第一位数是什么?例如,chmod 777相当于chmod a+rwx; 相同的命令有chmod 2777什么用?


1
这是一个很好的问题,所以我尝试将其概括一下
Michael Mrozek

3
“第四个chmod八进制数字”有点令人困惑,从左到右读取时,所涉及的数字实际上是第一个数字。
jsbillings

Answers:


44

请注意,chmod 777 filename这与chmod 0777 filename本示例中的等效。

第一个八进制数字设置setuid,setgid和粘滞位(有关setuid / setgid的更多详细信息,请参见本文)。八进制2表示在文件上设置组ID。因此,等效于做一个chmod a+rwx filename,然后chmod g+s filename。该chmod 信息页面并更详细地解释这一点。


5
chmod(1)的几乎所有实现都可以在符号模式参数中使用逗号。因此,您可以在一个命令中完成相当于2777的操作:chmod a+rwx,g+s filename。或者,更严格的(即确保清除setuid和粘性位为数字模式会): chmod a=rwx,g+s filename
克里斯·约翰森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.