ฉันต้องการแชร์วอลุ่มที่มีชื่อจากคอนเทนเนอร์ Docker บน Samba Samba กำลังทำงานบนระบบโฮสต์เป็นบริการแบบเนทีฟ (ไม่ใช่ใน Docker) คอนเทนเนอร์ Docker ทำงานเป็น UID เฉพาะ ดังนั้นไฟล์ทั้งหมดในวอลุ่มจึงเป็นของ UID นั้นด้วย
ระบบโฮสต์ไม่มีผู้ใช้ที่เทียบเท่าสำหรับ UID ที่เป็นปัญหา
เพื่อให้แน่ใจว่าไฟล์ทั้งหมดยังคงเป็นเจ้าของโดย UID ที่ถูกต้อง ฉันต้องการใช้ไฟล์ ผู้ใช้แรง
พารามิเตอร์เพื่อบังคับให้ Samba เข้าถึงไฟล์ทั้งหมดด้วย UID นี่คือการกำหนดค่าการแบ่งปัน:
[คอนเทนเนอร์]
ความคิดเห็น = ที่เก็บข้อมูลคอนเทนเนอร์นักเทียบท่า
เส้นทาง = /var/lib/docker/volumes/appdata/_data
ผู้ใช้กำลัง = 1,001
ผู้ใช้ที่ถูกต้อง = # ชื่อผู้ใช้ของฉันที่นี่
เขียนได้ = ใช่
ปัญหาก็คือว่า ผู้ใช้แรง
คำสั่งดูเหมือนจะไม่ทำงานเนื่องจากระบุ ID ผู้ใช้เป็นตัวเลข ฉันไม่สามารถเข้าถึงการแชร์ได้เลย (ฉันได้รับข้อความปฏิเสธการเข้าถึงจาก Windows) ดังนั้นฉันเดาว่ามันเป็นค่าเริ่มต้นสำหรับผู้ใช้ "ไม่มีใคร" ซึ่งจะไม่สามารถเข้าถึงโฟลเดอร์ข้อมูลของคอนเทนเนอร์ได้
เอกสารประกอบสำหรับ Samba ระบุว่า ผู้ใช้แรง
พารามิเตอร์ "ระบุ UNIX ชื่อผู้ใช้ ที่จะกำหนดให้เป็นผู้ใช้เริ่มต้น" (เน้นของฉัน) ดูเหมือนว่าจะระบุว่าคุณไม่สามารถใช้ UID ที่เป็นตัวเลขเป็น "ชื่อผู้ใช้"
มีทางเลือกอื่นนอกเหนือจากการสร้างผู้ใช้ด้วยตนเองบนระบบโฮสต์ที่ตรงกับ UID หรือไม่ มีความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้น หากคอนเทนเนอร์อื่นทำงานภายใต้ UID ของโฮสต์เดียวกัน ผู้ใช้ Samba อาจสามารถเข้าถึงข้อมูลของคอนเทนเนอร์อื่นได้