1.定义ACL控制策略
问题
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