GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Samba-Mount mit Passwortabfrage als Nicht-Root-Benutzer?

Ich möchte eine kennwortgeschützte SMB-Freigabe bereitstellen (die von einem Windows-Computer bereitgestellt wird). Die Freigabe ist durch einen Benutzernamen und ein Passwort geschützt, und ich darf das Passwort nicht in eine Datei schreiben, ich möchte beim Mounten nach dem Passwort gefragt werden.

Ich brauche eine Lösung, die auch dann funktioniert, wenn der Benutzer auf dem Client-Computer keine Administratorrechte hat, also darf die Methode, die zum Mounten der Freigabe verwendet wird, ihm nicht erlauben, Root-Berechtigungen zu erhalten. Die Erstinstallation kann als root durchgeführt werden. Benutzer müssen beliebige Servernamen angeben können. Mein unmittelbarer Bedarf liegt bei Ubuntu 12.04, aber je breiter anwendbar eine Lösung ist, desto besser.

Der Client ist kopflos, also suche ich nach einem Befehlszeilentool.

Was ich versucht habe:

  • mount.cifs :Obwohl es setuid root gemacht werden kann, betrachten seine Autoren es nicht als sicher. Führen Sie es unter sudo aus hat das gleiche Problem.
  • smbnetfs , fusesmb :Ich konnte keinen von ihnen davon überzeugen, mich nach einem Passwort zu fragen.
  • Nautilus und gvfs:gvfs-mount smb://servername/sharename schlägt fehl mit Error mounting location: volume doesn't implement mount .

Wie kann ich als Nicht-Root-Benutzer eine Samba-Freigabe über die Befehlszeile mit einer Passwortabfrage einhängen?

Akzeptierte Antwort:

„Fehler beim Mounten des Speicherorts:Volume implementiert Mount nicht“ bedeutet anscheinend „Ich brauche D-Bus, aber er ist nicht verfügbar“. (Dank an den Guru-Kollegen von venturax für diese Informationen.) Innerhalb einer SSH-Sitzung kann ich gvfs-mount verwenden vorausgesetzt, dass dbus-daemon zuerst gestartet und die Umgebungsvariable DBUS_SESSION_BUS_ADDRESS eingestellt ist.

export $(dbus-launch)
gvfs-mount smb://workgroupname;[email protected]/sharename
# Type password
ls ~/.gvfs/'sharename on hostname'

gvfs-mount und andere GVFS-Dienstprogramme müssen alle mit derselben D-Bus-Sitzung kommunizieren. Wenn Sie also mehrere SSH-Sitzungen verwenden oder anderweitig Mounts über Anmeldesitzungen hinweg verwenden, müssen Sie:

  • D-Bus spätestens beim ersten Mal starten, wenn er benötigt wird;
  • Achten Sie darauf, dass D-Bus nicht mit der Sitzung endet, solange GVFS-Dateisysteme gemountet sind;
  • Verwenden Sie die bestehende D-Bus-Sitzung zum Zeitpunkt der Anmeldung erneut, falls vorhanden.

Siehe dazu D-Bus-Sitzungen über Anmeldesitzungen hinweg wiederverwenden.


Linux
  1. So mounten Sie einen USB-Stick als Nicht-Root-Benutzer mit Schreibrechten

  2. So löschen Sie eine Nicht-Root-Nutzung mit UID 0 in Linux

  3. Installieren von Git mit einem Nicht-Root-Benutzerkonto

  4. SSH ohne Passwort (passwortlos) auf Synology DSM 5 als anderer (nicht-root) Benutzer

  5. Überprüfen Sie das Passwort des Benutzers mit einem Shell-Skript

So ändern Sie das Benutzerkennwort in Linux

Finden Sie Benutzerkonten mit leerem Passwort in Linux

Samba-Share-Benutzer/Passwort-Fehler nach Update?

Windows 10-Passwortfehler mit Samba-Freigabe

Löschen Sie das eingegebene Passwort in der versteckten Passwortabfrage (Linux) mit einem Shortcut

Ist es unsicher, einen ansiblen Benutzer mit passwortlosem sudo zu haben?