一、说明
权限控制在等保测评里仅仅说了要求,但是怎么落地却基本没写,怎么说呢,比较抽象。所以,我觉得还是有必要了解一下centos系统大概有什么方法可以实现对用户的权限控制,不至于测评的时候完全不知道怎么测。这里我把我现在知道的关于权限控制的方法都列举出来,供大家参考参考。这里是访问控制的上一篇文章,大家可以先看看上一篇:
二、 更精细化的文件权限控制
一般的,对目录和文件,可以实现创建者、所属组、其他用户这三类用户(UGO)的访问权限设置(r、w、x)。而setfacl命令,则可以更为精确的在这三类用户之外对权限进行分配,叫做ACL权限设置。比如:让某一个用户对某一个文件具有某个权限。
与setfacl相对的,可以用getfacl查看设置好的ACL权限。
2.1. ACL
比如用getfacl命令来查看一个定义好了的ACL文件:[root@localhost ~]# getfacl ./test.txt
#file: test.txt
#owner: root
#group: admin
user::rw-
user:john:rw-
group::rw-
group:dev:r--
mask::rw-
other::r--类型 说明 #file: test.txt 说明文件名为 test.txt
#owner: root 说明文件创建者为root
#group: admin 说明文件所属组为admin组
user::rw- 定义了ACL_USER_OBJ, 说明文件创建者拥有read and write permission
user:john:rw- 定义了ACL_USER,这样用户john就拥有了对文件的读写权限,实现了我们一开始要达到的目的
group::rw- 定义了ACL_GROUP_OBJ,说明文件的所属组拥有read and write permission
group:dev:r-- 定义了ACL_GROUP,使得dev组拥有了对文件的read permission
mask::rw- 定义了ACL_MASK的权限为read and write
other::r-- 定义了ACL_OTHER的权限为read
这里稍微说明下,mask::rw-代表着这个文件的最大权限,在ACL中定义的用户、组的权限实际都不是真实权限,真实的权限是要跟mask的权限相与之后产生的权限。
如这个例子,mask的值为rw,所以定义的ACL的权限中,假如john的权限设置为rwx,那么那么它的最终权限就是与mask相与之后的结果,也就是rw。(当然,对于txt文件而言,执行权限没有啥意义)。
注:Mask只对其他用户和组的权限有影响,对owner和other的权限是没有任何影响的。
2.2. ACL与UGO