权限:r w x 超详细分析(一)

权限:r w x 超详细分析(一)

导读:由于最近作者和朋友讨论rwx权限时,存在一些分歧,故做出本次测试,供大家参考。

零、测试前的准备:

首先新建测试用户 tester,新建测试目录 powertest,并设 other 权限为 r
在这里插入图片描述
在这里插入图片描述
/powertest/目录结构如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、首先我们来测试 r 权限:

1.r权限对于目录的意义:

拥有此权限表示可以读取目录结构列表,也就是说可以查看目录下的文件名和子目录名,注意:仅仅指的是名字。
在这里插入图片描述
我们可以看到tester对/powertest/dir_r/目录只有r权限,
在这里插入图片描述
我们发现,当tester对/powertest/dir_r/目录只有r权限时,tester只能ls(不能执行tree)读取/powertest/dir_r/下目录和文件的名字,并不能查看内容和执行增删改操作(包括:cd、touch、mkdir、rm、mv、cp、tar等)。

通过测试我们发现:当用户对目录只有r权限时,用户只能查看该目录下文件和子目录的名字,对应的操作为:ls。

2.r权限对于文件的意义:

用于此权限表示可以读取此文件的实际内容
在这里插入图片描述
可以看到tester对/powertest/file_r文件只有r权限
在这里插入图片描述
可以cat,more
在这里插入图片描述
使用vi/vim查看编辑 并wq保存退出
在这里插入图片描述
在这里插入图片描述
但是发现只拥有r权限的tester虽然不能编辑/powertest/file_r文件,但是却可以删除它
在这里插入图片描述
这是因为,tester对/powertest/file_r的上层目录,即/powertest有rwx权限,所以它可以对/powertest/下的file_r进行删除。同样tester可以对/powertest/下的任何文件目录进行touch,rm,mv(改名字,移动即删除,)等操作,这个我们稍后再说。
但是我发现mv不能向/powertest中拷贝东西,原因还不清楚;
在这里插入图片描述
即:当用户对文件只有r权限时,用户只能查看该文件内容。相应的操作为:cat,more,vi/vim(只能查看,编辑后保存不了)。

问题一:

此处不得不提的还有一点:如果使用vi/vim时用 x!/wq! 保存竟然可以实现编辑!
具体情况如下:
在这里插入图片描述
首先,tester对/powertest/file_r文件是other且权限是r,时间是09:47.
当我们使用vi/vim编辑内容后,wq保存退出,此时弹出警告,提示为只读文件,我们q!退出。
在这里插入图片描述
再次vim进入查看,发现/powertest/file_r文件的内容并没有改变,且左下角依然提示为只读文件
在这里插入图片描述
ll查看发现并没有变化
在这里插入图片描述
接下来,我们vi/vim 编辑后使用 x! 保存退出
在这里插入图片描述
编辑时,一直提示为只读文件,
在这里插入图片描述
使用 x! 保存退出后,我们在vi/vim看一下
在这里插入图片描述
此时,文件已被修改; 并且,当我们再次查看/powertest/file_r文件权限时,发现:
在这里插入图片描述
/powertest/file_r文件的属主和属组已经被修改了,以前是root而现在是tester。
对于这个现象,我只想说surprise mother fucker????!!!!
查阅vi/vim官方文档后,我有点明白了!

http://vimdoc.sourceforge.net/htmldoc/editing.html#:w!

:w[rite]! [++opt] Like “:write”, but forcefully write when ‘readonly’ is
set or there is another reason why writing was
refused.
Note: This may change the permission and ownership of
the file and break (symbolic) links.
Add the ‘W’ flag
to ‘cpoptions’ to avoid this.
:写]! [++ opt]喜欢“:write”,但在’readonly’时强行写入
设置或写作的另一个原因是
拒绝了。
注意:这可能会更改权限和所有权
文件和中断(符号)链接。

添加’W’标志
'cpoptions’以避免这种情况。

