目录的三权限之——R,W,X之间的爱恨纠葛!

目录的三权限之——R,W,X之间的爱恨纠葛!


文件的权限我们一般都很容易了解,但是目录的权限,我们可能很多人就容易含混不清了,而许多时候目录的权限也是非常重要的。

因此我专门做了一个关于目录其他用户的权限实验,以此来解开目录权限的神秘面纱。在此我分别设定了三种情况,看看当某个目录/testdir对其他用户user1仅没有R,W,X权限时,其他用户对此目录有什么操作权限呢? 

一、当目录的O=WX时,即没有读权限

当目录的其他用户权限为o=wx,即无读权限时。其他用户不能使用#ll命令查看目录内的文件列表,但可以使用cd命令进入目录;能够用#touch#rm#cat#nano,或echo来在目录内新建,删除,查看,修改自己的文件(注:图二中 echo没有修改成功是语法错误,非权限原因),以下为执行结果的截图,其中图一为执行前的环境:

目录的三权限之——R,W,X之间的爱恨纠葛! 

              图一 执行环境

目录的三权限之——R,W,X之间的爱恨纠葛! 

    图二 cd可进入,ll不能打开目录列表,能增删查看及修改目录内的文件

目录的三权限之——R,W,X之间的爱恨纠葛! 

      图三 nano 修改成功 

二、当目录的O=RX时,即没有写权限

当目录的其他用户权限为o=rx时,即无写权限时,其他用户可以用#ll命令打开目录内的文件列表或#cd进入目录;也可以用#cat 查看目录内自己的文件,或用echonano命令修改目录内自己的文件;但是不能在目录内创建或删除自己的文件,执行时截图如下:

目录的三权限之——R,W,X之间的爱恨纠葛! 

    图四 cd可进入,ll可打开目录,可修改目录内文件,但不可增删文件

目录的三权限之——R,W,X之间的爱恨纠葛! 

      图五 修改成功,移除文件权限不够

三、当目录的O=RW时,即没有执行权限

当目录的其他用户的权限为o=rw时,及其他用户对目录无执行权限时;其他用户不可用#ll命令进去目录文件列表(Permission denied,但是会显示目录的文件名,而文件详细信息显示为“?”号),也不能用cd命令进入命令;且不能用touchrm命令在目录内新建文件或删除目录内自己的文件,甚至不能用cat命令读目录内自己的文件;且也不能使用echonanovim来修改目录内自己文件的内容。

目录的三权限之——R,W,X之间的爱恨纠葛! 

     图六 ll无权限,但有带?的文件列表显示,不能查看增删修改文件

目录的三权限之——R,W,X之间的爱恨纠葛! 

      图七 nano修改时提示无权限

目录的三权限之——R,W,X之间的爱恨纠葛!目录的三权限之——R,W,X之间的爱恨纠葛! 

      图 八 用vim修改加!强制保存退出时提示

我们可以把以上内容的结果总结成如下列表:

目录权限

ll打开目录

Cd进入目录

新建、删除文件

查看修改文件

O=wx

O=rx

O=rw

从中我们可以总结出什么来呢?

一般来说R,W,X分别代表读写和执行权限的,而在目录上时也大体是如此:

R权限是使目录有读权限的,即能用ll命令查看目录内文件列表的;

W权限是使目录有写权限的,即能用touchrm命令增删目录内用户有此权限的文件;

X权限是目录的执行权限,在此代表着可用cd命令进入此目录。

 

而对目录类的文件的查看与修改动作似乎是与目录的权限无关的,只与文件本身的权限有关,除非目录没有x执行权限。

 

不过我们会发现:当权限o=rw,即有读权限和写权限时,其他用户也是不能打开文件列表或在目录内增删文件的。这是为什么了?再仔细看看,我们就可以发现问题了。

 

o=rw时是没有执行权限的,即进入不了目录的;而图八中的错误提示也为“cant open file for writing”,也就是说不能够打开文件所以不能修改。

也就是说但目录对其他用户没有x权限时,其他用户是进入不了此目录的。当你进入不了目录时,你当然就不能对目录内的文件做任何操作了。所以当我们想对目录执行目录内文件列表查看时,除了要有r读权限还要有x执行权限;同理要对目录执行w操作时,也同时还需要x执行权限。

原创文章,作者:beyond,如若转载,请注明出处:http://www.178linux.com/30835

(0)
beyondbeyond
上一篇 2016-08-08 16:11
下一篇 2016-08-08 16:11

相关推荐

  • 日志分析工具Awstats实战之Nginx篇-分析结果静态化

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1316979 前言: Awstats 是在 SourceForge 上发展很快的一个基原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处…

    Linux干货 2016-08-15
  • N25-第十一周博客作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 点对点加密过程如下: 发送方根据单向加密算法计算数据的特征码 用私钥加密这段特征码,生产数字签名,将数字签名附着在数据后面 发送方生产临时对称密钥,用对称加密算法结合对称加密密钥加密整段数据(数据+数字签名) 为保证接收方可以解密,发送方用接收方的公钥加密对称加密密钥,附加在数据后面 接收方用自己的私钥解密数据…

    Linux干货 2017-03-30
  • sed文本处理工具

    Sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转…

    Linux干货 2017-12-02
  • 【福利贴-招聘】- python运维开发工程师

    职位描述  岗位职责: 1、负责公司CMDB的建设,包括资产管理、dns、工单系统、ngnix自动化、监控等的开发 2、帮助运维团队和业务团队提高自动化效率 3、维护和开发持续化集成环境; 4、负责公司运维系统的规划、选型、部署上线和日常维护管理工作; 5、负责CMDB团队的建设、管理和人才培养机制…

    Linux干货 2015-04-03
  • MySQL高可用架构之MHA

    MySQL高可用架构之MHA 1、关于MHA MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了automating master failover功能。MHA在监控到master节点故障时,会提升其中拥有的最新数据的slave节点成为新的master节点,在此期间,MHA会通过其它从节点获取额外信息来避免一致性…

    Linux干货 2017-03-30
  • 马哥教育网络第20期第八周课程练习

    1、 请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。在局域网内,大量主机之间的通信通过arp广播来连接目的主机地址的,为减少在共享环境里的介质,网桥的作用是将广播域划分为多个小的冲突域,但广播域没有变。工作在OSI数据链路层,端口很少。基于软件。可以处理上层事务。 集线器:对接收到的信号进行再生整形放大,扩大网络传输距离,工作在O…

    Linux干货 2016-08-15