Montaż samby z monitem o hasło jako użytkownik inny niż root


17

Chcę zamontować udział SMB chroniony hasłem (obsługiwany przez komputer z systemem Windows). Udział jest chroniony nazwą użytkownika i hasłem i nie mogę zapisać hasła w pliku, chcę otrzymać monit o hasło w czasie montowania.

Potrzebuję rozwiązania, które działa nawet wtedy, gdy użytkownik na komputerze klienckim nie ma żadnych uprawnień administracyjnych, więc jakakolwiek metoda zastosowana do zamontowania udziału nie może pozwolić mu na uzyskanie uprawnień roota. Pierwszej instalacji można dokonać jako root. Użytkownicy muszą mieć możliwość określenia dowolnych nazw serwerów. Moja pilna potrzeba dotyczy Ubuntu 12.04, ale im szersze zastosowanie, tym lepsze.

Klient jest bez głowy, więc szukam narzędzia wiersza polecenia.

Co próbowałem:

  • mount.cifs: chociaż można go ustawić jako root setuid, jego autorzy nie uważają go za bezpieczny . Uruchomienie go pod sudotym samym problemem.
  • smbnetfs, fusesmb: Nie mogłem przekonać żadnego z nich, aby poprosił mnie o hasło.
  • Nautilus i gvfs: gvfs-mount smb://servername/sharenamekończy się niepowodzeniem Error mounting location: volume doesn't implement mount.

Jak mogę zamontować udział Samby z wiersza poleceń, jako użytkownik inny niż root, z monitem o hasło?


1
Wydaje się, że jeden z głównych deweloperów rozluźnił swoje stanowisko wobec problemów setuidów. Fragment: „Kod został znacznie przerobiony i powinien być znacznie bezpieczniejszy niż wcześniej. Oddziela teraz uprawnienia, tak że większość procesu montowania jest wykonywana jako nieuprzywilejowany użytkownik i jeśli jest połączony z odpowiednimi bibliotekami, z możliwościami przycinanymi do minimum. W tym momencie powiedziałbym, że jest na tyle bezpieczny, że nie musimy już ograniczać instalacji setuid root. ” źródło: lists.samba.org/archive/samba/2010-April/154935.html Zrozumiałem, że powinienem to zaznaczyć.
Tim

Odpowiedzi:


20

„Lokalizacja błędu montażu: wolumin nie implementuje montażu” najwyraźniej tłumaczy się jako „Potrzebuję D-Bus, ale nie jest dostępny”. (Podziękowania dla tego guru, kolegi venturax ). W ramach sesji SSH mogę korzystać, gvfs-mountpod warunkiem, że dbus-daemonjest uruchamiany jako pierwszy i DBUS_SESSION_BUS_ADDRESSustawiona jest zmienna środowiskowa .

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

gvfs-mounti wszystkie inne narzędzia GVFS muszą rozmawiać z tą samą sesją D-Bus. Dlatego jeśli używasz wielu sesji SSH lub w inny sposób używasz montowań w sesjach logowania, musisz:

  • uruchom D-Bus najpóźniej za pierwszym razem;
  • uważaj, aby D-Bus nie zakończył sesji, o ile są zamontowane systemy plików GVFS;
  • ponownie użyj istniejącej sesji D-Bus podczas logowania, jeśli taka istnieje.

Zobacz Ponowne użycie sesji D-Bus w różnych sesjach logowania .


1
Dotyczy to również gio mountnajnowszych wersji ubuntu.
jnas

1

SMBNetFS domyślnie korzysta z kluczy Gnome. Wszelkie hasła wprowadzone i zapisane w breloczku do Gnome podczas przeglądania udziałów Samby w Nautilusie powinny być używane automatycznie. Jeśli więc przechowywanie haseł w gnome-keyring jest OK, SMBNetFS jest wygodniejszy. Automatycznie montuje całe otoczenie sieciowe. Te informacje pochodzą z przykładowego pliku konfiguracyjnego SMBNetFS, ale nie przetestowałem go, ponieważ nie używam Gnome.

Jeśli chodzi o stosowanie kluczy Gnome bez X11 znajduje zastosowanie gnome-dziurki od klucza demon bez X .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.