所以在接下来的测试中,我们在vi/vim编辑时不使用wq!/x!强制保存退出!

二、接着我们来测试 w 权限

1.w权限对于目录的意义:

拥有此权限表示具有更改该目录结构列表的权限,总之,目录的w权限与该目录下的文件名或子目录名的变动有关,注意:指的是名字。具体如下:
在这里插入图片描述
我们可以看到tester对/powertest/dir_w/目录只有w权限。
我们看一下/powertest/dir_w/目录下有什么
在这里插入图片描述
测试
在这里插入图片描述
通过操作我们发现:如果用户对目录只有w权限,那么,该用户不能执行任何操作。
此时,对目录而言我们对w权限的测试进行不下去了,所以我们先暂时放弃,而去测试w对文件的权限

2.w权限对于文件的意义:

拥有此权限表示可以编辑、添加或者是修改该文件的内容。但是不包含删除该文件,因为由上面权限对于目录的意义得知删除文件或目录的条件是什么。
在这里插入图片描述
首先,我们看到tester对/powertest/file_w文件只有w权限
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过操作发现,当tester对/powertest/file_w文件只有w权限时,cat,more,vi/vim都不可以。
在这里插入图片描述
但是我们发现,可以通过echo及重定向对文件进行编辑;我们来用root来查看一下
在这里插入图片描述
即:当用户对文件只有w权限时,用户只能通过 echo+重定向 对文件进行编辑;
但不能查看文件内容,如:cat,more,vi/vim(查看),通过上面r权限的测试,我们知道对文件内容进行读取是r权限所对应的操作。

此时还要提到的是:vi/vim编辑后,用x!或wq!保存后,属主,属组仍会改变

三、现在测试一下 rw 权限

1.rw权限对于目录的意义:

通过操作我们发现:当用户对目录只有r权限时,用户只能查看该目录下文件和子目录的名字。
通过操作我们发现:如果tester对/powertest/dir_w/目录只有w权限,那么,tester不能执行任何操作。
在这里插入图片描述
首先tester对/powertest/dir_rw/目录只具有rw权限
在这里插入图片描述
我们发现可以ls查看dir_rw目录结构
在这里插入图片描述
但是其它的操作都不行
即:当用户对目录只拥有rw权限时,用户只能ls查看目录结构。

2.rw权限对于文件的意义:

即:当用户对文件只有r权限时,用户只能查看该文件,即:cat,more,vi/vim(只能查看,编辑后保存不了)。
即:当用户对文件只有w权限时,用户只能通过 echo+重定向 对文件进行编辑;
在这里插入图片描述
tester对/powertest/file_rw文件只有rw权限
在这里插入图片描述
tester可以查看文件内容
在这里插入图片描述
vi/vim/编辑后,使用wq保存退出
在这里插入图片描述
Cat查看后发现/powertest/file_rw文件内容发生变化
在这里插入图片描述
即:用户拥有rw权限可以对文件内容进行查看,修改,对应的操作为:cat,more,vi/vim。

四、现在我们来测试 x 权限

1.x权限权限对于目录的意义:

拥有目录的x权限表示用户可以进入该目录成为工作目录,能不能进入一个目录,只与该目录的x权限有关,如果用户对于某个目录不具有x权限,则无法切换到该目录下,也就无法执行该目录下的任何命令,即使具有该目录的r权限。
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述
通过测试我们发现:当用户对一个目录只有x权限时,该用户只能可以进入该目录,对应的操作为cd。
且如果用户对于某目录不具有x权限,则该用户不能查询该目录下的文件的内容,注意:指的是内容,如果有r 权限是可以查看该目录下的文件名列表或子目录列表的。所以要开放目录给任何人浏览时,应该至少要给与r及x权限。

2.x权限对于文件的意义:

表示该文件具有可以被系统执行的权限。文件是否能被执行就是由该权限来决定的,跟文件名没有绝对的关系。
在这里插入图片描述
首先,我们看到,tester对/powertest/file_x文件只具有x权限
在这里插入图片描述
即:当用户对文件只具有x权限时,不能进行任何操作

