Chci připojit sdílenou SMB chráněnou heslem (obsluhovanou počítačem se systémem Windows). Sdílená složka je chráněna uživatelským jménem a heslem a nemohu zapsat heslo do souboru, chci být vyzván k zadání hesla při připojení.
Potřebuji řešení, které funguje i tehdy, když uživatel na klientském počítači nemá žádná oprávnění správce, takže jakákoli metoda použitá k připojení sdílené položky mu nesmí umožnit získat oprávnění root. Počáteční instalaci lze provést jako root. Uživatelé musí mít možnost zadat libovolné názvy serverů. Moje bezprostřední potřeba je s Ubuntu 12.04, ale čím širší použitelné řešení, tím lepší.
Klient je bez hlavy, takže hledám nástroj příkazového řádku.
Co jsem zkusil:
mount.cifs
:i když může být nastaven jako kořen setuid, jeho autoři jej nepovažují za bezpečný. Spusťte jej podsudo
má stejný problém.smbnetfs
,fusesmb
:Nepodařilo se mi přesvědčit ani jednoho z nich, aby mě požádal o heslo.- Nautilus a gvfs:
gvfs-mount smb://servername/sharename
selže sError mounting location: volume doesn't implement mount
.
Jak mohu připojit sdílenou složku Samba z příkazového řádku jako uživatel bez oprávnění root s výzvou k zadání hesla?
Přijatá odpověď:
„Chyba při montáži:svazek neimplementuje připojení“ zřejmě znamená „Potřebuji D-Bus, ale není k dispozici“. (Děkuji za tyto informace guru kolegovi venturaxu.) V rámci relace SSH mohu použít gvfs-mount
za předpokladu, že dbus-daemon
je spuštěna jako první a proměnná prostředí DBUS_SESSION_BUS_ADDRESS
je nastaveno.
export $(dbus-launch)
gvfs-mount smb://workgroupname;[email protected]/sharename
# Type password
ls ~/.gvfs/'sharename on hostname'
gvfs-mount
a další nástroje GVFS musí všechny komunikovat se stejnou relací D-Bus. Pokud tedy používáte více relací SSH nebo jinak používáte připojení napříč relacemi přihlášení, musíte:
- nejpozději spusťte D-Bus poprvé, když je potřeba;
- dejte pozor, aby D-Bus nekončil relací, pokud jsou připojeny souborové systémy GVFS;
- znovu použít existující relaci D-Bus v době přihlášení, pokud existuje.
Viz Opakované použití relací D-Bus v rámci relací přihlášení.