转setfacl与getfacl

2023-10-25 01:58
文章标签 setfacl getfacl

本文主要是介绍转setfacl与getfacl,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转setfacl与getfacl 

2011-04-08 22:48:14|  分类: linux |  标签: |举报 |字号 订阅

acl 全称 Access Control Lists 翻译成中文叫"访问控制列表",传统的 Linux 文件系统的权限控制是通过 user、group、other 与 r(读)、w(写)、x(执行) 的不同组合来实现的。随着应用的发展,这些权限组合已不能适应现时复杂的文件系统权限控制要求。 例如,目录 /data 的权限为:drwxr-x---,所有者与所属组均为 root,在不改变所有者的前提下,要求用户 tom 对该目录有完全访问权限 (rwx).考虑以下2种办法 (这里假设 tom 不属于 root group)
(1) 给 /data 的 other 类别增加 rwx permission,这样由于 tom 会被归为 other 类别,那么他也将拥有 rwx 权限。
(2) 将 tom 加入到 root group,为 root group 分配 rwx 权限,那么他也将拥有 rwx 权限。
以上 2 种方法其实都不合适,所以传统的权限管理设置起来就力不从心了。
为了解决这些问题,Linux 开发出了一套新的文件系统权限管理方法,叫文件访问控制列表 (Access Control Lists, ACL)。简单地来说,ACL 就是可以设置特定用户或者用户组对于一个文件的操作权限。
ACL 有两种,一种是存取 ACL (access ACLs),针对文件和目录设置访问控制列表。一种是默认 ACL (default ACLs),只能针对目录设置。如果目录中的文件没有设置 ACL,它就会使用该目录的默认 ACL.
首先我来讲一下getfacl ( 显示文件或目录的 ACL)
在我的电脑里首先有一个用户叫NEU.我们学校的简称.同时还有一个用户,software,我的专业名称.

我以neu用户进行操作,在其目录下建立一个文件fileofneu.

可以看到它的初始权限为-rw-rw-r--然后我把这个文件权限进行下修改.使用的命令为chmod,修改后的文件权限为-rw-rw----现在这个文件的权限就不允许其它用户访问了.

然后切换到sofeware用户,来证实这个文件的不可访问性.

下面我们就通过getfacl命令来查看.这时候得进入neu用户下操作了.其命令格式很简单:getfacl fileofneu

权限一目了然.不多介绍了,下面就要用Setfacl来进行修改了.使其在对于其它用户的权限里,只对software用户只读只写.
setfacl -m u:softeware:rw- fileofneu
然后用getfacl命令来进行查看.我们就可以看到多了一行user:software:rw- 这说明其对用户software开放了读写的权限.
为了证实其可用性,再切换到software用户下访问这个文件,发现与前面不同的是,这回可以读写了.



转setfacl与getfacl - Leo - 好记性不如烂笔头---Leo

转setfacl与getfacl - Leo - 好记性不如烂笔头---Leo

转setfacl与getfacl - Leo - 好记性不如烂笔头---Leo

转setfacl与getfacl - Leo - 好记性不如烂笔头---Leo

转setfacl与getfacl - Leo - 好记性不如烂笔头---Leo

原文地址: http://www.linuxdiyf.com/viewarticle.php?id=116112

上边的图不全,也可以看下边的这个例子
[test@RedHat92 ~]$ getfacl testfile
# file: testfile
# owner: test
# group: test
user::rw-
group::rw-
other::r--

权限一目了然.不多介绍了,下面就要用Setfacl来进行修改了.使其在对于其它用户的权限里,只对lee用户只读只写.
[test@RedHat92 ~]$ setfacl -m u:lee:rw- testfile  
[test@RedHat92 ~]$ getfacl testfile
# file: testfile
# owner: test
# group: test
user::rw-
user:lee:rw-
group::rw-
mask::rw-
other::r--
然后用getfacl命令来进行查看.我们就可以看到多了一行 user:lee:rw- 这说明其对用户lee开放了读写的权限.
为了证实其可用性,再切换到lee用户下访问这个文件,发现与前面不同的是,这回可以读写了.

如果是目录呢?
setfacl -R -m u:lee:rw- testdirectory/ (-R一定要在-m前面,表示目录下所有文件)
setfacl -x u:lee testdirectory/   (去掉单个权限)
setfacl -b (去掉所有acl权限)

如果我们希望在一个目录中新建的文件和目录都使用同一个预定的ACL,那么我们可以使用默认(Default) ACL。在对一个目录设置了默认的ACL以后,每个在目录中创建的文件都会自动继承目录的默认ACL作为自己的ACL。用setfacl的-d选项就可以 做到这一点:
[test@RedHat92 ~]$ setfacl -d --set u:lee:rw- testdirectory/
[test@RedHat92 ~]$ getfacl testdirectory/

这篇关于转setfacl与getfacl的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/279274

相关文章

【setfacl】设定额外的访问控制列表【getfacl】获取文件的facl

【setfacl】设定额外的访问控制列表 注意:普通用户无法使用chown命令 FACL: Filesystem Access Control List 利用文件扩展属性保存额外的访问控制权限 参数: 【-m】:设定(或者附加)额外的访问控制列表 【u:UID:perm】设定在用户上(perm代表权限) 【g:GID:perm】设定在组上 【

setfacl 细分文件权限

setfacl设置对文件权限,chmod命令可以把文件权限分为u,g,o三个组。 setfacl能够对每个文件或目录设置更精确的权限。 setfacl -m u:sxf:rwx  file 设置用户user1对文件file的rwx [sxf@node2 test]$ ll total 44 -rwxrwxr-x  1 sxf sxf 6479 Apr 24 08:52 candshell -

linux 命令之 setfacl

setfacl 命令是用来在命令行里设置ACL(访问控制列表)。在命令行里,一系列的命令跟随以一系列的文件名。 选项说明: -b,--remove-all:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留。 -k,--remove-default:删除缺省的acl规则。如果没有缺省规则,将不提示。 -n,--no-mask:不要重新计算有效权限。setfacl默

linux设置权限_setfacl_getfacl

3.2 设置权限ACL(access control list) 假设:/data所有者与所属组均为root,在不改变所有者的前提下,要求用户tom对该目录有完全访问权限(rwx)。只能考虑:方法一:给/data的其他人增加rwx权限方法二:将tom加入到root组中,并为root组分配rwx权限 ACL文件权限管理:对不同用户设置不同的基本权限(rwx),可设置对象数量不同ACL是