ฉันกำลังพยายามให้สิทธิ์ในการอ่านแก่กลุ่ม กราฟาน่า-คลาวด์
ไปยังไฟล์ภายใต้ /var/lib/docker/คอนเทนเนอร์
:
#> ls /var/lib/docker/containers/ | หัว -n1
0515ccad974eb0e4577c7b35a0c517ab889db95d996e6188e9d0377cfa2265d4
#> setfacl -Rdm g:grafana-agent:rx /var/lib/docker/คอนเทนเนอร์
#> setfacl -Rm g:grafana-agent:rx /var/lib/docker/คอนเทนเนอร์
การดำเนินการตามตัวอย่างนี้จะให้สิทธิ์แก่ไฟล์และโฟลเดอร์ทั้งหมดที่มีอยู่แล้ว
#> getfacl /var/lib/docker/containers/0515ccad974eb0e4577c7b35a0c517ab889db95d996e6188e9d0377cfa2265d4
getfacl: การลบ '/' นำหน้าออกจากชื่อพาธสัมบูรณ์
# ไฟล์: var/lib/docker/containers/0515ccad974eb0e4577c7b35a0c517ab889db95d996e6188e9d0377cfa2265d4
# เจ้าของ: root
# กลุ่ม: ราก
ผู้ใช้::rwx
กลุ่ม::---
group:grafana-agent:r-x
หน้ากาก::r-x
อื่นๆ::---
ค่าเริ่มต้น:ผู้ใช้::rwx
เริ่มต้น:กลุ่ม::---
ค่าเริ่มต้น:กลุ่ม:grafana-agent:r-x
ค่าเริ่มต้น:หน้ากาก::r-x
เริ่มต้น:อื่นๆ::---
หากฉันสร้างไฟล์หรือโฟลเดอร์ใหม่ภายใน /var/lib/docker/คอนเทนเนอร์
, acls ถูกเก็บไว้อย่างถูกต้อง:
#> mkdir /var/lib/docker/containers/foo
#> getfacl /var/lib/docker/containers/foo
getfacl: การลบ '/' นำหน้าออกจากชื่อพาธสัมบูรณ์
# ไฟล์: var/lib/docker/containers/foo
# เจ้าของ: root
# กลุ่ม: ราก
ผู้ใช้::rwx
กลุ่ม::---
group:grafana-agent:r-x
หน้ากาก::r-x
อื่นๆ::---
ค่าเริ่มต้น:ผู้ใช้::rwx
เริ่มต้น:กลุ่ม::---
ค่าเริ่มต้น:กลุ่ม:grafana-agent:r-x
ค่าเริ่มต้น:หน้ากาก::r-x
เริ่มต้น:อื่นๆ::---
ปัญหาเกิดขึ้นเมื่อสร้างคอนเทนเนอร์ใหม่โดยที่ acls ดูเหมือนว่าจะไม่ถูกนำไปใช้ตามที่ฉันคาดไว้:
#> นักเทียบท่าเรียกใช้ -d busybox
70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8
#> getfacl /var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/
getfacl: การลบ '/' นำหน้าออกจากชื่อพาธสัมบูรณ์
# ไฟล์: var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/
# เจ้าของ: root
# กลุ่ม: ราก
ผู้ใช้::rwx
กลุ่ม::---
กลุ่ม:grafana-ตัวแทน:r-x #มีประสิทธิภาพ:---
หน้ากาก::---
อื่นๆ::---
ค่าเริ่มต้น:ผู้ใช้::rwx
เริ่มต้น:กลุ่ม::---
ค่าเริ่มต้น:กลุ่ม:grafana-agent:r-x
ค่าเริ่มต้น:หน้ากาก::r-x
เริ่มต้น:อื่นๆ::---
#> su - grafana-agent -c "ls /var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/"
ls: ไม่สามารถเปิดไดเรกทอรี '/var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/': ปฏิเสธการอนุญาต
ถ้าตอนนี้ฉันรันคำสั่ง setfacl อีกครั้ง acls จะถูกนำไปใช้กับโครงสร้างไฟล์คอนเทนเนอร์ใหม่ และผู้ใช้สามารถอ่านไฟล์ได้:
#> setfacl -Rm g:grafana-agent:rx /var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/
#> su - grafana-agent -c "ls /var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8/"
70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8-json.log จุดตรวจ config.v2.json hostconfig.json ชื่อโฮสต์ โฮสต์เมานต์ resolv.conf resolv.conf.hash
#> getfacl /var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8
getfacl: การลบ '/' นำหน้าออกจากชื่อพาธสัมบูรณ์
# ไฟล์: var/lib/docker/containers/70216a6debce117563d2273da01a1219edc9e1357864cde5026076548b7169e8
# เจ้าของ: root
# กลุ่ม: ราก
ผู้ใช้::rwx
ผู้ใช้:grafana-agent:r-x
กลุ่ม::---
group:grafana-agent:r-x
หน้ากาก::r-x
อื่นๆ::---
ค่าเริ่มต้น:ผู้ใช้::rwx
ค่าเริ่มต้น:ผู้ใช้:grafana-agent:r-x
เริ่มต้น:กลุ่ม::---
ค่าเริ่มต้น:กลุ่ม:grafana-agent:r-x
ค่าเริ่มต้น:หน้ากาก::r-x
เริ่มต้น:อื่นๆ::---
มีบางอย่างผิดปกติในกระบวนการของฉันหรือไม่? ดูเหมือนว่าจะไม่มีการใช้ acls ในครั้งแรกที่เราอ่านได้ #มีประสิทธิภาพ:---
ถัดจาก ตัวแทนกราฟาน่า
ผู้ใช้ แต่ฉันไม่พบเลย
ฉันได้ลองให้สิทธิ์ acls แก่ผู้ใช้แทนกลุ่มด้วยผลลัพธ์เดียวกัน
ขอขอบคุณ.