Linux权限命令详解(一):https://developer.aliyun.com/article/1426985
六、快速掌握修改权限的做法【第二种】
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)合理吗?
- 删除一个文件和目标文件有关系吗? ---->没有关系!!!
- 那么和谁有关系呢? ---- >和我所在的目录有关系!!!
- 这个目录是这个用户的拥有者,在我自己的目录里创建文件就要受到我管束~~
所以删除文件是由这个目录的拥有者来管理,删除一个文件的本质就是修改这个目录的内容
- 所以创建一个目录的时候是默认去掉写权限的,一个外来用户进入到这个目录是不能进行创建文件的~~
本期内容就到这里了,感谢大家的收看,欢迎三连~~