如何 套用模板做网站彩票网站怎么做
Linux权限命令详解
文章目录
- Linux权限命令详解
 - 一、什么是权限?
 - 二、权限的本质
 - 三、Linux中的用户
 - 四、linux中文件的权限
 - 4.1 文件访问者的分类(人)
 - 4.2 文件类型和访问权限(事物属性)
 
- 五、快速掌握修改权限的做法【第一种】
 - 5.1 修改拥有者的权限
 - 5.2 修改所属组的权限
 - 5.3 修改other的权限
 - 5.4 修改多个角色的权限
 - 5.5 一键添加或删除所有权限
 - 5.6 更改文件的拥有者
 - 5.7 更改文件的所属组
 - 5.8 同时更改拥有者和所属组
 
- 六、快速掌握修改权限的做法【第二种】
 - 6.1 八进制
 
- 七、文件类型
 - 八、可执行权限
 - 九、创建文件的默认权限
 - 9.1 权限掩码
 - 9.2 修改umask
 
- 十、目录的权限
 
一、什么是权限?
权限就是通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源,比如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,可执行权限
 
 -  
我们来看下面这里
 
[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的指令呢?
六、快速掌握修改权限的做法【第二种】
6.1 八进制

- 如上图所示,如果有一个字符就代表
1,如果是-就代表0 

我们想去掉所有人的所有权限可以这样做
chmod 000 test.txt
 

赋予所有权限就是下面这条命令
chmod 777 test.txt
 

保留拥有者的读写权限
chmod 600 test.txt
 


七、文件类型
在windows使用的是后缀名来区分文件类型的
而在linux中是不通过后缀区分文件类型【不是linux不用后缀】
那么通过什么区分呢?
ls -l第一个属性列

- -:普通文件,文本文件,可执行程序,库等都叫做普通文件
 - d:目录文件
 - b:块设备文件
 - c:字符设备文件
 - p:管道文件
 - l:链接文件
 
我们来挨个介绍一下
- 第一个
-普通文件 
平时创建的文件就是普通文件

- 第二个
d目录文件 

- 第三个
b块设备文件 
这个典型的代表就是磁盘
ls -l /dev/vda
 

- 第四个
c字符文件 
这个终端文件我们在linux命令章节讲过了,这里就不再赘述
ls -l /dev/pts/
 

- 第五个
p管道文件 
我们创建一个管道文件
mkfifo pipe
 

- 这里就可以通过管道文件来进行输出
 

- 第六个
l链接文件 
ln -s /home/lin/lesson1/test.txt xx.link
 
这个链接文件也就是相当于创建了一个快捷方式,直接指向了这个文件

- 如果删除了源文件,那么这个快捷方式也就不能用了
 

- 比如linux的根目录就有很多的链接文件
 

八、可执行权限
我们了解了读权限,写权限,那么可执行权限是什么呢?如何理解?
是一个可执行的文件,也有可执行权限,才能执行
能执行 = 具有可执行权限 + 一个可执行文件
- 如果我们要进入一个目录,需要什么权限? ----> 
进入一个目录,需要x权限 
我们来验证一下:
- 第一种情况:
 

- 第二种情况:
 

- 第三种情况:
 

- 可以看到去掉x权限就不能进入目录了~~
 
小结一下:
- 进入一个目录需要x权限
 - 目录的r权限:用户能否查看指定目录的文件信息
 - 目录的w权限:决定用户是否能在指定的目录内新建,修改,删除文件
 
九、创建文件的默认权限
linux创建文件的时候,为什么好像有默认权限?为什么是我们看到的样子?

- Linux创建的普通文件,起始权限是:0666,去掉x的
 - Linux创建的目录文件,起始权限是:0777,包含x的
 
- 再看上面的权限,我们的创建的普通文件也不是666,而是664,目录文件也不是777,而是775
 
9.1 权限掩码
umask
 
- 在创建文件的时候,要在起始权限中,过滤掉(不是简单的减法)再umask中出现的权限
 

9.2 修改umask
umask 0000
 

- 修改了umask后,创建出来的文件权限也发生了改变,所以是uamsk影响了我们的默认权限
 
最终权限 = 起始权限 & (~umask)


umask:Linux中的权限掩码!
十、目录的权限
- 为什么我们普通人竟然可以删除别人的文件(包括root)合理吗?
 

-  
删除一个文件和目标文件有关系吗? ---->没有关系!!!
 -  
那么和谁有关系呢? ---- >和我所在的目录有关系!!!
 

- 这个目录是这个用户的拥有者,在我自己的目录里创建文件就要受到我管束~~
 
所以删除文件是由这个目录的拥有者来管理,删除一个文件的本质就是修改这个目录的内容
- 所以创建一个目录的时候是默认去掉写权限的,一个外来用户进入到这个目录是不能进行创建文件的~~
 
本期内容就到这里了,感谢大家的收看,欢迎三连~~
