linux下对一个文件设置多个组的权限(setfacl getfacl)方法--管理配置

/*********************************************************************
 * Author  : Samson
 * Date    : 03/02/2014
 * Test platform:
 *              Linux ubuntu 3.2.0-58-generic-pae
 *              GNU bash, version 4.2.39
 * *******************************************************************/

//要设置的文件的信息:

v0id6@v0id6-eof ~ $ ls testacl  -la
-rw-rw-r--+ 1 v0id6 v0id6 9  3月  2 14:21 testacl

//获得文件的访问控制列表(此项为没有使用setfacl设置前的值)
v0id6@v0id6-eof ~ $ getfacl testacl
# file: testacl
# owner: v0id6
# group: v0id6
user::rw-
group::r--
other::r--

//配置多个组能够读写的权限
v0id6@v0id6-eof ~ $ setfacl -m g:v0id6:rw,g:yygydjtest:rw testacl
v0id6@v0id6-eof ~ $ getfacl testacl
# file: testacl
# owner: v0id6
# group: v0id6
user::rw-
group::r--
group:v0id6:rw-
group:yygydjtest:rw-
mask::rw-
other::r--

//删除组控制权限
v0id6@v0id6-eof ~ $ setfacl -x g:yygydjtest testacl
v0id6@v0id6-eof ~ $ getfacl testacl
# file: testacl
# owner: v0id6
# group: v0id6
user::rw-
group::r--
group:v0id6:rw-
mask::rw-
other::r--

NOTE:关于组名的获取和配置请使用cat /etc/group查看当前已经存在的分组   也可使用groupadd进行添加

refer:

http://www.ibm.com/developerworks/cn/linux/l-acl/index.html

注意:

mask是什么?为什么也变化了呢?我们先从mask说起。如果说acl的优先级高于UGO,那么mask就是一个名副其实的最后一道防线。它决定了一个用户/组能够得到的最大的权限。这样我们在不破坏已有ACL的定义的基础上,可以临时提高或是降低安全级别;

在对应的文件的ACL项的后边出现了effective的字样,这是实际testu1得到的权限。Mask只对其他用户和组的权限有影响,对owner和other的权限是没有任何影响的。执行ls的结果也显示UGO的设置也有了对应的变化。因为在使用了ACL的情况下,group的权限显示的就是当前的mask。通常我们把mask设置成rwx,以不阻止任何的单个ACL项。

*需要注意的是,每次修改或添加某个用户或组的ACL项的时候,mask都会随之修改以使最新的修改能够真正生效。所以如果需要一个比较严格的mask的话,可能需要每次都重新设置一下mask。

你可能感兴趣的:(linux)