一、Linux中的文件权限与目录权限

  Linux中定义了3种访问权限,分别是r、w、x。其中r表示对象是可读的,w表示对象是可写的,x表示对象是可执行的,这3种权限组成一组rwx分别对应对象的3个安全级别。这3个安全级别分别是对象的所属者,对象的所属组,系统其他用户。比如图1-1所示,文件的权限

                    

                            图 1-1

二、理解权限(rwx)的位权值

  rwx3种权限中,每一个权限代表一个二进制位。其中r权限二进制表示为100,八进制表示为4;w权限二进制表示为010,八进制表示为2;r权限二进制表示为001,八进制表示为1;无任何权限表示为---,即二进制表示为000,八进制表示为0。所以拥有rwx权限即可表示为4+2+1即7,rw-权限表示为4+2+0即6,r-x权限表示4+0+1即5,r--权限即4,以此类推即可获得权限的位权值表示。

三、chmod命令的用法

  (1)chmod mode dest_file:改变指定文件或目录的权限,其中mode参数可以使用八进制模式或符号模式进行权限设置。

  (2)chmod -R mode dest_file:-R选项可以让权限改变递归地作用到文件和子目录。

  下面来说说使用常用符号模式进行权限设置,如下是在符号模式下指定权限的格式:

  chmod [ugo][[+-w][rwx]] dest_file

  符号模式中第一组字符定义了权限作用的对象:u代表所属者,o代表所属组,o代表系统其他用户,

  第二组字符中(+)表示你是想在现有权限基础上增加权限,(-)表示现有权限基础上移除权限,(=)表示将权限设置成后面的值,

  第三组字符中即是权限rwx。如下所示

  chmod u+w dest_file:给目标文件的所属者增加w权限。

  chmod u+wx,g+x,o+w dest_file:给目标文件的所属者增加w权限,所属组增加x权限,系统其他用户增加w权限。

  chmod o-w dest_file:给目标文件的其他用户移除w权限。

  chmod u=rwx dest_file:不管所属者拥有什么权限,该符号模式给所属者赋予rwx权限。

四、效果演示

  首先,在temp目录下创建222.txt文件,对应的权限如图4-1所示

          

                        图 4-1

接下来,用符号模式给222.txt文件的所属者增加x权限,所属组增加w权限,其他用户增加x权限,linux命令如下,执行后的效果如图4-2所示

  

 chmod u+x,g+w,o+x .txt

          

                        图 4-2

  再者,用八进制模式给222.txt文件的所属者移除w权限,所属组移除w权限,增加x权限,其他用户移除x权限,linu命令如下,执行后的效果如图4-3所示

  

 chmod  .txt

          

                          图 4-3

  

  我个人觉得符号模式与八进制模式都挺好用的,符号模式更接近自然语言的表述,八进制模式也挺不错。不过基本上都使用八进制模式,因为在linux的bash脚本中都采用八进制模式进行权限的赋予。

  

Linux 基础——权限管理命令chmod的更多相关文章

  1. [Linux] 010 权限管理命令 chmod

    1. 权限管理命令:chmod 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户 ...

  2. linux中权限管理命令(chmod/chown/chgrp/unmask)

    目录 chmod chown chgrp umask chmod 解释 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/ ...

  3. Linux 基础——权限管理命令chown、chgrp

    一.chown命令与chgrp命令的作用 有时你需要改变文件或目录的属主,比如有人离职或开发人员创建了一个在测试或生产环境中需要归属在系统账户下的应用.Linux提供了两个命令来实现这个功能:chow ...

  4. Linux基本命令 权限管理命令

    1.权限管理命令chmod ================================================================================== 命令名 ...

  5. linux文件权限更改命令chmod及数字权限实践总结

     改变权限属性命令chmod chmod 是用来改变文件或目录权限的命令,但只有文件的属主和超级用户root才有这种权限.通过chmod来改变文件或目录的权限有两种方法:一种是通过权限字母和操作符表达 ...

  6. Linux权限管理命令chmod详解

    命令chmod详解 命令chmod(英文原意:change permissions mode of a file),所在路径为: 可以看到,它的路径为:/usr/bin/chmod,因此,它的执行权限 ...

  7. Linux命令-权限管理命令:chmod

    特别注意:在linux中,目录通常是有r和x两个权限的.删除文件的前题是要对文件所在的目录有w的权限才可以. cd /tmp 切换到tmp目录下面 touch chengshi.list 在当前目录中 ...

  8. linux文件权限更改命令chmod及数字权限

    chmod -change file mode bits :更改文件权限 chmod是用来改变文件或者目录权限的命令,但只有文件的属主和超级用户(root)才有这种权限. 更改文件权限的2种方式: 一 ...

  9. linux笔记:权限管理命令chmod,chown,chgrp,umask

    权限对文件和目录的含义是不同的:对文件来说:读:可以查看文件内容写:可以修改文件内容执行:可以执行文件对目录来说:读:可以列出目录中的内容写:可以在目录中创建.删除文件执行:可以进入目录 能够更改文件 ...

随机推荐

  1. 神奇的Redis延迟

    最近在做某业务Redis的缩容工作,涉及到数据迁移,而Redis的数据迁移看起来蛮简单的,一对一的数据迁移只需要在slave行配置masterauth 和slaveof 两个参数即可,当然迁移过程中涉 ...

  2. Eclipse中项目上有小红叉,但就是找不到报错文件(总结,持续更新)

    1.jdk问题解决:jdk配置参考:http://blog.csdn.net/superit401/article/details/72847110 2.build path:项目右键——Build ...

  3. 详细理解servlet实现的三种方式和生命周期

    阅读目录 开发servlet的三种方式 理解实现servlet接口的方式,理解servlet生命周期 Servlet接口有五个方法 继承GenericServlet 继承HttpServlet 现在很 ...

  4. 学习Spring Boot:(十三)配置 Shiro 权限认证

    经过前面学习 Apache Shiro ,现在结合 Spring Boot 使用在项目里,进行相关配置. 正文 添加依赖 在 pom.xml 文件中添加 shiro-spring 的依赖: <d ...

  5. 【转】Keil ARM开发 error L6236E错误解决

    顺利创建了第一个Keil工程却发现不能完成链接,出现了一个下面这样的报错: .\Objects\demo_simple.sct(7): error: L6236E: No section matche ...

  6. 解题:POI2008 Building blocks

    题面 显然我们需要考虑每一个区间,而这个问题显然我们都会做,这不就是这道题么,也就是说假如中位数是$mid$,区间和是$sum$,那么代价就是$\sum\limits_{i=l}^r |mid-num ...

  7. C&C++图形图像处理开源库

    Google三维APIO3D O3D 是一个开源的 WebAPI 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准.此格式期望真正的基于浏览器,独立于操作系统之外, ...

  8. 鸟哥的Linux私房菜——第十九章:例行命令的建立

    视频链接:http://www.bilibili.com/video/av11008859/ 1. 什么是例行性命令 (分为两种,一种是周期性的,一种是突发性的)1.1 Linux 工作排程的种类: ...

  9. 第六节 事务XML方式[声明方式]

    事务管理: 管理事务,管理数据,数据完整性和一致性 事务[业务逻辑] : 由一系列的动作[查询书价格,更新库存,更新余额],组成一个单元[买书业务], 当我们动作当中有一个错了,全错~ ACID 原子 ...

  10. python3中__get__,__getattr__,__getattribute__的区别

    __get__,__getattr__和__getattribute都是访问属性的方法,但不太相同. object.__getattr__(self, name) 当一般位置找不到attribute的 ...