Linux一一第五章、文件权限与目录配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuanyin235/article/details/83018538

Linux一般将文件可存取的身份分为三个类别,分别是owner/group/others,且三种身份各有read/write/execute等权限。

5.1 使用者与群组

1.文件拥有者(owner)

        设置权限,只有此文件的拥有者才能查看和修改该文件

2.群组概念(group)

        主要针对团队开发资源的时候,组员之间可以相互修改对方的数据,也就是组员内部共享。

3.其他人的概念(others)

 万能的天神:root(最高权限)

5.2 Linux文件权限概念  

5.2.1 Linux文件属性

首先,我们转换成root权限后利用ls -al指令列出所有文件详细的权限和属性(包含隐藏文件,就是文件名第一个字符为“.”的文件)

下面分别解释一下上面七个字段的相关意思:

第一个字符示例解释:

第二栏表示有多少文件名链接到此节点(i-node):

第三栏表示这个文件(或目录)的“拥有者账号”

第四栏表示这个文件的所属群组

第五栏为这个文件的容量大小,默认单位为Bytes

第六栏为这个文件的创建日期或者是最近的修改日期

第七栏为这个文件的文件名

5.2.2 如何改变文件属性与权限

先介绍几个常用于群组、拥有者、各种身份的权限之修改的指令,如下所示:

chgrp:改变文件所属群组

          注意:要被改变的群组名称必须要在/etc/group文件内存在才行,否则就会显示错误!

例如我们用nano指令nano .gitmessage创建一个隐藏的gitmessage文件,然后利用-w xxx指令写入内容xxx,最后按下[Ctrl] + O保存,按下[Ctrl] + X退出。然后我们利用chgrp指令去修改.gitmessage的所属群组为users.

chown:改变文件拥有者

           注意:使用者必须是已经存在系统中的账号,也就是在/etc/passwd这个文件中有记录的使用者名称才能改变。

chrown的用法:还可以顺便直接修改群组的名称,此外,如果要连目录下的所有次目录或文件同时更改文件拥有者的话,直接加上-R的选项即可

示例:

chmod:改变文件的权限,SUID,SGID,SBIT等等的特性

有两种方式:分别可以使用数字或者是符号来进行权限的变更

5.2.3 目录与文件之权限意义:

权限对文件和目录的重要性

注意点:针对目录x是进入该目录的权限,只有r而没有x,那么你就无法切换到该目录下,也就无法执行该目录下的任何指令。所以,要开放目录给任何人浏览时,应该至少也要给予r及x的权限,但w权限不可随便给。

       原因:如果有一个文件你无法读、无法编辑也无法执行,即该文件对你来说属于"others"身份,且没有"rwx"权限。不过你对此文件所在的目录具有"rwx"完整权限,那么虽然你没有权限去操作文件内容,但是你却能够删除这个文件。

       就好比有人把一个完全密封的数据夹放你办公室的抽屉中,因为完全密封你也打不开、看不到这个数据夹的内部数据(对文件来说,你没有权限)。但是因为这个数据夹是放在你的抽屉中,你当然可以拿出/放入任何数据在这个抽屉中(对目录来说你具有所有权限),所以,情况就是:你打开抽屉,拿出这个没办法看到的数据夹、将他丢到走廊上的垃圾桶(顺利删除)!

示例演示:

先以root身份在所有人都可以工作的/tmp目录下创建一个名为testing的目录,该目录权限为744且目录拥有者为root,另外在该目录下创建一个空的名为testing文件,如下所示:

接下来我们看看一般用户读写该文件的权限:由于一般用户只有r权限,所以并不能访问testing目录

但是,如果我们将该目录修改为属于用户本身,会怎么样?

所以我们看到testing文件夹被一般用户删除了,所以x在目录当中是与“能否进入该目录”有关,至于w则具有相当重要的权限,因为它可以让使用者删除、更新、新建文件或目录,是很重要的参数!

使用者操作功能与权限

5.2.4 Linux文件种类与扩展名

常用的文件扩展名:

5.3 Linux目录配置

猜你喜欢

转载自blog.csdn.net/xuanyin235/article/details/83018538