Linux文件系统ACLs权限控制

本文详细介绍了Linux文件系统的ACL(Access Control Lists)权限控制机制,包括如何为特定用户和组设置读写权限,以及如何查看和修改文件的ACL。此外,还解释了mask权限的作用及其与其他权限的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux文件系统给所有者(owner)、所有组(owning group)、其它(other)每一类用户分别定义了的rwx权限,且是彼此独立的。虽然Linux有也 Linux特殊文件权限的功能支持,但要像在Windows下 把权限控制可以精确到用户和组(如允许某个文件允许某一特殊用户修改,允许某一组的用户可以查看等)一样灵活,这些显然还不够。令人欣慰的是,Linux也有ACLs权限控制的支持,在Linux中ACLs在ReiserFS,Ext2,Ext3,JFS,XFS等文件系统中受到支持。

修改文件ACL: setfacl -m u:tux:rw file    允许用户tux读写file文件
查看文件ACL: getfacl file

使用了ACL的文件,通过ls -l命令来查看权限时,后面会有一个“ +”号, group的权限会有变化(使用了ACL mask权限)。

文件使用ACL后,权限角色有如下几种类型:
    最小化ACL:
        owning user
        owning group
        other
    扩展ACL:
        可以包含若干个对象: named user设置单独用户的访问权限)、 named group( 设置单独群组的访问权限
        包含一个 mask( 限制named users 和 named groups的权限

举例说明如下:
owner user::rwx
named user user:name:rwx
owning  group group ::rwx
named group group :nam e:rwx
mask mask::rwx
other other::rwx

定义在owner、other里的权限一直都是有效的,其它权限可能用效或者被隐蔽。
named user与named group的值是否生效,还要看 其值与mask的“与”值,即mask也要有该权限,才能生效。
mask的值一般是与owning group一致的,可以通过修改owning group的值来修改mask。
举例说明如下:
linux-canbeing:/home/canbeing/temp # getfacl my
# file: my
# owner: canbeing
# group: users
user::rw-
user:canbeing:rwx        # effective:r-x   w没有生效
group::r--
mask::r-x
other::r--

子目录会继承父目录的ACL。
如果父目录有ACL,则创建新文件或者文件夹时,默认权限 不会根据umask来计算,而是继承或者根据命令参数。
使用setfacl -d -m u:canbeing:rw /tmp/acl_test/  则此权限会得到子目录及文件的继承( 权限以default开头)
linux-canbeing:/tmp/acl_test # getfacl /tmp/acl_test/
getfacl: Removing leading '/' from absolute path names
# file: tmp/acl_test/
# owner: root
# group: root
user::rwx
user:canbeing:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:canbeing:rw-
default:group::---
default:mask::rw-
default:other::---

转载于:https://www.cnblogs.com/flashlm/archive/2009/08/31/linux_acls.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值