目录
前言
权限概述
权限对目录的影响
权限对文件的影响
权限操作
预设权限码:umask
特殊权限学习
前言
前几日跟一同学交流才发现在学校学习的才是最难的,真正的工作都是捡拿手的来。怎么去尝试新的东西呢?学习的时候将整个Linux系统大概都讲了一遍,从底层到应用。可惜的是没能记住多少?这段时间有空就复习复习吧。
本次记录的内容主要是介绍权限问题。为什么要熟悉权限呢?就是当你执行某一命令如果屏幕出现『Permission deny』的时候不要一脸懵逼。
权限概述
要了解文件权限,就要先了解一个命令『ls』,这是一个查看档案的指令,执行『ls -al』
ls是list的意思,使用这个命令显示文件和目录的名称和相关属性。查询结果分析:
档案权限类型 连接数 文件所属用户 文件所属组 档案容量 档案最后修改的时间 文件目录的名称
要注意在第一列出现的(----------.)这个字段,这个字段也包含了丰富的含义。分别表示了文件类型和不同用户如何区分对文件的控制权限,详细内容可以查看『操作系统03-2.权限』。权限匹配规则是由左至右,匹配即执行。如果要更改权限可以使用命令『chmod』。
chmod 更改权限的方法
1. r=4 w=2 x=1
chmod 777 filename chmod 666 filename
2.-|+|=
u(用户) g(组) o(其他用户) a(all)
chmod u=rwx,go=rx filename
chmod a+w filename # 为所有用户加上写权限
权限对目录的影响
目录主要的作用是记录文件名的清单,我也就不细讲了,容易上头。
目录具有"r"读权限时,表示可以查看目录下的文件名资料,比如使用ls查看目录内容
目录具有"w"写权限时,写权限对于目录来说是非常重要的,具有该权限你可以拥有以下权限:
- 在该目录下新的文件与目录;
- 删除该目录下已经存在的文件与目录(该目录下文件和目录的权限不能限制此操作);
- 更改目录下文件和目录的名称;
- 移动目录下文件的位置
目录具有"x"执行权限时,目录不能被执行,只能决定当前目录是否是工作目录,没有执行权限,是没法通过『cd』命令切换至当前目录
权限对文件的影响
文件其实是记录内容的地方,不管什么类型的文件,权限的意义都是针对内容,与文件的名称没有关系。
文件具有"r"读权限时,可以查看文件存储的内容,如cat
文件具有"w"写权限时,可以更改文件内容,增、改的权限,但是不包含(删)
文件具有"x"执行权限时,该权限表示可以被系统执行
权限操作
如果要读一个目录下的文件那该目录需要执行权限,文件需要读权限
如果要编辑一个目录下的文件那该目录需要执行权限,文件需要读写权限
要执行目录下的文件那该目录需要执行权限,文件需要读和执行权限
如果要在目录下添加删除文件目录,那目录需要写和执行权限
预设权限码:umask
什么是umask呢?就是在新建一个文件或者目录时预设权限。
更改umask值
[root@localhost]# umask 002
[root@localhost]# touch test3
[root@localhost]# mkdir test4
[root@localhost]# ll -d test[34] #中括号[ ]代表中间有个指定的字元,而不是任意字元的意思
-rw-rw-r-- . 1 root root 0 6月16 01:12 test3
drwxrwxr-x . 2 root root 6 6月16 01:12 test4
特殊权限学习
3个特殊权限学习 粘滞位 sgid suid
粘滞位 功能只能针对目录 (只有在该目录中自己建立的文件才能删除,不可以删除其它用户的文件)
chmod a=rwx,o+t tmp
chmod 1777 tmp
sgid 功能只能针对目录 (在目录中建立的所有文件或目录,会继承父目录的属组)
chmod a=rwx,g+s 目录
chmod 2777 目录