zoukankan      html  css  js  c++  java
  • Linux学习 -- 权限管理


    1 ACL权限

      1.1 简介与开启

        1.1.1 ACL权限是什么

          access control list 访问控制表

          解决传统的(owner,group,others)身份不足的情况

          可以设置 特定用户或用户组 对于 一个文件或目录 的操作权限

      

        1.1.2 查看系统(根分区)是否支持ACL    一般默认都是支持的,不用手动开启

          df -h   查看有哪些分区  找到根分区

          dupme2fs /dev/sda5  | grep acl

            Default mount options:    user_xattr acl  默认挂载选项,支持ACL

      

        1.1.3 临时开启分区的ACL权限

          mount -o remount, acl /

        1.1.4 永久开启分区的ACL权限

          #vi /etc/fstab

            在跟分区的defaults后面添加,acl     #注意:写错了会使系统崩溃,慎用!

          #mount -o remount /   重新挂载根分区, 或者重启系统, 使之生效

      1.2 查看与设定

        1.2.1 查看ACL

          #getfacl 文件名

        1.2.2 设定ACL权限

          #setfacl 选项 文件名

            -m 设定

            -x  删除指定

            -b  删除所有

            -d  设定默认

            -k  参数默认

            -R  递归设定

          给用户设定ACL权限

            #setfacl -m u:userx:rx project/

          给用户组设定ACL权限

            #setfacl -m g:groupx:rwx project/

      1.3 最大有效权限与删除

        1.3.1 最大有效权限mask

          用户的实际权限=设定的ACL权限&&mask  逻辑与

          mask默认为rwx,此时 实际权限=设定权限

        1.3.2 删除ACL权限

          #setfacl -x g:groupx project/  删除指定用户或组

          #setfacl -b project/        删除所有的ACL权限

      1.4 默认与递归ACL权限

        1.4.1 递归ACL权限  -- 针对现有的

          #setfacl -m u:用户名:权限 -R 目录

        1.4.2 默认ACL权限  -- 针对新建的

          #setfacl -m d:u:用户名:权限 目录

          给父目录设定默认ACL权限,那么父目录中新建的子文件都会继承该权限

       


    2 文件特殊权限

      2.1 SetUID  -- owner

        针对 可执行的 二进制 程序

        执行者有x权限     #否则会出现S,不能正确执行

        执行者 暂时获得 程序文件所属者的身份(灵魂附体)

        例子:passwd文件

       

        设定SetUID

          #chmod 4755 文件名

          #chmod u+s 文件名

        取消SetUID

          #chmod 755 文件名

          #chmod u-s 文件名

        危险的SetUID! 不要自己随意设置SUID文件。

      2.2 SetGID  -- group

        针对二进制文件的作用,和SUID相似    也比较危险!

          可执行 二进制程序   x权限  

          组身份 —> 程序文件的所属组    暂时

          例子: locate

      

        针对目录的作用

          普通用户 r+x权限   普通用户在此目录的有效组 --> 此目录的属组

          新建的文件 默认属组是这个目录的属组

        设置: chmod 2755    g+s   

        取消: chmod 755      g-s

      2.3 Sticky BIT  -- others

        SBIT粘着位的作用 -- 只针对目录

        普通用户 w+x权限 如果目录有粘着位,普通用户就算有w权限,也只能删除自己建立的文件,不能删除其他用户的文件

        例子 /tmp/

        设置:chmod 1755    o+t

        取消:chmod 755      o-t

        


    3 文件系统属性chattr权限

       chattr [+-=] [i a] [文件或目录]      防止误操作  对于root用户,也同样适用

        i  对于文件:不许删除,改名,不能添加和修改数据,  相当于把文件锁起来了

          对于目录:只能修改目录下文件的数据,但不允许建立和删除文件  修改数据不能用vi,只能echo >>方式追加    

        a 对于文件:这能增加数据,不能删除和修改数据

          对于目录:只允许建立和修改文件,不允许删除文件

        

      lsattr 选项 文件名 查看文件系统属性 

        -a 显示所有文件和目录

        -d 若目标是目录,仅列出目录本身的属性


    4 系统命令sudo权限

      superuser do就是让超级用户来做 

      root把本来只能超级用户执行的命令赋予普通用户执行

      sudo的操作对象是系统命令

      #visudo     修改/etc/sudoers文件 

       

      注意:被管理主机的地址 写ALL 或 本机IP(访问IP,而不是来源IP)

      例子:

        

         

    KEEP LEARNING!
  • 相关阅读:
    深入nginx之《获取用户的真实IP》
    深入Nginx之《常用参数配置技巧》
    深入Nginx之《HTTP请求报文与HTTP响应报文》
    webapck html-loader 静态html模块化
    webpack四个基础概念
    从原生Android 跳转到hbuilder项目
    移动端适配方案 flexible.js
    vue使用px2rem
    koa2 post请求ctx.request.body空获取不到的解决办法
    url、href、src
  • 原文地址:https://www.cnblogs.com/roronoa-sqd/p/4877399.html
Copyright © 2011-2022 走看看