Ner*_*ode 13 permissions bash files
我最近想知道三位数和四位数的数字文件权限之间有什么区别。我通过运行获得数字权限stat --format "%a" $file_name。0644和644有什么区别?
Joh*_*024 13
四位权限中的第一个数字是设置用户 ID (4)、设置组 ID (2) 和粘性(1)的总和。三位数权限就像四位数权限一样,第一位数字设置为零。因此:
如果执行了设置了用户 ID 的文件,那么它就像由文件的所有者而不是执行执行的用户来执行。因此,例如,/bin/mount通常由 root 拥有并拥有权限 4755,其中 4 表示,即使由普通用户执行,它也会以所有者(root 的)权限运行。
在目录上设置组 ID 对共享文件很有用。
粘滞位用于像/tmp这样的目录,以便所有用户都可以创建文件,但防止非所有者删除其他人的文件。因此,权限/tmp通常为 1777,其中 1 表示设置了粘滞位。
来自man chmod:
数字模式是从一到四个八进制数字 (0-7),通过将值 4、2 和 1 的位相加得出。假定省略的数字是前导零。第一个数字选择设置用户 ID (4) 和设置组 ID (2) 和限制删除或粘性 (1) 属性。第二个数字选择拥有文件的用户的权限:读取 (4)、写入 (2) 和执行 (1);第三个选择文件组中其他用户的权限,具有相同的值;第四个用于不在文件组中的其他用户,具有相同的值。