普通权限

看懂权限字符串

最基本的权限类型,用的最多,也最广。

以一个常见的权限字符串为例:

rwxr-xr-x

一共9位,每3位分开,分成三组权限,依次对应以下三种用户身份的权限:

身份 权限
owner rwx
group r-x
other r-x

有对应的权限,则有对应的单字母出现在对应权限位上,如r(Read), w(Write), x(eXcute)。

如该权限位上没有对应的权限,则用-表示无权限。

那么rwx代表拥有读、写、执行,rw-代表读写权限,---则代表没有任何权限,依此类推。

第一组权限代表“属主”的权限,第二组权限代表“属组”的权限,第三组权限代表“其他用户”的权限。

那么rwxr-xr-x对应的意义也就十分明朗,对文件的拥有者具有完全控制权限, 对指定组用户只有读和执行权限,其他用户只有读和执行权限。

试试看,描述一下下面的长列表表示该文件是什么权限?

-rw-r-----  1 root mlocate 7155269 Dec 13 06:26 mlocate.db

八进制权限表示

如果权限用3个bits表示,0表示没有权限,1表示有权限,那么可以列出以下权限对应表:

权限 八进制
--- 000 = 0
--x 001 = 1
-w- 010 = 2
-wx 011 = 3
r-- 100 = 4
r-x 101 = 5
rw- 110 = 6
rwx 111 = 7

于是乎:

rwx | r-x | r-x
 |     |     |
 7     5     5

mode = 755。

说明这个文件的权限是755,也就是rwxr-xr-x权限。

对于目录来说x意味着目录可以cd进去。

最低权限列表(能理解即可,不需要死记硬背):

权限效果 最低权限
目录可cd --x
目录可ls r--
目录可读 r-x
文件可读 父目录r-x,文件r--
文件可写 父目录1,文件2
文件可执行 父目录1,文件5
文件重命名 父目录3
删除文件 父目录3

WARNING: root用户几乎不受以上权限的约束,使用root权限要特别小心!

默认权限

当创建目录或文件时,默认权限被权限掩码 —— umask所控制。

权限掩码代表被“遮掩掉”的权限。

$ umask
0022    # <======== 代表被遮掩掉的权限是0022,也就是----wx-wx

$ umask -S
u=rwx,g=rwx,o=rx

如果目录的完全权限是777,文件的完全权限是666,那么经过umask遮掩掉权限, 最终目录权限会变成755(777-022=755),文件权限会变成644(666-022=644)

可以通过umask命令修改默认值

$ umask 002