哪个更广泛使用:chmod 777 或 chmod a+rwx

Kev*_*777 20 linux permissions

在更改权限的两个选项中:

  • chmod 777 file.txt
  • chmod a+rwx file.txt

我正在编写一个文档,详细说明用户需要更改某个文件的文件权限。我想将其详细说明为更改文件权限的最常见方法。

目前是说:

- Set permissions on file.txt as per the example below:
    - chmod 777 /tmp/file.txt
Run Code Online (Sandbox Code Playgroud)

这只是一个示例,不会将文件更改为对每个人都具有完全权限。

小智 29

谷歌给出:

chmod 777 受欢迎程度大约是其 3 倍。

也就是说,我更喜欢在文档和脚本中使用长选项,因为它们是自我记录的。如果您正在按照“运行ls -l | grep file.txt并验证权限”的说明进行操作,您可能需要使用,chmod a+rwx因为这就是 ls 显示权限的方式。

  • 我认为 `chmod 777` 更受欢迎的原因(正如在看到你的数字之前推测的那样)只是你少输入了 2 个字符:) (2认同)

Oli*_*lac 26

[我编辑以添加最佳实践,遵循 Dotancohen 在他的回答中的建议。我希望它不会让它变得不那么清楚,并养成良好的习惯]

重要的附加信息:它们不是等价的。

chmod a+rwx: 将最后 3 个八进制数设置为 777,以确保 Owner、Group 和 Users 设置了“rwx”。如果第一个八进制中有其他位(setuid、setgid 和/或粘滞位),则它们保持不变。将其视为二进制“或 00777”。

chmod 777 :将权限设置为 00777,以确保所有者、组和用户设置了“rwx”,仅此而已。它还确保附加位(setuid、setgid 和/或粘滞位)设置为 0。

所以使用第一种形式,如果你只是想确保授予每个人的访问权限(并且请双重、三重确保它是必需的……它为各种安全问题打开了大门,有些问题出乎意料地广泛他们允许恶意用户这样做)

如果您还想确保重置任何 setuid/setgid/sticky 位,即如果文件需要为“00777”,这可能更可能在您的情况下使用(文件的权限是已知的,并且应该是: 00777)。在这里,还要三重确保它真的需要......

通常最好保持对所有者(有时是组)的访问权限:然后使用组授予某些特定用户对文件/目录的访问权限。a+rwx 既简单又通常是错误的授予访问权限的方式(当然,在极少数情况下它是唯一的方式......)

http://en.wikipedia.org/wiki/Chmod是一本很好的读物,因为它解释了每个数字或字母代表的含义(包括 setuid/setgid/sticky)

  • `chmod 777` 类似于 `chmod a=rwx`。 (4认同)