一、什么是权限?
权限就是通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源,比如vip,门禁之类的
二、权限的本质
权限和人有关,权限和事物的属性有关
权限=人+事物属性有关【人也就是相当于角色】
三、Linux中的用户
- linux有root用户【超级管理员用户】,普通用户,那么我们怎么切换这两种用户呢?
- 切换root用户
su -
- 切换普通用户就是su后面加个用户名
su 用户名
- 在linux中有三种“人”【角色】:拥有者,所属组,other
- 其中第一个lin就是拥有者,第二个是所属组,其他就是other
- su 用户名,是从root变成普通用户,刚刚上面也说了
- 但是我不想直接变成root,但是我想以root的身份执行一个工作,怎么做呢?
- 在执行命令前加上一个sudo
- 那么为什么sudo对指令进行提权的时候,输入的是我们自己密码?那样不是很不安全,用root身份想干啥干啥
- 默认普通目前无法执行sudo ,暂时不解决,之后用vim再来解决这个问题
四、linux中文件的权限
4.1 文件访问者的分类(人)
- 文件和文件目录的所有者:u—User(中国平民 法律题)
- 文件和文件目录的所有者所在的组的用户:g—Group(不多说)
- 其它用户:o—Others (外国人)
4.2 文件类型和访问权限(事物属性)
- 文件的属性权限一般有三种
- r,读
- w,写
- x,可执行权限
- x,可执行权限
我们来看下面这里
[lin@shilin lesson1]$ ls -l total 0 -rw-rw-r-- 1 lin lin 0 Dec 8 10:39 test.txt [lin@shilin lesson1]$
- 其中
-rw-rw-r--
是七个字符,我们先不管第一个字符 - 来看后6个,33为一组,分别对应:拥有者,所属组,other
- 第一个字符:是否具有读权限,【如果是,就r,否则,就是-】
- 第二个字符:是否具有写权限,【如果是,就是w,否则,就是-】
- 第二个字符:是否具有可执行权限,【如果是,就是x,否则,就是-】
五、快速掌握修改权限的做法【第一种】
- 一个文件的权限,谁能修改?
- 文件的拥有者
- root
- 用命令怎么修改呢
5.1 修改拥有者的权限
减拥有者的权限
chmod u-w test.txt
加拥有者的权限
chmod u+rw test.txt
5.2 修改所属组的权限
减所属组的权限
chmod g-rw test.txt
加所属组的权限
chmod g+rw test.txt
5.3 修改other的权限
减other的权限
chmod o-rw test.txt
加other的权限
chmod o+r test.txt
5.4 修改多个角色的权限
那我想更改多个"人"【角色】的权限,怎么修改呢?
多个权限之间价格逗号即可~~【注意:一定是英文的!】
批量减少权限
chmod u-w,g-w test.txt
批量添加权限
chmod u+w,g+w,o+w test.txt
删除所有权限
chmod u-rw,g-rw,o-rw test.txt
5.5 一键添加或删除所有权限
- 这里的
a
就是all
的意思【所有】
添加所有权限
chmod a+r test.txt
删除所有权限
chmod a-r test.txt
- 对于普通用户,自身要受到对应权限的约束,即使这个文件是自己的!
- 对于root用户,不受权限约束的!
- 对于其他用户,文件对应的是other选项,这个选项是没有读和写权限的
注意:对于文件的拥有者,如果删除了文件的拥有者权限,但是所属组的没有删除,它也会禁止读写操作
结论:权限只会匹配一次!
5.6 更改文件的拥有者
chown root test.txt
我们回到上面的那里
- 这个时候我们把拥有者的改成root用户,但是所属组还是原来的
结论:身份识别的时候只识别一次,一旦匹配成功就不继续匹配了,如果失败就继续匹配
5.7 更改文件的所属组
chgrp root test.txt
这个时候文件也就普通用户都不属于了
这里如果再加上other的读和写的权限,就又可以了~~
chmod o+rw test.txt
5.8 同时更改拥有者和所属组
chown lin:lin test.txt
那么怎么没有修改other的指令呢?
Linux权限命令详解(二):https://developer.aliyun.com/article/1426986