Skip to content

Instantly share code, notes, and snippets.

@ThaddeusJiang
Created July 31, 2018 11:55
Show Gist options
  • Save ThaddeusJiang/47f6a6673f25170a7433266909548f93 to your computer and use it in GitHub Desktop.
Save ThaddeusJiang/47f6a6673f25170a7433266909548f93 to your computer and use it in GitHub Desktop.
[linux 权限] 770 和 4770 的区别

Linux 权限 770 很好理解。 770 = -rwxrwx--- 即,拥有者读写执行权限,拥有组织也是读写执行权限,其他用户没有任何权限。

但是当权限变成4位(如4770 ),就稍微难理解一点了。 这里的第一位表示 SUID、SGID、Sticky 权限。 对应数值:

  • SUID: 4
  • SGID: 2
  • Sticky: 1

知识点:

  • SUID 仅对二进制文件有效,且执行时获得 owner 权限。
  • SGID 同样仅对二进制文件有效,执行时获取 group 权限。
  • Sticky 仅对目录有效,当在目录下创建目录或者文件时,仅自己和root有权限修改。

重点: 4770 不好做对比,我们讨论 4701 权限。 我们先分析 701 权限,即 owner 有读写执行权限,group 没有任何权限,others 仅有执行权限。 然后我们在最前方追加4,即 SUID 权限,这时当 others 用户执行文件时时,就会获得 owner 权限,即权限变成了 7 (即 rwx)。


Linux 权限基础

Linux 文件的基本权限就有9个,分别对应owner/group/others三种身份的read/write/execute权限。 字符表示-rwxrwx---,数字表示法:

r:4
w:2
x:1

所以八进制表示770

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment