第八讲:权限管理

这里写图片描述

这里写图片描述
8.1、ACL权限
8.1.1 ACL权限的简介和开启

Q1:为什么引入ACL权限?
答:
    因为以前的三个身份:所有者、所属组、其他人三个身份不够用。
        又加入了新的身份,试听组:r-x

这里写图片描述

Q2:怎么实现“试听组”?
    我们可以忽略所有者、所属组、其他人身份,直接把“用户”拿出来并“给权限”就好了,不在去关心身份。
    注:这和Windows中文件的权限管理很像,只不过Windows是用图形界面进行管理文件/目录的权限,而在Linux中是用命令。

    //这就是ACL权限的作用!
在进行ACL权限管理之前,我们要先查看分区ACL权限是否开启?
    下面介绍3个命令:
        ①df -h        查看分区使用情况
        ②dumpe2fs   -h   /dev/sda5   查看/dev/sda5分区的ACL权限是否开启
            Default mount options: user _x:ttr acl   表示默认情况下开启
        ③修改分区的两种方式

        (1)mount -0 remount,acl /     重新挂在根分区/,让根分区/拥有acl权限
            注:用命令进行临时的修改acl权限,没有写入相应的配置文件,不会永久生效。
        (2)vi /etc/fstas   修改/etc/fstas中的内容,保存并退出;重新启动Linux系统
        如下图:
            假设默认情况下,default是没有acl权限,我们只要在default后面加上acl就可以使当前分区拥有acl权限。
注:一般情况下,default情况下,都是有acl权限的。

这里写图片描述

8.1.2 查看与设定ACL权限

(1)设置ACL权限
    setfacl 选项 文件名
选项:
    -m 设定ALC权限
①给已经存在的组,假设为g1组设置acl权限为rwx
    setfacl -m g:g1:rwx /project
②给已存在的用户,假设为u1用户设置acl权限为r-x
    setfacl -m u:u1:r-x /project
注:g:表示组, u:表示用户

    -x 删除指定的ACL权限
    -b 删除全部的ACL权限
    -d 设定默认的ACL权限
    -k 删除默认的ACL权限
    -R 递归设定ACL权限
(1)查看acl权限
    getfacl 文件名

8.1.3 -最大有效权限mask与删除acl权限

什么是最大有效权限mask?最大有效权限有什么用?
mask作用:我们给用户赋予了ACL权限后,ACL的权限必须和mask权限进行相与才能得到用户真正的权限。
这里写图片描述

注:默认情况下mask权限是rwx,我们可以设定mask权限
    setfacl -m m:r-w /project

    -x 删除文件/目录的指定的组、用户的ACL权限
    -b 删除文件/目录的全部的ACL权限

8.1.4 默认与递归ACL权限(注:这两个权限只针对于目录不针对于文件)

什么是递归?即一层一层
setfacl -m u:user1:rx -R /project/
注:该命令只是对/project/目录中现有的目录或文件的acl权限进行修改。
这里写图片描述

默认ACL权限?
setfacl -m d:u:user1:rx -R /project/ 只是比上面多加了一个d:,表示默认default。
注:该命令只是对/project/目录下新出现的文件或目录的acl权限进行修改。
这里写图片描述

8.2 文件特殊权限

8.2.1 SetUID,4代表SUID
这里写图片描述

    设置普通用户对可以执行的(具有x权限的)二进制文件具有s权限,在执行该二进制文件时,暂时拥有该二进制文件属主的身份(灵魂附体),身份改变只在执行过程中有效。
(1)设定SetUID的方法,4代表SUID
        chmod 4755 文件名
        chmod u+s  文件名
(2)取消SetUID的方法
        chmod 755 文件名
        chmod u-s 文件名
(3)SetUID是一个非常不安全的方法:
例如:我们拿vim所在的/usr/bin/vim目录作实验:
    whereis vim 先查看vim在哪个文件中
    ll /usr/bin/vim   再查看/usr/bin/vim的权限
    chmod 4755 /usr/bin/vim  进行修改/usr/bin/vim的权限  
修改完成后,/usr/bin/vim目录下的vim命令就具有了s权限,那么普通用户再执行vim命令时,就暂时具有了root身份,可以对任意的文件进行rwx权限,这是很危险的。
我们应该把它修改回来:
    chmod u-s /usr/bin/vim 

8.2.2 SetGID,2代表SGID

这里写图片描述

这里写图片描述
———————————————————————————————-
这里写图片描述

8.2.3 Sticky BIT

8.3文件系统属性chattr权限
作用:为了防止所有用户(包括root用户)的误操作。

命令格式:
    chattr [+-=] 选项 文件/目录
选项:
    -i 
    -a 
-i与-a选项针对于文件和属性分别的操作权限见下图:

这里写图片描述

查看文件目录的特殊属性:
    lsattr 选项 文件/目录名
        -a 所有文件
        -d 当前目录的属性

8.4 系统命令权限sudo

1.sudo简单介绍
(1)给普通用户赋予管理员的权限
(2)和上面讲的chmod等命令不同的是:chmod的操作对象是目录/文件,而sodu的操作对象是系统权限。
    用sudo可以使普通用户去替代管理员执行管理员具有的命令,摆脱权限的限制。
2.具体做法:要使普通用户对本机(或者某机器)具有sudo命令,首先要在root上对本机进行sudo的相关命令的设置;
设置完成后,再在本机上用普通用户进行登录,最后执行sudo设置的相关命令。
(1)visodu 实际上修改的是/etc/sudoers中的内容(在root身份下可以用vi去修改)
修改格式:以具体实例进行讲解
    root     ALL = /sbin/shutdown -r now     
    lisa     192.168.0.156 = /usr/bin/vim
    用户名    被管理主机的地址 = 授权命令(绝对路径)
注:怎么查看命令的绝对路径:whereis 命令
(2)在本机上切换到普通用户,查看本机有的sudo命令
        su - abc
        sudo -l3)abc普通用户进行调用sudo命令
        sudo /sbin/shutdown -r now  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值