一、权限对象
- owner:文件拥有者。
- group:用户组。
- others:非文件拥有者,或者是用户组以外的人,其他人。
二、权限类型
r-x r-x r-x 555
属主 属组 其他人
r w x r w x r w x
4 2 1 4 2 1 4 2 1
7 7 7
基于UGO,user group other 9位
664 644 755 700 600
r w x
对于文件而言
r:可以获取文件的数据
w:可以修改文件的数据
x:可以将此文件运行成为进程
对于目录而言
r:可以使用ls命令获取目录下的文件列表
w:可以修改此目录下的文件列表,可以创建或者删除文件
x:可以cd到此目录下,并且可以使用ls -l来获取文件的详细属性信息
权限 | 对文件的影响 | 对目录的影响 |
---|---|---|
r(读取) | 可以读取文件的内容 | 可以列出目录的内容(文件名)ls |
w(写入) | 可以更改文件的内容 | 可以创建或删除目录中的任意文件 touch mkdir rm mv cp |
x(执行) | 可以作为命令执行文件 | 可以进入目录(而对目录中文件内容的操作取决于目录中文件的权限)cd |
三、文件权限判断逻辑
①
删除文件
对文件所在目录有W权限
判断用户的身份,用户以什么身份去删除文件,owner--->group--->others
如果是目录的属主:目录权限位的左三位需要有w权限,若有则成功,无则失败
如果不是目录的属主,是属组,目录权限位中三位需要有w权限,若有则成功,无则失败
如果是其他人,目录权限位中的右三位需要有w权限,若有则成功,无则失败
②
新建文件
对文件所在目录有w权限
判断用户的身份,用户以什么身份去创建文件,owner--->group--->others
如果是目录的属主:目录权限位的左三位需要有w权限,若有则成功,无则失败
如果不是目录的属主,是属组,目录权限位中三位需要有w权限,若有则成功,无则失败
如果是其他人,目录权限位中的右三位需要有w权限,若有则成功,无则失败
四、权限管理类命令
1、更改文件的属主和属组
改变文件的所属关系用到命令:
- chown:可以用来改变文件(或目录) 的属主
- chgrp:可以用来改变文件(或目录)的默认属组
`chown`
语法:
- chown user:group filename 比如chown hr:san a.txt
属组改为hr,san
- chown user filename 比如chown hr a.txt把属主改为hr
- chown:group filename 比如chown :hr a.txt把属组改为hr这个组
- chgrp group filename
- -R:递归(目录下的所有内容都更改,否则只修改目录)
2、修改文件的权限
修改权限用的命令:chmod
作用:修改文件,目录的权限
语法:chmod [对谁操作] [操作符] [赋于什么权限] 文件名
对谁操作:
- u-----> 用户user,表示文件或目录的所有者
- g-----> 用户组group,表示文件或目录的所属的用户组
- o-----> 其他用户others
- a-----> 所有用户all
操作符:
- +:添加权限;
- -:减少权限;
- =:直接给定一个权限
权限: r w x
u-w | user | 拥有者 |
g+x | group | 组 |
o=r | other | 其他人 |
a+x | all | 所有人 |
3、使用0-7的数字表示权限法
权限 | 二进制值 | 八进制值 | 描述 |
--- | 000 | 0 | 没有任何权限 |
--x | 001 | 1 | 只有执行权限 |
-w- | 010 | 2 | 只有写入权限 |
-wx | 011 | 3 | 有写入和执行权限 |
r-- | 100 | 4 | 只有读取权限 |
r-x | 101 | 5 | 有读取和执行权限 |
rw- | 110 | 6 | 有读取和写入权限 |
rwx | 111 | 7 | 有全部权限 |
- chmod 755 文件或文件夹名字
- 例如:chmod a=rwx b.txt 等于 chmod 777.bxt
进程的安全上下文:
进程对文件访问权限的应用模型
进程的属主,与文件的属主是否相同,如果相同,则应用属主权限
否则,检查进程的属主是否和文件的属组相同,如果相同,则应用属组的权限
否则,使用other权限。
将一个文件运行成为一个进程,取决于用户是否对这个文件有x权限,可执行权限