首页 > 系统服务 > 详细

Linux 文件ACL之setfacl和getfacl

时间:2015-11-22 18:51:33      阅读:281      评论:0      收藏:0      [点我收藏+]

前言

      近期工作遇到需要多个账号同时需要某个文件的读写权限的,先是尝试用chmod的3大权限来设置,后有前辈指出可用facl设置,查阅资料后,粗略记录实验结果如本章所示;如有遗漏和错误之处,敬请各位看官指出,谢谢。

实验环境:

Linux的Distribution:

[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.2 (Santiago)

 

setfacl的版本号:

[root@localhost ~]# setfacl -version
setfacl 2.2.49

 

实验目的:

用户a和b同时拥有对test.txt的r权限。

 

实验过程记录:

1、新建用户a和b,a和b同处用户组test,新建text.txt文件,并授权给用户a

[root@localhost ~]# groups a
a : test
[root@localhost ~]# groups b
b : test

2、查看目前text.txt文件的ACL属性:

[root@localhost ~]# getfacl /home/test.txt
getfacl: Removing leading ‘/‘ from absolute path names
# file: home/test.txt
# owner: a
# group: test
user::r--
group::---
mask::---
other::---

3、直接用chmod

  因为用户a和b同属group text,文件test.txt属于用户a,所以可以直接设置group有r权限;但不足之处是:这样同处于group test的其他用户也拥有权限。

[root@localhost ~]# getfacl /home/test.txt
getfacl: Removing leading ‘/‘ from absolute path names
# file: home/test.txt
# owner: a
# group: test
user::rwx
group::r--
other::---

此时用户b可以访问test.txt:

[b@localhost ~]$ cat /home/test.txt
Hello World!

4、使用setfacl设置文件ACL

先chmod 700 /home/test.txt 将文件ACL还原,然后再次实验:

[root@localhost ~]# setfacl -m u:b:r /home/test.txt
[root@localhost ~]# getfacl /home/test.txt
getfacl: Removing leading ‘/‘ from absolute path names
# file: home/test.txt
# owner: a
# group: test
user::rwx
user:b:r--
group::---
mask::r--
other::---

此时用户b可以访问test.txt文件。

5、指令补充说明

setfacl -m u:b:r /home/test.txt;指令格式如左,-m 后接u:b:r(用户:用户名:权限),其中如果想设置group权限,可将u换成g;r处若需全部权限可直接:rwx。

 

实验总结:

通过该实验,加深了对facl设置的理解,了解可以通过setfacl灵活的设置文件ACL,而无需过多的设置用户组分类。

 

Linux 文件ACL之setfacl和getfacl

原文:http://www.cnblogs.com/dzfc/p/4986305.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!