【Linux】文件权限管理

问题:创建一个目录,进入目录,在目录里创建文件并ls显示出来各需要什么权限?

1.创建目录需要什么权限?

建一个目录temp,将目录文件属性的拥有者和所属组都设置成超级用户root(此操作要在root模式下执行)
这里写图片描述

回到普通用户模式,进入temp目录中创建一个目录看能否成功?
会发现没有权限,此时目录文件属性的拥有者和所属组都是root ,在当前普通用户模式下(即你自己)是没有没有权限在temp里新建目录的。
这里写图片描述

我们再将目录文件属性的拥有者改回普通用户模式试一下(在root模式下改回来),再回到普通用户模式,看此时能否在temp下建新目录?
这里写图片描述
发现成功了,那么就是说用户创建目录必须是在目录的拥有者属性是自己的时候,才能创建新目录。但是也有例外。那就是根目录下的tmp目录。
这里写图片描述
tmp的拥有者属性是root,普通用户模式下,我们在它里面新建目录就可以,但是其他目录的拥有者也为root时,普通模式下操作就不行,没有权限。
这里写图片描述

结论:用户要创建目录必须是在目录的拥有者属性是自己的时候或是在tmp目录下。

2.进目录需要什么权限?
(1)普通用户模式下

在主工作目录下创建好了文件夹code,显示文件属性
这里写图片描述

为了探究进目录需要什么权限,我们先把目录文件拥有者文件属性都置为000,即拥有者的文件属性为:不可读不可写不可执行
这里写图片描述

我们现在要进目录,发现权限不够,如下:
这里写图片描述
那么现在我们挨个试一下,看拥有者是要得到什么权限才能进入目录。

先更改拥有者的文件属性为:可读不可写不可执行
这里写图片描述
进入code,发现拥有者的读权限是不能进入目录文件的。

那我们再次更改拥有者的文件属性为:不可读可写不可执行
这里写图片描述
进入code,发现拥有者的写权限也是不能进入目录文件的。

再次更改拥有者的文件属性为:不可读不可写可执行
这里写图片描述
进入code,发现拥有者的可执行权限可以进入目录文件的。

(2)在超级用户模式下
在超级用户模式下,我们也是先把code目录文件拥有者文件属性都置为000然后进入code目录,发现成功了,也就是说root模式下,code拥有者的属性不需要可执行性,也就是说这些权限是用来约束普通用户的,超级用户root不受约束。
这里写图片描述
结论:
在普通用户下,进入目录需要给目录拥有者可执行权限。
在超级模式下,进入目录不受权限约束。

(3)在目录中创建文件需要什么权限?

接着上面的,普通用户下进入目录要给目录拥有者属性一个可执行权限。
那就先只给code目录拥有者属性可执行权限,先进入目录,看此时能否创建文件。
这里写图片描述
发现目录拥有者属性只有可执行权限时,是无法创建文件的,那么我们再给它加上写权限,试一下看能否成功?
这里写图片描述
发现成功了。

结论:要在目录下创建文件还需要在拥有者属性有可执行权限的基础上,增加写权限。

(4)将目录中的文件ls显示出来需要什么权限?
接上,我们要将code目录中的test文件显示出来,看能否成功?
这里写图片描述
发现目录拥有者属性有可执行权限以及写权限时,是无法ls显示文件的,那么我们再给它加上读权限,试一下看能否显示成功?
这里写图片描述
发现成功了。

结论:要在目录下ls显示文件还需要在拥有者属性有可执行权限和写权限的基础上,增加读权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值