• Linux权限命令


    Linux 基础——权限管理命令chmod

     

    一、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所示

      

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

              

                            图 4-2

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

      

    1 chmod 554 222.txt

              

                              图 4-3

      

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

  • 相关阅读:
    C#设计模式(6)——原型模式(Prototype Pattern)
    C#设计模式(4)——抽象工厂模式
    C#设计模式(3)——工厂方法模式
    C#设计模式(2)——简单工厂模式
    cmd 打 jar 包
    java eclipse 中给args 传递参数
    java 中值传递和引用传递(转)
    java unreachable code不可达代码
    java语言中if语句的用法
    java中 构造器与void
  • 原文地址:https://www.cnblogs.com/zhao-shan/p/9182527.html
Copyright © 2020-2023  润新知