普通权限
看懂权限字符串
最基本的权限类型,用的最多,也最广。
以一个常见的权限字符串为例:
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