gpt4 book ai didi

file - 为什么setfacl在Docker容器中不起作用?

转载 作者:行者123 更新时间:2023-12-02 19:42:13 28 4
gpt4 key购买 nike

我在Docker容器中使用ACL遇到麻烦。

如下所示,我在“/ opt / transfer_station / webapp / logs”上为用户“ts”设置了读/写权限。这适用于文件夹“/ opt / transfer_station / webapp / logs”,但不适用于文件/opt/transfer_station/webapp/logs/debug.log。为什么不起作用?

[root@lx-ts logs]# setfacl -Rdm u:ts:rw,g:ts:rw /opt/transfer_station/webapp/logs
[root@lx-ts logs]# echo $?
0
[root@lx-ts logs]# getfacl /opt/transfer_station/webapp/logs
getfacl: Removing leading '/' from absolute path names
# file: opt/transfer_station/webapp/logs
# owner: apache
# group: apache
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:apache:rw-
default:user:ts:rw-
default:group::r-x
default:group:apache:rw-
default:group:ts:rw-
default:mask::rwx
default:other::r-x

[root@lx-ts logs]# getfacl /opt/transfer_station/webapp/logs/debug.log
getfacl: Removing leading '/' from absolute path names
# file: opt/transfer_station/webapp/logs/debug.log
# owner: root
# group: root
user::rw-
group::r--
other::r--

[root@lx-ts logs]# whoami
root

顺便说一句。我尝试使用docker option OPTIONS ='-storage-driver = devicemapper'并没有使用它。 SELinux处于宽松模式,因此不会阻止任何内容。

如果我附加到容器,请在文件夹中创建一个测试文件,ACL会按照我的预期继承:
[root@lx-ts transfer_station]# touch webapp/logs/test
[root@lx-ts transfer_station]# getfacl webapp/logs/test
# file: webapp/logs/test
# owner: root
# group: root
user::rw-
user:apache:rw-
user:ts:rw-
group::r-x #effective:r--
group:apache:rw-
group:ts:rw-
mask::rw-
other::r--

我正在运行Centos 7.1和Docker版本1.7.1,内部版本446ad9b / 1.7.1。

我还已将CAP_FOWNER添加到容器中(使用--cap-add = FOWNER),但这也不能解决问题。

有任何想法吗?

最佳答案

得到它了:

setfacl -Rm u:ts:rw,g:ts:rw /opt/transfer_station/webapp/logs

setfacl -d仅用于目录。我必须将其删除才能使其工作:/

关于file - 为什么setfacl在Docker容器中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33307406/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com