Unix 的每个文件有文件模式来表示权限。
字符串表示
$ ls -l
-rwxr-xr-x 1 genel genel 2795315 Nov 11 14:18 salias
-rw-r--r-- 1 genel genel 6770 Nov 11 14:17 salias.go
使用 ls -l
打出的,首位为文件类型(普通文件,路径,设备,符号链接),后 9 位就是文件模式。每三位为一组,各组分别是 owner(使用 chown
更改)、group(使用 chgrp
更改)和 others(除 owner 和 group 外的用户都是 others)的权限。
r
: 可以读取w
: 可以修改或删除x
: 可执行
E.g. rwx r-x r--
root
sdkusers
表示 root 用户可读取、写入、执行,sdkusers 用户组可以读取和执行,其他用户(组)则只能读取。
八进制数表示
先看每个位用什么表示:
r
==4
w
==2
x
==1
-
==0
然后三个位为一组相加,如 rw-
则为 4+2+0 = 6
,r-x
则为 4+0+1 = 5
。
最后三组合在一起,如 rwx r-x r-x
则为 755
。
常用的文件模式
string | numberic | usage |
---|---|---|
rw- r-- r-- | 644 | 默认文件的模式 |
rwx r-x r-x | 755 | 默认可执行文件的模式 |
rwx rwx r-x | 775 | 赋予某个用户组特殊权限的情况 |