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 显示权限的方式。
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)