LINUX定义ACL控制策略

    xiaoxiao2022-07-03  119

    问题 1)创建账户:mike、john、kaka 2)创建文件:/data/file1.txt 3)mike对文件有读写权限,john只有读权限。其他用户没有任何权限 4)kaka具有与john相同权限 5)创建lily用户,lily对file1.txt具有读执行权限,其他用户没有任何权限 方案 并不是所有的分区都支持ACL策略设置,后续会学习怎样让一个分区支持ACL。在安装系统时划分的分区默认是支持ACL策略的,而如果该分区是在安装系统之后创建的默认是不支持的。 ACL策略应用的情况是,当所有者、所属组、其他人三个归属关系,三种身份的权限都不能满足某个用户或组的权限设置。这个时候ACL可以为这个用户或组单独设置权限,使Linux权限划分设置更加灵活。 步骤 实现此案例需要按照如下步骤进行。 步骤一:创建账户:mike、john、kaka 命令操作如下所示:

    [root@localhost ~]# useradd mike [root@localhost ~]# useradd john [root@localhost ~]# useradd kaka

    步骤二:创建文件:/data/file1.txt 命令操作如下所示:

    [root@localhost ~]# touch /data/file1.txt [root@localhost ~]# ls -l /data/file1.txt -rw-r--r--. 1 root root 0 2月 27 15:38 /data/file1.txt

    步骤三:mike对文件有读写权限,john只有读权限。其他用户没有任何权限 分析: 此题涉及到三种不同的权限,我们可以这样来做,让mike来做所有者,让john属于此文件所属组成员,当然其他人就好说了直接设置即可。 命令操作如下所示:

    [root@localhost ~]# ls -l /data/file1.txt //查看权限及归属关系 -rw-r--r--. 1 root root 0 2月 27 15:38 /data/file1.txt [root@localhost ~]# chown mike:john /data/file1.txt //更改所有者与所属组 [root@localhost ~]# ls -l /data/file1.txt //查看更改结果 -rw-r--r--. 1 mike john 0 2月 27 15:38 /data/file1.txt [root@localhost ~]# chmod o= /data/file1.txt //设置权限,其他人无权限 [root@localhost ~]# ls -l /data/file1.txt //查看呢设置结果 -rw-r-----. 1 mike john 0 2月 27 15:38 /data/file1.txt [root@localhost ~]#

    步骤四:kaka具有与john相同权限 分析: 我们可以把kaka加入到john组里面 命令操作如下所示:

    [root@localhost ~]# id kaka //查询kaka用户信息 uid=506(kaka) gid=507(kaka) 组=507(kaka) [root@localhost ~]# gpasswd -a kaka john //将kaka用户加入到john组 Adding user kaka to group john [root@localhost ~]# id kaka //查询kaka用户信息 uid=506(kaka) gid=507(kaka) 组=507(kaka),506(john) [root@localhost ~]#

    步骤五:创建lily,lily对file1.txt具有读执行权限,其他用户没有任何权限 分析: 这个时候就出现基本权限及归属关系不能解决,首先所有者已确定是mike,所属组权限rw所以也不行,最后其他人上面题有要求无任何权限。所以ACL策略就派上用场了。 命令操作如下所示:

    [root@localhost ~]# echo 123456 > /data/file1.txt //写入测试文字 [root@localhost ~]# cat /data/file1.txt //管理员测试 123456 [root@localhost ~]# id lily //查询是否存在lily用户 id: lily:无此用户 [root@localhost ~]# useradd lily //创建lily用户 [root@localhost ~]# su – lily //切换用户身份 [lily@localhost ~]$ cat /data/file1.txt //测试在没有设置ACL前lily能否查看 cat: /data/file1.txt: 权限不够 [lily@localhost ~]$ exit //退到root用户身份 logout [root@localhost ~]# getfacl /data/file1.txt //查看文件ACL策略 getfacl: Removing leading '/' from absolute path names # file: data/file1.txt # owner: mike # group: john user::rw- group::r-- other::--- [root@localhost ~]# setfacl -m u:lily:r /data/file1.txt //设置ACL策略 [root@localhost ~]# getfacl /data/file1.txt //查看ACL策略 getfacl: Removing leading '/' from absolute path names # file: data/file1.txt # owner: mike # group: john user::rw- user:lily:r-- group::r-- mask::r-- other::--- [root@localhost ~]# su – lily //切换用户 [lily@localhost ~]$ cat /data/file1.txt //测试是否具有r权限 123456
    最新回复(0)