七、 权限管理

七、 权限管理

ACL权限控制访问
    1)dumpe2fs -h /dev/sda3     查看分区是否支持ACl
    2)mount -o remount,acl          临时设置acl权限
        永久设置    /etc/fstab    ----> mount -o remount /  (设完重挂一次生效)
    3)getfacl   参数  查看文件的acl权限
    4)setfacl [] 参数 设置ACL权限
                -m  增加acl权限
                -x  删除授权用户
                -b  清空acl权限(mask值)
                -R  对目录及其内所有文件都设置权限(递归设置)
        setfacl -m u:b1:rwx 1.txt  (设置b1用户对1.txt的rwx权限)
        setfacl -m m:rwx    (设置mask值为rwx权限(最大限制权限,防止acl权限过大))
        setfacl -R -m u:b1:rwx 1.txt 递归设置权限
    让文件夹内所创建的文件继承文件夹权限
        用法一:setfacl -d -m u:zhangsan:r /abc 
        用法二:setfacl -m d:u:zhangsan:r /abc
    当一个文件有ACL权限时,其所属组位置上表现的权限,不再是所属组的权限,而是ACL的mask的权限。
sudo授权
用户必须对 /etc/passwd 文件有 r 权限
        授权:将授权的信息记录到配置文件中
            visudo  专门用来修改授权配置文件的
            -r--r----- /etc/sudoers     授权配置文件(被授权者有哪些权限)
            root        ALL=(ALL)                               ALL
        被授权者    可管理主机=(被授权者所借用的身份)      被授权者可执行的命令
zhangsan    ALL=(root)      /sbin/shutdown -r now
us1 ALL=(root)      /usr/bin/passwd ! /usr/bin/passwd root ! /usr/bin/passwd ""
        验证授权是否成功(普通用户身份):
            登录zhangsan
            # sudo shutdown -r now  
        执行命令,会有以下3个过程
            1. 查看/etc/sudoers配置文件,是否有对zhangsan的授权
            2. 还需要验证普通用户的身份(要求普通用户输入密码)
            3. 若有授权、普通用户身份验证成功:执行授权命令(借root身份)
        注意:
            1.  授权时,不得仅授权某一命令,要授权具体的(命令 -选项 操作对象)
            2.  授权时,仅授权普通用户所需要的权限,不要额外授权(用取反缩小授权范围)
        passwd 命令在执行时,会检查命令的执行者UID
            1.  若UID是0,则passwd命令后可以跟任何字符串
            2.  若UID不为0,则passwd命令后不可以跟任何字符串
        给组授权:
            %zhangsan ALL=(ALL) ALL
        授权别名:(简化授权记录、缩短授权记录的长度)
        给好几个命令设置一个别名NETWORKING
        Cmnd_Alias NETWORKING = /usr/bin/passwd ! /usr/bin/passwd root ! /usr/bin/passwd ""
        zhangsan    ALL=(root)  NETWORKING
文件的特殊权限
SUID(SetUID)
    定义:在命令的所有者位置具有s权限的,叫做具有SUID权限
    功能:
    ⑴ 一个普通用户在执行具有SUID权限的命令时,该命令的执行者会临时变更为命令的所有者
    注意:
        1.  普通用户需要对所执行的命令有x权限
        2.  SUID只设置在可执行文件(命令)和脚本上
    如:密码修改的过程:用户使用passwd命令,修改位于/etc/shadow中的字符串
        -rwsr-xr-x  root    root    /usr/bin/passwd     
        ----------  root    root    /etc/shadow
        EUID:应用程序执行时所持有的用户身份
        root                        /usr/bin/passwd                     /etc/shadow 
        zhangsan                    /usr/bin/passwd                     /etc/shadow
SGID(SetGID)
定义:在命令的所属组位置具有s权限的,叫做具有SGID权限
功能
⑴ 针对目录
一个普通用户在一个具有SGID权限的目录下创建文件时,该用户的有效组临时变更为了该目录的所属组。
针对目录的SGID:
    # mkdir /test
    # chmod o+w /test
    # useradd zhangsan + lisi
    $ cd /test 
    $ touch a.txt 
    # chmod g+s /test
    $ cd /test 
    $ touch b.txt
    对比a.txt 和 b.txt 文件的归属,得到结果。
⑵ 针对可执行文件:
一个普通用户在执行具有SGID权限的命令时,则会临时加入命令文件的所属组内,以组成员的身份执行操作
如:一个普通用户在执行具有SGID权限的命令时,该用户会临时加入到slocate组内,以组成员的身份查看mlocate.db文件
-rwx--s--x  root    slocate     /usr/bin/locate 
-rw-r-----  root    slocate     /var/lib/mlocate/mlocate.db
root                    /usr/bin/locate             /var/lib/mlocate/mlocate.db
zhangsan                /usr/bin/locate             /var/lib/mlocate/mlocate.db
SBIT(STICKY BIT)
    黏着位:在具有SBIT权限的目录下,普通用户只能删除自己创建的文件(root除外),如/tmp目录
文件系统属性
chattr [+-] [选项] 文件或目录
        i:对文件,不允许对文件进行任何操作;
            对目录,只能修改目录下文件的数据,不可新建、删除,改名。
        a:对文件,只能在文件中增加数据,但是不能删除也不能修改数据;
            对目录,只能在目录中新建和修改文件,不允许删除、改名。
        e:Linux 中绝大多数的文件都默认拥有 e 属性。表示该文件是使用 ext 文件系统进行存储的,
    且不能使用"chattr -e"命令取消 e 属性
lsattr  选项 文件名
        -a  显示所有文件和目录(显示隐藏文件)
        -d  若目标是目录,仅列出目录本身属性
SUID&SGID 和 sudo授权的对比:
    SUID&SGID : 针对的对象是所有能够使用他们的用户
    sudo授权:授权更具体,更严谨
如何设置特殊权限:
    chmod ugo +- s  file
    chmod 4755  file    suid(可执行文件)
    chmod 2755  file    sgid(可执行文件&目录)
    chmod 1755  file    sbit(目录)
umask 0022 0002 
    第一个位置的 0 代表该数值是一个八进制的数值
    SUID :  4755
    取消 : 00755
权限管理章节的重点:
    1.  ACL & sudo
    2.  chattr & lsattr
    3.  s系列(SUID&SGID&SBIT) 了解

转载于:https://www.cnblogs.com/outsrkem/p/11169447.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值