zoukankan      html  css  js  c++  java
  • 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脚本中都采用八进制模式进行权限的赋予。

      

  • 相关阅读:
    LeetCode 79. 单词搜索
    LeetCode 1143. 最长公共子序列
    LeetCode 55. 跳跃游戏
    LeetCode 48. 旋转图像
    LeetCode 93. 复原 IP 地址
    LeetCode 456. 132模式
    LeetCode 341. 扁平化嵌套列表迭代器
    LeetCode 73. 矩阵置零
    LeetCode 47. 全排列 II
    LeetCode 46. 全排列
  • 原文地址:https://www.cnblogs.com/xphDeV/p/8060158.html
Copyright © 2011-2022 走看看