Linux通过user、group、other把用户分为基础的三类,可以对三类分别设置三种基本权限read、write、excute。
1、基本介绍
九位基本权限分别按照user、group、other的顺序,如上图,d表示文件是个目录文件,owner权限为rwx,group的权限为r-x,非上两种就是other用户权限为r-x。
2、权限判定流程
对文件操作的权限是基于process的用户表示的,比如用户linuxidc在没特殊情况下,他发起的进程就表示为linuxidc的UID,然后文件操作基于process的信息与UGO的权限列表比对,判定用户拥有的权限。
3、更改权限
用户9位权限可以用rwx关键字描述也可以用数字的方式描述
如图,在一位上拥有权限就为1(Ture),无权限就为0,按照3个分组讲二进制转换过来就是755。
使用chmod修改文件权限,可以使用数字或者描述的方式:
chmod MODE file,... (eg: MODE=755)
-R 递归
--reference=/path/to/somefile file
修改某类用户或某些类用户权限
u,g,o,a
chmod 用户类别=MODE file,...
修改某类用户的某位或某些位权限:
u,g,o,a
chmod 用户类别+|-MODE file,...
-x 三个用户全部取消x权限
go= 属组和其他用户权限全部取消
chmod 数字权限 file
Example:修改/tmp/links.sh权限为rwxr-xr--
把权限去掉再用数字方式
4、umask
用于创建用户时的默认权限,umask是去掉的部分,umask可以用数字或者描述指定。
数字法:
目录
U
G
O
777
111
111
111
umask022
000
010
010
目录权限
111
101
101
所以目录的权限就为755
文件
U
G
O
666
110
110
110
umask022
000
010
010
文件的权限
110
100
100
所以文件的权限的644
处于安全考虑,文件默认是排除可以执行权限的,所以文件值为666减去umask。
5、文件和目录各种权限的作用和意义
目录
r
只能读取文件列表
w
没有任何作用
x
可以进入目录
rw
可以读文件列表,依旧无法删除文件
rx
读取文件列表,可以cd进mul,但是无法删除目录下的文件,对文件有w权限可以清空或者写入
wx
可以增加和删除目录中文件,可以cd进目录,但是无法查看目录有哪些内容,知道文件名可以打开文件
rwx
可以进入目录,显示目录中内容,可以增删目录中文件
文件夹权限特表现殊源于文件系统结构中,目录文件中存放的是文件名和文件索引值
文件
r
读取文件内容
w
写入
x
执行,单独的执行权限只能运行二进制可执行文件
rw
可读可写
rx
可以执行二进制之外的编译类或者脚本类的文件
wx
可以修改内容,无法查看,可以执行二进制可执行文件
rwx
可以查看文件内容,可以增删文件内容,可以执行可执行文件