我正在尝试从某个文件夹中删除组 ACL。它具有以下权限
$ getfacl --all-effective public
# file: public
# owner: sse02
# group: apache
user::rwx
group::r-x #effective:r-x
mask::r-x
other::---
default:user::rwx
default:group::r-x #effective:r-x
default:group:acct:rwx #effective:rwx
default:mask::rwx
default:other::r-x
$
我想使用以下命令删除授予组“acct”的访问权限,但它并不简单工作
setfacl -x g:acct public
可能发生了什么问题?有什么想法吗?
这是一个带有 ext3 文件系统的 RHEL5 盒子。
列出的
group:acct
条目前面有 default:
,并且 setfacl
手册页表明 ACL 规范可以是(为了清楚起见,在手册页中添加了空格):
[d[efault]:] g[roup]:gid [:perms]
指定组的权限。如果gid为空,则所属组的权限。
我认为你应该尝试:
setfacl -x d:g:acct public
setfacl -Rm g::--- diectoryname
根据https://linux.die.net/man/1/setfacl使用-k将删除默认的ACL权限。
以下是我如何从目录中删除默认值的示例:
SSH: getfacl .
# file: .
# owner: root
# group: docker
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
00:01:42
SSH: sudo setfacl -k .
00:01:45
SSH: getfacl .
# file: .
# owner: root
# group: docker
# flags: -s-
user::rwx
group::rwx
other::r-x
一般来说,要删除
GROUP
的组 DIRECTORY
ACL 条目,请使用:
setfacl -x g:GROUP DIRECTORY
要完全删除所有 ACL 条目,请使用:
setfacl -b DIRECTORY
添加
-R
选项以使操作递归
选项 (来自文档)
-R, --recursive - 递归地对所有文件和目录应用操作。
-x (--remove) 和 -X (--remove-file) 选项删除 ACL 条目。删除不存在的条目并不是错误。
-b、--remove-all - 删除所有扩展 ACL 条目。所有者、组和其他人的基本 ACL 条目将被保留。
注意:获取ACL列表使用
getfacl DIRECTORY
setfacl -d -x g:acct 公共
我已经晚了 12 年才回答这个问题哈哈哈