Tôi đang cố cấp quyền đọc cho nhóm đám mây grafana
đến các tập tin dưới /var/lib/docker/container
:
#> ls /var/lib/docker/containers/ | đầu -n1
0515ccad974eb0e4577c7b35a0c517ab889db95d996e6188e9d0377cfa2265d4
#> setfacl -Rdm g:grafana-agent:rx /var/lib/docker/containers
#> setfacl -Rm g:grafana-agent:rx /var/lib/docker/containers
Thực thi đoạn mã này, nó sẽ cấp quyền cho tất cả các tệp và thư mục đã tồn tại.
#> getfacl /var/lib/docker/containers/0515ccad974eb0e4577c7b35a0c517ab889db95d996e6188e9d0377cfa2265d4
getfacl: Xóa '/' hàng đầu khỏi tên đường dẫn tuyệt đối
# tệp: var/lib/docker/containers/0515ccad974eb0e4577c7b35a0c517ab889db95d996e6188e9d0377cfa2265d4
# chủ sở hữu: root
# nhóm: root
người dùng::rwx
tập đoàn::---
nhóm:grafana-agent:r-x
mặt nạ::r-x
khác::---
mặc định:người dùng::rwx
mặc định:nhóm::---
mặc định: nhóm: grafana-agent: r-x
mặc định:mặt nạ::r-x
mặc định:khác::---
Nếu tôi tạo một tệp hoặc thư mục mới bên trong /var/lib/docker/container
, acls được lưu giữ chính xác:
#> mkdir /var/lib/docker/containers/foo
#> getfacl /var/lib/docker/containers/foo
getfacl: Xóa '/' hàng đầu khỏi tên đường dẫn tuyệt đối
# tập tin: var/lib/docker/containers/foo
# chủ sở hữu: root
# nhóm: root
người dùng::rwx
tập đoàn::---
nhóm:grafana-agent:r-x
mặt nạ::r-x
khác::---
mặc định:người dùng::rwx
mặc định:nhóm::---
mặc định: nhóm: grafana-agent: r-x
mặc định:mặt nạ::r-x
mặc định:khác::---
Sự cố xảy ra khi một vùng chứa mới được tạo, trong đó acls dường như không được áp dụng như tôi mong đợi:
#> docker run -d busybox
70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8
#> getfacl /var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/
getfacl: Xóa '/' hàng đầu khỏi tên đường dẫn tuyệt đối
# tập tin: var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/
# chủ sở hữu: root
# nhóm: root
người dùng::rwx
tập đoàn::---
nhóm:grafana-agent:r-x #hiệu quả:---
mặt nạ::---
khác::---
mặc định:người dùng::rwx
mặc định:nhóm::---
mặc định: nhóm: grafana-agent: r-x
mặc định:mặt nạ::r-x
mặc định:khác::---
#> su - grafana-agent -c "ls /var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/"
ls: không thể mở thư mục '/var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/': Quyền bị từ chối
Nếu bây giờ tôi chạy lại lệnh setfacl, các acls được áp dụng cho cây tệp vùng chứa mới và người dùng có thể đọc các tệp:
#> setfacl -Rm g:grafana-agent:rx /var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/
#> su - grafana-agent -c "ls /var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/"
70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8-json.log điểm kiểm tra config.v2.json hostconfig.json tên máy chủ lưu trữ gắn kết độ phân giải.conf độ phân giải.conf.hash
#> getfacl /var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8
getfacl: Xóa '/' hàng đầu khỏi tên đường dẫn tuyệt đối
# tệp: var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8
# chủ sở hữu: root
# nhóm: root
người dùng::rwx
người dùng: grafana-agent: r-x
tập đoàn::---
nhóm:grafana-agent:r-x
mặt nạ::r-x
khác::---
mặc định:người dùng::rwx
mặc định: người dùng: grafana-agent: r-x
mặc định:nhóm::---
mặc định: nhóm: grafana-agent: r-x
mặc định:mặt nạ::r-x
mặc định:khác::---
Có điều gì sai trong quy trình của tôi không? Có vẻ như acls không được áp dụng ngay từ đầu như chúng ta có thể đọc #có hiệu lực:---
bên cạnh các grafana-đại lý
người dùng, nhưng tôi không thể tìm thấy bất kỳ
Tôi đã thử cấp acls cho người dùng thay vì nhóm có cùng kết quả.
Cảm ơn bạn.