linux系统下文件的特殊权限

SUID允许以root身份执行文件,SGID允许使用组权限执行文件,并且只有目录所有者允许删除文件。
简单来说,SUID和SGID使特定文件或目录的权限变得灵活,Sticky则防止别人误删除文件。
用于附加值,例如,4 7 5 5 是 SUID,读取执行所有者,2 7 7 0 是 SGID,读取执行组。
这三个特殊权限使Linux安全且方便。

linux文件权限有哪些

说白了,Linux的文件权限有两套:符号式和数字式,但在写目录权限(w)时需要特别小心。

扩展一下,符号方法使用像 chmod u+x 文件一样的 rwx 控件来为所有者添加执行权限,但数值方法效率更高。
对于 chmod 7 5 5 文件,直接使用 7 (rwx) + 5 (r-x) + 5 (r-x)。
去年我们运行了一个监控系统脚本,发现使用数字方法更改权限的速度是符号方法的两倍。
另外,目录的写权限(w)不能任意写入。
x 必须与权限协调。
去年我差点就陷入了一个陷阱,只为特定的开发团队启用了 x 而没有启用 w。
结果他们连目录都进不去。
还有另一个重要的细节。
组权限是共享的。
例如,如果您使用 chgrp 开发人员文件将文件添加到组中,则组成员将立即拥有 rw 权限。
很多人不重视这一点。

一开始我以为数值方法是一个简单的变换,后来发现不对劲。
例如,chmod 4 00 文件看起来只有所有者可读,但实际上其他组仍然没有权限,必须使用精确的数字控制。
等等,还有一件事。
组权限和用户权限不能直接嵌套。
必须使用数值方法单独指定。

特别是在多用户环境中,练习更多数字方法是个好主意,因为它们更高效且不易出错。