day 15权限的概述
1权限的基本概述
什么是权限 系统对用户所能执行的功能的限制 为什么要有权限
为了保护每个用户的自己的工作环境和隐私
# 权限跟用户有什么关系
属主 User u
属组 Group g
其他人 others o
所有 a
对应了三个基础权限
r 可读 readable 4
w 可写 writable 2
x 可执行 executable 1
- 没有权限 权限位占位符 0
- rw- r-- r-- 644
文件的类型 属主 属组 匿名
每三个为一组
第一个对应 可读 r
第二个对应 可写 w
第三个对应 可执行 x
没有此权限则用-代替
为什么要设置权限,如何设置权限
设置某个用户对于系统的某个资源拥有什么样管理权力
为什么要设置权限,如何设置权限
设置某个用户对于系统的某个资源拥有什么样管理权力
chmod #设置权限的命令
选项:
-R #针对目录设置权限 赋予目录及目录以下所有文件的权限
只有root管理员才可以修改任何人的权限 普通用户只能修改自己的权限
权限的设置案例
-rwxrw-r-- test01 dev file.txt
test01 user01属于dev组 qls01属于qls01组
三个用户分别对这个文件拥有什么权限
test01是文件的所有者 可读 可写 可执行权限
user01属于dev组,dev组所拥有的权限,user01同样拥有 可读 可写 权限
qls01不属于dev组,对于此文件来说,就是一个陌生人 拥有匿名用户的权限 可读
判断一个用户对一个文件拥有什么权限
1. 系统会判断该用户是否为所有者,如果是,则按照属主的权限进行访问
2. 如果不是所有者,则判断该用户是否为所属组,如果是,则按照所属组的权限进行访问
3. 如果此用户不是所有者,也不是所属组,则按照匿名用户进行访问
# 修改权限的两种方法:
字母进行修改
u 属主
g 属组
o 匿名用户
a 所有用户
权限字母
r 可读
w 可写
x 可执行
- 没有权限
赋予的方式
+ # 添加权限
- # 收回某个权限
= # 覆盖之前的权限
实例
字母添加权限(+)
# 对所有人添加可执行权限 没有指定默认所有
[root@mpd ~]# chmod +x test.py
# 对其他人添加可读权限
[root@mpd ~]# chmod o+w test.py
# 添加多个权限用逗号隔开
[root@mpd ~]# chmod g+w,u+r test.py
收回权限(-)
# 对属主收回权限x
chmod u-x test.txt
# 对所有人收回权限w
chmod a-w test.txt
覆盖之前的所有权限(=)
# 对所有用户重新赋值权限rw
chmod a+rw test.txt
# 清空所有人权限
chmod a=- test.py
根据数字进行修改 会把原来的权限覆盖掉
r=4 w=2 x=1
选项:
-R # 给目录的权限及目录以下的所有文件或者子目录都设置统一权限
# 赋值权限(644)u可读写 g可写 o可写
chmod 644 test.txt
权限设置案例
/opt/test 针对于此目录
属主为root 属组为dev dev01 dev02
属主拥有所有权限 # 7
属组拥有可读 可写权限 # 6
其他人没有任何权限 # 0
chmod 760 /opt/test
权限对文件或者目录的影响
权限对文件或者目录的影响
权限 文件 目录
r 可以查看文件内容 cat head tail 浏览目录及子目录的列表 ls tree
w 可以新增,修改文件内容的权利 vim echo > >> 可以新建或者删除,移动目录中的文件的权利
x 可以执行文件的权利 脚本 可以进入目录 cd
文件权限设置案例
r 权限
PS:文件只有r权限时,是可以正常查看文件内容的,不可以修改或者执行文件的权限
w 权限
PS:只有w权限时, 无法查看和执行文件的权限 使用vim编辑文件文件时,无法查看里面的内容,
可以进行编辑,但是需要强制保存,但是保存之后,原来的内容被覆盖了 可以使用echo命令进行追加或者重定向内容进去
x 权限
PS: 文件只有x权限 什么都干不了
rw 权限
PS:经过测试,文件w权限需要r权限的配合 才能正常的修改文件内容
rx 权限
PS:经过测试,文件的x权限需要r权限的配合
wx权限 没有什么用处
rwx权限 权限太大
Permission denied # 权限不足 没有权限
目录权限设置
权限对目录的影响
r 权限 具有可以浏览目录及其子目录下的列表 属性信息
# 目录只有r权限,使用ls -l命令查看目录下的列表,会出现一堆的权限不足,但是文件名和文件类型显示出来了,
其他的属性信息都是问号 不能对此目录下的文件进行新建或者删除及其移动的操作 也不能切换到这个目录
w 权限
# 只有w权限时,目录什么都做不了
# 目录只有x权限时,可以切换到目录中,无法查看目录列表信息 也无法进行删除、新建、移动等操作 可以进行复制操作
rw 权限
# rw权限 跟只有r权限作用是一样的
# 目录拥有rx权限时,可以正常的查看目录列表信息,属性信息,也可以进入目录,可以复制文件到其他目录,
但是不能执行新建、删除、移动等操作
wx 权限
# 目录拥有wx权限时,可以进入目录,可以新建,删除、移动文件的权利
但是查看不了目录的列表及属性信息
总结: 权限对目录的影响
对目录设置权限时,不能离开x权限
对文件设置权限时,不能离开r权限
文件目录权限总结
Linux权限总结与注意事项
文件r权限, 只给用户查看,无其他操作
文件rw权限, 可以查看和编辑文件内容
文件rx权限, 允许查看和执行文件、但不能修改文件----->PASS
文件rwx权限, 能读,能写,能执行,但不能删除,因为删除需要看上级目录的权限有没有w----->PASS
目录rx权限, 允许浏览目录内文件以及子目录、并允许在目录内新建文件, 不允许创建、删除文件和目录
目录wx权限, 能进入目录,能删除内容,能写入内容,但就是无法使用ls cat这样的命令----->PASS
目录rw权限, 能看,能写,但无法进入目录----->PASS
文件的x权限小心给予,目录的w权限也要小心给予。
文件通常设定的权限是644,目录设定的权限是755
控制目录权限755, 如果有普通用户需要操作目录里面的文件,在来看文件的权限
属主属组设置
chgrp # 设置属组
chown # 设置属主属组 只有root管理员才可以进行设置
选项:
-R # 递归设置 设置目录及其目录以下的所有文件
chown qls01 /opt/file.txt # 默认设置的是属主
[root@qls ~]# chown .qls01 /opt/file.txt #设置属组
[root@qls ~]# chown root.root /opt/file.txt #同时设置属主属组
[root@qls ~]# chown qls01.qls01 /opt/test/ # 只设置目录
[root@qls ~]# chown -R qls01.qls01 /opt/test/ #递归设置
Umask控制权限
系统中为什么新创建的目录的权限为755,文件的权限为644
都是由系统的控制权限所控制的
umask #控制权限的命令
umask 333 #设置权限值
[root@qls ~]# umask
0022
系统中是如何计算权限
系统新创建的目录的权限由最大权限777减去umask控制权限022得到的就是755,
所以说新创建的目录的权限为755,新创建文件的权限由文件最大权限666减去umask控制权限022,
得到644权限,所以说新创建的文件的权限为644,当文件权限遇到奇数时,在奇数为加一