แซมบ้าเมาท์พร้อมรหัสผ่านในฐานะผู้ใช้ที่ไม่ใช่รูท


17

ฉันต้องการติดตั้งการแชร์ SMB ที่ป้องกันด้วยรหัสผ่าน (เสิร์ฟโดยเครื่อง Windows) การแบ่งปันได้รับการป้องกันด้วยชื่อผู้ใช้และรหัสผ่านและฉันอาจไม่เขียนรหัสผ่านในไฟล์ฉันต้องการได้รับการพร้อมท์ให้ใส่รหัสผ่านในเวลาที่ติดตั้ง

ฉันต้องการโซลูชันที่ใช้งานได้แม้เมื่อผู้ใช้ในเครื่องไคลเอนต์ไม่มีสิทธิ์ระดับผู้ดูแลระบบดังนั้นวิธีใดก็ตามที่ใช้ในการเมานต์แชร์ต้องไม่อนุญาตให้เขาได้รับสิทธิ์รูท การติดตั้งเริ่มต้นสามารถทำได้ในฐานะรูท ผู้ใช้จะต้องสามารถระบุชื่อเซิร์ฟเวอร์เองได้ ความต้องการของฉันทันทีคือ Ubuntu 12.04 แต่การแก้ปัญหาที่กว้างกว่านั้นดีกว่า

ไคลเอนต์ไม่มีหัวดังนั้นฉันกำลังมองหาเครื่องมือบรรทัดคำสั่ง

สิ่งที่ฉันพยายาม:

  • mount.cifs: ในขณะที่มันสามารถทำราก setuid, ผู้เขียนไม่ได้พิจารณาว่าการรักษาความปลอดภัย ทำงานภายใต้sudoมีปัญหาเดียวกัน
  • smbnetfs, fusesmb: ฉันไม่สามารถโน้มน้าวให้ทั้งสองคนแจ้งรหัสผ่านให้ฉันได้
  • Nautilus และ gvfs: ล้มเหลวด้วยgvfs-mount smb://servername/sharenameError mounting location: volume doesn't implement mount

ฉันจะเมาท์แชร์แซมบ้าจากบรรทัดคำสั่งในฐานะผู้ใช้ที่ไม่ใช่รูทด้วยพรอมต์รหัสผ่านได้อย่างไร


1
หนึ่งในผู้นำ devs ดูเหมือนจะคลายจุดยืนของพวกเขาในปัญหา setuid ตัดตอนมา: "รหัสได้รับการทำใหม่อย่างมีนัยสำคัญและควรจะปลอดภัยกว่าที่เคยเป็นมาก่อนหน้านี้มันทำการแยกสิทธิพิเศษในขณะนี้ซึ่งกระบวนการจำนวนมากของกระบวนการเมาท์จะดำเนินการในฐานะผู้ใช้ที่ไม่มีสิทธิพิเศษ จนถึงขั้นตอนนี้ฉันจะบอกว่าปลอดภัยพอที่เราไม่จำเป็นต้อง จำกัด การติดตั้ง setuid root อีกต่อไป " แหล่งที่มา: list.samba.org/archive/samba/2010-April/154935.htmlคิดว่าฉันควรชี้ให้เห็น
ทิม

คำตอบ:


20

“ ข้อผิดพลาดในการติดตั้งตำแหน่ง: ปริมาณไม่ติดตั้ง” แปลว่า“ ฉันต้องการ D-Bus แต่ไม่สามารถใช้งานได้” (ขอบคุณเพื่อนร่วมงานกูรูของ venturaxสำหรับข้อมูลนี้) ภายในเซสชัน SSH ฉันสามารถใช้งานgvfs-mountได้หากdbus-daemonเปิดใช้งานก่อนและDBUS_SESSION_BUS_ADDRESSตั้งค่าตัวแปรสภาพแวดล้อม

export $(dbus-launch)
gvfs-mount smb://workgroupname\;username@hostname/sharename
# Type password
ls ~/.gvfs/'sharename on hostname'

gvfs-mountและยูทิลิตี้ GVFS อื่น ๆ ทั้งหมดจะต้องพูดคุยกับเซสชัน D-Bus เดียวกัน ดังนั้นหากคุณใช้หลายเซสชัน SSH หรือใช้การเมานข้ามเซสชันล็อกอินคุณต้อง:

  • เริ่มต้น D-Bus ในครั้งแรกที่จำเป็นล่าสุด
  • ระวังอย่าให้ D-Bus ลงท้ายด้วยเซสชันตราบใดที่มีระบบไฟล์ GVFS ที่เมาท์อยู่
  • ใช้เซสชัน D-Bus ที่มีอยู่อีกครั้งในเวลาที่เข้าสู่ระบบหากมี

ดูการใช้ซ้ำ D-Bus ในเซสชันการเข้าสู่ระบบสำหรับสิ่งนั้น


1
สิ่งนี้ยังใช้กับgio mountในรุ่นล่าสุดของ Ubuntu
jnas

1

SMBNetFS ใช้ Gnome-keyring ตามค่าเริ่มต้น รหัสผ่านใด ๆ ที่ป้อนและบันทึกใน Gnome-keyring ขณะเรียกดูการแบ่งปันแซมบ้าใน Nautilus ควรใช้โดยอัตโนมัติ ดังนั้นหากการจัดเก็บรหัสผ่านใน Gnome-keyring นั้นใช้ได้ SMBNetFS จะสะดวกกว่า มันจะเมานต์เครือข่ายทั้งหมดโดยอัตโนมัติ ข้อมูลนี้มาจากไฟล์กำหนดค่า SMBNetFS ตัวอย่าง แต่ฉันไม่ได้ทดสอบเพราะฉันไม่ได้ใช้ Gnome

เกี่ยวกับการใช้คำพังเพยพวงกุญแจโดยไม่ต้อง X11 ดูการใช้งานของ gnome-พวงกุญแจ-X

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.