linux中权限简单介绍
在上一章讨论modifytime和accestime的时候,我们曾说过几个查看文件属性的几种方法,我们在用stat命令的时候曾详细地查看过一个文件的属性,在这里我们打算再详细地讨论一下文件的属性。 以及linux环境下 进入已有目录 创建文件 并显示文件 各至少需要什么权限
权限的类型
这里为了方便起见,我们就使用ll命令来查看一下当前目录下的文件类型
我们可以很明显地看到在文件的开头有九个字符 我们把他们三个三个分为一组来进行查看,首先我们来简单介绍一下权限的类型,我们打开列表可以看到,在这九个字符中,来来回回也就只有rwx这三个字符,当然在这里我们介绍的就是这三种字符。
- r:可读权限
- w:可写如权限
- x:可运行权限
简单来说就是这三种权限,而且他们的位置相对来说是固定的,前面我们把他们分成三组,每一组显示的权限符号均是rwx以此排列,如果该文件没有该权限,那么原本应该存在字符的地方就会是一个“-”,表示我们没有该权限。同时对于我们来说显示字符更方便我们读写,但是计算机默认使用二级制读取,所以我们用二进制来表示权限也不失为一种方法而且非常简便例如rwx我们可以写成111,也就是十进制的7.用二进制表示在我们修改权限的时候也是十分方便的。这个我们后面会说到。
权限的所属
在上面我们所说到的内容中我们曾说过我们把九个字符分成三组一组算是一组权限,但是为什么会有三组呢?这里就要提到我们所说的权限的所属了,因为这个文件可能不是只给创建者使用的,所以我们对于不同的访问者就需要设定不同的权限以此来限制访问,防止出现一些不必要的问题,前面我们进行过分组,从左往右每三个字节分为一组。从左到右依次是rwx(Owner)rwx(Group)rwx(Other).所有者用户组和其他。这三个归属均有我们上述所讲的三种权限。可读可写可运行。
修改权限
了解了文件权限的读取以及文件权限的所属,那我们如何去管理它们呢,这时我们就需要去了解如何修改文件的权限。文件权限的修改有两种方法,文字设定法和数字设定法。
1. 文字设定法:
chmod [who] [+ | - ] [mode] 文件名
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
放栗子:我们修改上面所示的文件的
我们很明显地能够看到,这里我们去掉了第一个文件Other的克读权限。我们在操作单个文件的权限的时候很容易,但是如果当我们需要修改这个文件中多个从属的多个权限的时候呢?难道需要我们一个一个地去修改么,这样做显而易见是很麻烦的所以这时候就不得不提我们第二种修改权限的方法。数字设定法
在前面我们曾说过一个文件的三组权限可以用三个二进制数字来表示,所以我们可以以二进制的形势来写出这三组权限的范围。例如上图的code1文件的前两组均为可读可写 那么此时我们可以这样表示 111 111 000 转换成十进制就是770,如果我们想把所有从属中的权限全部改为可读可写可运行的呢?还是上面的模式
chmod XXX xxx.x
放栗子:
有了这些基础的知识,我们来思考一下几个问题,进入一个文件需要什么权限呢?在目录下(hongmei)创建文件,并显示文件,至少需要什么权限?
我们来进行三次尝试便可以知道。
由上面的尝试我们可知 只有当文件有可执行x的权限的时候,我们才可以进行访问。而在录下创建文件呢照例,我们继续进行尝试
结论:在一个目录下创建文件,在进入目录至少需要的权限 x(可执行)前提下,还需要权限w(可写),即在目录下创建文件 ,至少要有-wx(可写可执行)权限。
综上所述:我们对于权限的操作以及识别有了简单的了解,这使得我们的Linux操作更加得心应手。如有错误,还望各位前辈指出。