加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何为目录和文件设置不同的Linux默认ACL

发布时间:2020-12-13 18:20:40 所属栏目:Linux 来源:网络整理
导读:我在目录上定义了一些ACL,如下所示: # owner: root# group: rootuser::rwxgroup::r--mask::r-xother::r--default:user::r--default:group::r--default:mask::r-xdefault:other::r-- 我希望在该文件夹中创建的任何新文件都是u:apache:r–以及任何新目录:u
我在目录上定义了一些ACL,如下所示:
# owner: root
# group: root
user::rwx
group::r--
mask::r-x
other::r--
default:user::r--
default:group::r--
default:mask::r-x
default:other::r--

我希望在该文件夹中创建的任何新文件都是u:apache:r–以及任何新目录:uache:r-x.如何使用ACL指定该意图?

我已经尝试过-dm u:apache:rX,与rx相比,它似乎没有做任何不同的事情

overt htdocs # getfacl .
# file: .
# owner: root
# group: root
user::rwx
user:apache:r--
group::r--
mask::r-x
other::r--
default:user::r--
default:user:apache:r--
default:group::r--
default:mask::r--
default:other::r--

overt htdocs # setfacl -dm u:apache:rx .
overt htdocs # touch blah.txt
overt htdocs # getfacl blah.txt
# file: blah.txt
# owner: root
# group: root
user::r--
user:apache:r-x                 #effective:r--
group::r--
mask::r--
other::r--

overt htdocs # rm blah.txt
overt htdocs # setfacl -dm u:apache:rX .
overt htdocs # touch blah.txt
overt htdocs # getfacl blah.txt
# file: blah.txt
# owner: root
# group: root
user::r--
user:apache:r-x                 #effective:r--
group::r--
mask::r--
other::r--

大写X权限似乎仅对设置当前权限有用,而不是用于设置默认权限:

overt htdocs # setfacl -x u:apache blah.txt
overt htdocs # getfacl blah.txt
# file: blah.txt
# owner: root
# group: root
user::r--
group::r--
mask::r--
other::r--

overt htdocs # setfacl -m u:apache:rX blah.txt
overt htdocs # getfacl blah.txt
# file: blah.txt
# owner: root
# group: root
user::r--
user:apache:r--
group::r--
mask::r--
other::r--

解决方法

好吧,但你的例子完全符合你的要求;)

看看第二个:

overt htdocs # setfacl -dm u:apache:rx .
overt htdocs # touch blah.txt
overt htdocs # getfacl blah.txt
# file: blah.txt
# owner: root
# group: root
user::r--
user:apache:r-x                 #effective:r--
group::r--
mask::r--
other::r--

重要的是:

user:apache:r-x #effective:r–

即使acl设置为r-x,它实际上也是r–用于文件.这是因为面具.

如果用户使用rw-权限为用户创建了掩码,则掩码将始终仅为rw-. (我不是100%肯定,但掩码不能比基本权限更少限制).

因此,有效地获得r– for files和r-x for directories.Because创建的目录将具有user:r-x – >掩模将是r-x – >有效许可将是r-x.对于文件:它们将具有r–所以掩码将是r–并且ACL的有效权限也将是r–.(如果你创建一个文件并给它一个用户:: r-x权限,那么掩码将被修改,用户形成的acl也将获得x)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读