ฉันต้องการเมานต์การแชร์ SMB บนจุดเมานต์ทั่วไปสำหรับผู้ใช้ทั้งหมดและเมานต์อัตโนมัติเมื่อเข้าถึง เช่น เมื่อคุณแมปไดรฟ์เครือข่ายกับอักษรระบุไดรฟ์ทั่วไปในสภาพแวดล้อม Windows และจะใช้ข้อมูลรับรองการเข้าสู่ระบบของผู้ใช้ในการตรวจสอบสิทธิ์เท่านั้น
Kerberos ไม่พร้อมใช้งาน ดังนั้นฉันจึงจำกัดการพิสูจน์ตัวตนไว้ที่ NTLM นอกจากนี้ยังไม่สามารถเมานต์การแชร์ระหว่างการบูทได้ ต้องเมานต์ตามความต้องการ เนื่องจากการเชื่อมต่อเครือข่ายไม่พร้อมใช้งานตลอดเวลาที่บูท
ฉันคิดว่าฉันควรจะสามารถใช้ cifscreds / pam_cifscreds เพื่อจัดเก็บข้อมูลรับรอง CIFS ได้ แต่ฉันยังคงได้รับการเลื่อนระดับเป็นรหัสผ่านเมื่อมีการเมาต์การแชร์ แม้ว่าข้อมูลรับรองจะถูกจัดเก็บด้วยตนเองโดยใช้ cifscreds เพิ่ม -u myuser myserver
หรือระหว่างการเข้าสู่ระบบโดยใช้ pam_cifscreds
สิ่งเดียวที่ใช้งานได้จริงตามที่ฉันคาดหวังคือเมื่อ user2 เข้าถึงการแชร์หลังจากที่ผู้ใช้ 1 ติดตั้งแล้ว user2 จะเห็นเฉพาะสิ่งที่เข้าถึงได้ (หากมีข้อมูลรับรอง)
นี่คือวิธีการกำหนดค่าระบบของฉันจนถึงตอนนี้
/etc/fstab
//myserver/myshare$ /myshare cifs vers=3.0,sec=ntlmsspi,multiuser,cifsacl,noauto,nodev,nosuid,noserverino,user,x-gvfs-show 0 0
/etc/pam.d/common-auth
รับรองความถูกต้องทางเลือก pam_cifscreds.so
/etc/pam.d/common-session
ต้องการเซสชัน pam_keyinit.so
เซสชั่นทางเลือก pam_cifscreds.so host=myserver
ฉบับที่ 1:
เมื่อเมาต์การแชร์จากบรรทัดคำสั่งโดยใช้ เมานต์ /myshare
ผู้ใช้จะได้รับพร้อมท์ให้ป้อนรหัสผ่าน แม้ว่าข้อมูลประจำตัว CIFS ของผู้ใช้จะพร้อมใช้งานเมื่อใดก็ตาม แสดงคีย์ ctl
ถูกดำเนินการ
นอกจากนี้ยังทำให้ไม่สามารถเมานต์จากเดสก์ท็อปหรือเมานต์อัตโนมัติได้
ฉบับที่ 2:
เมื่อเริ่มต้นเซสชันเดสก์ท็อป ข้อมูลรับรอง CIFS จะไม่สามารถใช้ได้เมื่อใด แสดงคีย์ ctl
ถูกดำเนินการ
แต่เมื่อเข้าสู่ระบบโดยใช้ SSH ข้อมูลรับรอง CIFS จะปรากฏขึ้นเมื่อใด แสดงคีย์ ctl
ถูกดำเนินการ ดังนั้น pam_cifscreds จึงดูเหมือนว่าจะไม่ทำงานเลยเมื่อเริ่มเซสชันเดสก์ท็อป
อัปเดต 1: เดาว่านี่เป็นสาเหตุที่เป็นไปได้ https://github.com/systemd/systemd/issues/1299