Linux系统权限管理与用户身份操作指南
1. 文件掩码与权限设置
在Linux系统中,文件掩码(umask)对文件和目录的权限有着重要影响。当我们将掩码设置为0000时,文件会变为所有用户可写。为了理解其工作原理,我们需要再次关注八进制数。把掩码转换为二进制,再与文件属性对比,就能看出变化。
例如,原始文件模式为 --- rw- rw- rw- ,掩码为 000 000 000 010 ,结果是 --- rw- rw- r-- 。忽略前面的零,我们会发现掩码中出现1的位置,对应的文件属性会被移除,这里就是去除了其他用户的写权限。同样,当掩码为0022时,原始文件模式 --- rw- rw- rw- 会变为 --- rw- r-- r-- 。
一般情况下,我们无需更改掩码,系统默认的就可以。但在一些高安全要求的场景下,就需要手动控制了。操作完成后,记得清理,比如使用 rm foo.txt; umask 0002 。
2. 特殊权限设置
虽然我们通常用三位八进制数表示权限掩码,但从技术角度,用四位更准确。除了常见的读、写、执行权限,还有一些较少使用的特殊权限。
- setuid位(八进制4000) :应用于可执行文件时,会将有效用户ID从实际运行程序的用户ID变为程序所有者的ID。通常超级用户拥有的一些程序会设置此权限。普通用户运行设置了setuid root的程序时,程序会以超级用户的权限运行,从而可以访问普通用
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



