zoukankan      html  css  js  c++  java
  • chmod、chown、umask、lsattr/chattr

    1、chmod 命令 改变文件权限

        文件对于使用者来说,有 读 、写 、执行 (当然,还有删除),而这里主要说的是,读写执行(rwx)

        r  w  x    对应的是 读写执行,也对应 :

       4   2  1   (即 4 表示 可读  ,2 表示可写, 1 表示可以执行)

    2、然后,文件的所属关系来说,又分为, 文件的创建者(即拥有者)、创建者所属的组、 和其它用户;

       谁创建了文件或目录,那么,他就是那个文件的拥有者(user)

      而拥有者,所属的用户群体(即用户组),就是文件的所属于组(group)

      对于拥有者和所属组而言, 其它的用户或用户组,都属于其它(other)

       u   g  o    (即 用户,用户组,其它)

    于是 对于一个文件或一个目录来说,就会存在,不同的人,就会拥有不同的权限:

       u  可能拥有: r  w  x  (读写执行权限)

     g  可能也会拥有: r  w  x  (读写执行权限)

     o  同样也可能会拥有: r w  x  (读写执行权限)

    这样子,就出现了

    那么chmod,就是改变,不同用户或组,对文件所拥有的不同权限

    有两种方式:

    a:  chmod 777  file_name  或 chmod 755 file_name  ; chmod 721  file_name  ;chmo 333 file_name;

    这里表示的意思就是 因为7 表示 rwx  所以  第一位的 7 表示 用户所拥有的权限 , 第二位的7或5  表示 用户组所拥有的权限, 第三位的7 表示 其它用户所拥有的权限。

    chmod 333 file_name;

    b :    chmod u+x  file_name  ;  chmod g+rx    file_name ; chmod go+rwx  file_name ;     chmod ugo-rx  file_name;

         chmod u=wx , g=rw , o=rw   file_name

    a=all(所有)    chmod    a+rwx ,a-wx,a=rwx , a=wx  file_name

     这里的 u+x  就是表示 的  拥有者 增加一个执行权限 ,  而后面的 ugo-rx  就表示  拥有者  用户组 和其它   都 减去 读 和执行权限 

    注意: 以上是针对于单个文件或目录, 那么 针对于一个目录下的多个文件 或目录呢? 这里就要用到 递归 参数   - R   比如:

    chmod  -R  dir_name

    3 chown 命令(change owner),即改变文件的 拥有者 和 所属组

       chown    user   file_name   (改变用户 不改变用户组)

       chown          :group   file_name   (只改变用户组,不改变用户)(group 前面有一个点  .group   或冒号   :group  )

       chown    user.      file_name    (改变用户和用户组)(user后面,用一个小点  user.  或冒号  user:  )

    同理,要改变目录下的所有文件 的拥有者和所属组呢?

    chown  -R     user:group    dir_name

    但这以上所改变的用户或用户组,必需是已经存在的,用户或用户组

    4  umask  (为什么我们创建一个文件 或目录的时候,会有一个默认权限?  这里的umask 就是就是用来设置默认权限的)

    umask  默认为  0022

    目录的权限   为 777 - 0022  = 755    (对于目录而言,要进入一个目录,所以必需要有执行权限)

    文件的权限   为 666 - 0022  = 644     (对于文件来说,可读可写,就行了,若需要执行,再加执行权限)

    5、chattr /lsattr 隐藏权限

    chattr + i  file_name  

    chattr -i  file_name  (移除i 权限)

    chattr + a    file_name   只能追加。  其它操作跟 chattr + i  一样的操作

    chattr -a    file_name   移除a 权限

    对目录而言呢? 跟对文件是一样的效果

    chattr +i   dir_name

    chattr -i   dir_name

    chattr +a  dir_name

    chattr -a   dir_name

    总体来讲,就是可以写,但不可删!

    lsattr -R dir_name  可以看 目录下的,所有文件的 attr权限

  • 相关阅读:
    redis的基本操作
    python对txt的读写
    python random的练习
    python继承的练习
    python类和实例
    VS2019 自动代码补全功能
    GIT 删除操作
    vue-router 注意事项
    Vue中axios访问 后端跨域问题
    Vue2.0 搭配 axios
  • 原文地址:https://www.cnblogs.com/dongjieyuan/p/9050448.html
Copyright © 2011-2022 走看看