至此我们测试了用户分别拥有:r、w、rw、x权限的情况:
R:
通过测试我们发现:当用户对目录只有r权限时,该用户只能查看该目录下文件和子目录的名	字,对应的操作为:ls。

即:当用户对文件只有r权限时,用户只能查看该文件内容。相应的操作为:cat,more,vi/vim(只能查看,编辑后保存不了)。

W:
通过操作我们发现:如果用户对目录只有w权限,该用户不能执行任何操作。

即:当用户对文件只有w权限时,用户只能通过  echo+重定向   对文件进行编辑;

RW:
通过操作我们发现:当用户对目录只拥有rw权限时,用户只能ls查看目录结构。

即:用户拥有rw权限可以对文件内容进行查看,修改,对应的操作为:cat,more,vi/vim。

X:
通过测试我们发现:当用户对一个目录只有x权限时,该用户只能可以进入该目录,对应的操作为cd。

即:当用户对文件只具有x权限时,不能对该文件进行任何操作。

五、现在我们来分别测试:rx、wx

1.rx

rx权限对目录的意义:

在这里插入图片描述
首先,tester对/powertest/dir_rx/目录仅有rx权限
在这里插入图片描述
在这里插入图片描述
通过测试我们发现:当用户对目录仅具有rx权限时,该用户可以进入该目录并查看目录结构(cd,ls,tree),但是并不能改变目录结构(不能touch,mkdir,rm等)

rx权限对文件的意义:

在这里插入图片描述
首先,tester对/powertest/file_rx文件仅具有rx权限
在这里插入图片描述
可以查看文件内容
在这里插入图片描述
在这里插入图片描述
vi/vim只能查看,不能编辑后wq不能保存退出
在这里插入图片描述
echo+重定向不能编辑
在这里插入图片描述
可以执行文件

即:当用户对文件仅具有rx权限时,该用户只能查看(cat,more)该文件内容,若该文件为可执行文件也可以执行。并不能编辑修改文件内容

2.wx

WX权限对目录的意义:

在这里插入图片描述
首先,tester对/powertest/dir_wx/目录仅有wx权限
在这里插入图片描述
通过测试我们发现:当用户对目录仅具有wx权限时,该用户可以进入(cd)该目录并改变目录结构,包括1.在该目录下新建(touch、mkdir)文件或子目录;2.删除(rm)该目录下已经存在的文件或子目录;3.将该目录下已经存在的文件或子目录进行重命名(mv);4.转移(cp、mv)该目录内的文件或子目录的位置。但不能查看(tree、ls)该目录结构。

WX权限对文件的意义:

在这里插入图片描述
首先,tester对/powertest/file_wx文件仅有wx权限
在这里插入图片描述
vi/vim显示权限不够
在这里插入图片描述
在这里插入图片描述
Sh不能执行
即:当用户对文件仅具有wx权限时,该用户只能通过echo+重定向编辑该文件内容,若该文件为可执行文件也可以执行。

六、最后我们来测试:rwx

1.rwx权限对于目录的意义:

在这里插入图片描述
首先tester对/powertester/dir_rwx/目录有rwx权限
在这里插入图片描述
在这里插入图片描述
发现在使用mv命令移动目录时操作不被允许,这里的问题是对操作目录没有w权限
在这里插入图片描述

2.rwx权限对于文件的意义:

在这里插入图片描述
如果用户拥有了文件的rwx权限,那么当然可以查看,编辑,修改,保存文件内容,也可以执行文件。
这里要补充的一点是:对一个文件或目录能否用mv命令重命名或移动,取决于用户对该文件或目录的上层是否有w权限!

即:当用户拥有rwx权限时,所有操作都可以

七、总结

R:
通过测试我们发现:当用户对目录只有r权限时,该用户只能查看该目录下文件和子目录的名字,对应的操作为:ls。
即:当用户对文件只有r权限时,用户只能查看该文件内容。相应的操作为:cat,more,vi/vim(只能查看,编辑后保存不了)。

