Linux 中的权限管理 (一看就会版)

权限查看及读取  

  1. 权限查看       
    ls -l   file          查看文件权限
    ls -ld  dir       查看目录权限
  2. 权限的读取
    "文件的属性被叫做文件的元数据(meta data)","一种元数据用1个byte来记录内容"
     文件权限信息
    - | rw-r--r-- | . | 1 | root | root | 0 |  Apr 12 10:57 |  westos
    [1]    [2]     [3]  [4]   [5]    [6]    [7]         [8]                 [9]
     目录权限信息
    d | rw-r--r-- | . | 2 | root | root | 0 |  Apr 12 10:57 |  westosdir
    [1]    [2]     [3]  [4]   [5]     [6]   [7]           [8]              [9]
     对于每一位的解释
    [1] 文件类型
         - 普通文件
         d 目录
         l 软连接
         b 快设备
         c 字符设备
         s socket套接字
         p 管道
    [2]   用户权限
          rw-|r--|r--
           u    g   o
    [3]   系统的selinux开启
    [4]   对于文件:文件内容被系统记录的次数(硬链接个数)
          对于目录:目录中子目录的个数 
    [5]   文件拥有者
    [6]   文件拥有组
    [7]   对于文件:文件内容大小
          对于目录:目录中子文件的元数据大小
    [8]   文件内容被修改的时间
    [9]   文件名称


       二.普通权限的类型及作用   
     
  3. 用户对文件的身份
    u:  user 文件的拥有者,ls -l 看到的第五列信息
    g:  group 文件拥有组, ls -l 看到的第六列信息
    o:  other 既不是拥有者也不是拥有组成员的其他用户的通称
  4. 权限位
    rwx|r--|r--
     u   g   o
  5. 用户身份匹配
    user>group>other
  6. 权限类型
    -   权限未开启
    r   可读
         对于文件:可以读取文件内容
         对于目录:可以ls列出目录中的文件
    w   可写
         对于文件:可以更改文件内容
         对于目录:可以在目录中新建或者删除文件
    x   可执行
         对于文件:可以用文件名称调用文件内记录的程序
         对于目录:可以进入目录中

        三.设定普通权限的方法    
  7. chmod         设定文件权限
           复制权限
    chmod --reference=dir  dir1        复制dir目录的权限到dir1上

    chmod -R --reference=dir  dir1    复制dir目录的权限到dir1及
                             目录中的子文件上 -R 代表第归操作

     chmod 字符方式设定权限
    chmod <a|u|g|o><+|-|=><r|w|x> file        用字副方式设定文件权限
    示例:
    chmod o+wx  file1

    chmod  u-rw  file1

    chmod  u=rwx,g+wx,o-wx file1

    chmod  a-rwx file1

    chmod  -R u=rwx,g=rx,o=--- /mnt/westosdir/



     chmod 数字方式设定权限
    权限波尔指表示方式
    rwx = 111
    --- = 000
    三位二进制可以表示的最大范围为进制数
    r=4   w=2   x=1
    chmod  777  /home/westos/Desktop     
                 rwxrwxrwx




        四.系统默认权限设定    
     系统本身存在的意义共享资源, 从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高,既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放, 把不安全的权力默认保留
  8. 如何保留权力
      umask表示系统保留权力
    umask       查看保留权力
    umask 权限值    临时设定系统预留权力
    文件默认权限 = 777-umask-111
    目录默认权限 = 777-umask
    umask值越大系统安全性越高
     umask临时更改
    umask 077



     永久更改
    vim /etc/bashrc       shell系统配置文件
    74     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    75        umask 002   普通用户的umask
    76     else
    77        umask 022     -->  077     root用户的umask
    78     fi




    vim /etc/profile      系统环境配置文件
    59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    60     umask 002     普通用户的umask
    61 else
    62     umask 022   ----> 077        root用户的umask
    63 fi




    source /etc/bashrc        source作用时使我们更改的内容立即被系统识别
    source /etc/profile


        五.文件用户用户组管理    
    chown username  file          更改文件拥有者
    chgrp groupname  file         更改文件拥有组
    chown username:groupname file     同时更改文件的拥有者和拥有组
    chown|chgrp  -R user|group dir    更改目录本身及目录中内容的拥有者或者拥有组



     六.特殊权限    


     stickyid   粘制位
    针对目录:  如果一个目录stickyid开启,那么这个目录中的文件
                只能被文件所有人删除
    chmod   1原始权限  dir1
    chmod     o+t      dir1






    sgid       强制位
     针对目录: 目录中新建的文件自动归属到目录的所属组中
    设定:
    chmod  2源文件权限  dir
    chmod g+s       dir



     只针对二进制的可执行文件(c程序)
     当运行二进制可执行文件时都是用文件拥有组身份运行,和执行用户无关






     suid       冒险位
     只针对二进制的可执行文件(c程序)
     当运行二进制可行文件时都是用文件拥有者身份运行,和执行用户无关
    chmod 4原属性  file
    chmod u+s      file



        七.acl权限列表    
    Aiccess Control Lists   访问控制列表
     功能:
     在列表中可以设定特殊用户对与特殊文件有特殊权限
     acl列表开启标识
    -rw-rw---- 1 root caiwu 0 Apr 18 09:03 westosfile
                  ^    没有"+"代表acl列表未开启
    -rw-rw----+ 1 root caiwu 0 Apr 18 09:03 westosfile
                  ^    acl列表功能开启


     acl列表权限读取
    getfacl  westosfile
    显示内容分析
    file: westosfile  文件名称
      owner: root       文件拥有者
      group: root       文件拥有组
    user::rw-       文件拥有者权限
    user:lee:rw-        特殊指定用户权限
    group::r--      文件拥有组权限
    group:westos:---    特殊指定的用户组的权限
    mask::rw-       能够赋予特殊用户和特殊用户组的最大权限阀值
    other::r--      其他人的权限


    "注意:"
    "当文件权限列表开启,不要用ls -l 的方式来读取文件的权限"
     acl列表的控制
    setfacl -m u:lee:rw     westosfile  设定
    setfacl -m g:westos:rw  westosfile
    setfacl -m u::rwx   westosfile
    setfacl -m g::0     westosfile
    setfacl -x u:lee    westosfile    删除列表中的lee



    setfacl -b westosfile           关闭


     acl 权限优先级
    拥有者 > 特殊指定用户 > 权限多的组 >权限少的组 > 其他

     acl  mask 控制
     mask是能够赋予指定用户权限的最大阀值
    问题
    当设定完毕文件的acl列表之后用chmod缩小了文件拥有组的权力
    mask会发生变
    恢复:
    setfacl -m m:权限   文件


     acl 列表的默认权限
    setfacl -m u:lee:rwx   /mnt/westosdir   只对于/mnt/westosdir目录本身生效
    setfacl -Rm u:lee:rwx   /mnt/westosdir      对于/mnt/westosdir目录和目录中已经存在的内容生效
     以上的命令之针对与存在的文件生效,新建文件是不会被设定的


    setfacl  -m d:u:lee:rwx /mnt/westosdir/   针对与/mnt/westosdir目录中新建文件生效



     八.attr权限
     attr权限限制所有用户
    i   不能作任何的更改
    a   能添加不能删除
    lsattr dir|file       查看attr权限
    chattr +i|+a|-i|-a dir|file   设定attr权限

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页