W:
通过操作我们发现:如果用户对目录只有w权限,该用户不能执行任何操作。
即:当用户对文件只有w权限时,用户只能通过  echo+重定向   对文件进行编辑;

RW:
通过操作我们发现:当用户对目录只拥有rw权限时,用户只能ls查看目录结构。
即:用户拥有rw权限可以对文件内容进行查看,修改,对应的操作为:cat,more,vi/vim。

X:
通过测试我们发现:当用户对一个目录只有x权限时,该用户只能可以进入该目录,对应的操作为cd。
即:当用户对文件只具有x权限时,不能对该文件进行任何操作。

RX:
通过测试我们发现:当用户对目录仅具有rx权限时,该用户可以进入该目录并查看目录结构(cd,ls,tree),但是并不能改变目录结构(不能touch,mkdir,rm等)
即:当用户对文件仅具有rx权限时,该用户只能查看(cat,more)该文件内容,若该文件为可执行文件也可以执行。并不能编辑修改文件内容

WX:
通过测试我们发现:当用户对目录仅具有wx权限时,该用户可以进入(cd)该目录并改变目录结构,包括:
1.在该目录下新建(touch、mkdir)文件或子目录;
2.删除(rm)该目录下已经存在的文件或子目录;
3.将该目录下已经存在的文件或子目录进行重命名(mv);
4.转移(cp、mv)该目录内的文件或子目录的位置。但不能查看(tree、ls)该目录结构。
即:当用户对文件仅具有wx权限时,该用户只能通过echo+重定向编辑该文件内容,
若该文件为可执行文件也可以执行。

RWX:几乎所有操作都可以

Linux中权限(r、w、x)对于目录与文件的意义

一、权限对于目录的意义

1、首先要明白的是目录主要的内容是记录文件名列表和子目录列表,而不是实际存放数据的地方。
  2、r权限:拥有此权限表示可以读取目录结构列表,也就是说可以查看目录下的文件名和子目录名,注意:仅仅指的是名字。
  3、w权限:拥有此权限表示具有更改该目录结构列表的权限,总之,目录的w权限与该目录下的文件名或子目录名的变动有关,注意:指的是名字。具体如下:
  1)在该目录下新建新的文件或子目录。
  2)删除该目录下已经存在的文件或子目录(不论该文件或子目录的权限如何),注意:这点很重要,用户能否删除一个文件或目录,看的是该用户是否具有该文件或目录所在的目录的w权限。
  3)将该目录下已经存在的文件或子目录进行重命名。
  4)转移该目录内的文件或子目录的位置。
  4、x权限:拥有目录的x权限表示用户可以进入该目录成为工作目录,能不能进入一个目录,只与该目录的x权限有关,如果用户对于某个目录不具有x权限,则无法切换到该目录下,也就无法执行该目录下的任何命令,即使具有该目录的r权限。且如果用户对于某目录不具有x权限,则该用户不能查询该目录下的文件的内容,注意:指的是内容,如果有r 权限是可以查看该目录下的文件名列表或子目录列表的。所以要开放目录给任何人浏览时,应该至少要给与r及x权限。

二、权限对于文件的意义

1、也应该明白的是文件是实际含有数据的地方,所以r、w、x权限对文件来说是与其内容有关的。
  2、r权限:用于此权限表示可以读取此文件的实际内容。
  3、w权限:拥有此权限表示可以编辑、添加或者是修改该文件的内容。但是不包含删除该文件,因为由上面权限对于目录的意义得知删除文件或目录的条件是什么。
  4、x权限:表示该文件具有可以被系统执行的权限。文件是否能被执行就是由该权限来决定的,跟文件名没有绝对的关系。

Operation not permitted		操作不许可
Permission denied				没有权限

后记:由于作者水平有限,本次测试中可能存在一些问题,希望大家批评指正感激不尽!

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值