Standardbenutzername für Samba-Freigaben, der nicht der Benutzername auf dem Client-System ist

Standardbenutzername für Samba-Freigaben, der nicht der Benutzername auf dem Client-System ist

Beim Mounten einer Samba-Freigabe wird als Benutzername standardmäßig der Benutzername des Client-Rechners verwendet und nicht das Feld „Benutzername“ aus dem früheren Dialogfeld „Mit Server verbinden“.

Zugriff auf eine Samba-Freigabe über SSH von Linux mit Nautilus, wobei der Client-Benutzername „lfm“ und der Benutzername auf dem Serversystem „lastfirstmiddle“ ist:

$ who | awk '{print $1}'
lfm
lfm
$ sudo ssh [email protected] -L 445:samba.example.com:445 -L 139:samba.example.com:139 -f -N
[sudo] password for lfm: 
[email protected]'s password:
$ nautilus

Das Problem tritt bei der Home-Freigabe des Benutzers nicht auf. Der Kennwortdialog verwendet erwartungsgemäß den Benutzernamen, der im Dialogfeld „Mit Server verbinden“ angegeben wurde:

lfm - File Brower
Location: [/home/lfm]
File>Connect To Server...>

Connect To Server
Service type: [Windows Share]
Server: [localhost]
Share: [lastfirstmiddle]
User Name: [lastfirstmiddle]
Domain Name: [example-com]
<Connect>

Password required for share lastfirstmiddle on localhost
[x]Forget password immediately
Password: [*******]
<Connect>

lastfirstmiddle on localhost - File Browser
Location: [smb://example-com;lastfirstmiddle@localhost/lastfirstmiddle/]

Über den Dialog „Mit Server verbinden“ kann eine Liste der „Windows-Freigaben“ abgerufen werden, indem das Feld „Freigabe“ leer gelassen wird.

lastfirstmiddle on localhost - File Browser
File>Connect To Server...>

Connect To Server
Service type: [Windows Share]
Server: [localhost]
Share: []
User Name: [lastfirstmiddle]
Domain Name: [example-com]
<Connect>

Password required for share lastfirstmiddle on localhost
[x]Forget password immediately
Password: [*******]
<Connect>

On localhost - File Brower
Location: [smb://localhost/]

Wählen Sie dann eine Freigabe aus und „Öffnen mit geöffnetem Ordner“ erzeugt das Dialogfeld „Mit Server verbinden“, das im Gegensatz zum vorherigen Fall als „Benutzername“ standardmäßig den Benutzer auf dem Clientsystem vorgibt. Es übernimmt nicht den Wert, der im Dialogfeld „Mit Server verbinden“ verwendet wurde, das die Liste der Freigaben erstellt hat.

On localhost - File Brower
Location: [smb://localhost/]
----------- ---- ----    -----
Name        Size Type    Date
----------- ---- ----    -----
AShare      --   Folder Unkown
BShare      --   Folder Unkown
CShare      --   Folder Unkown
{{XShare    --   Folder Unkown}}
YShare      --   Folder Unkown
ZShare      --   Folder Unkown
File>Open with Open Folder>

Man kann „Mit Server verbinden“ verwenden und ein „Lesezeichen“ angeben, das später zum Mounten einer Freigabe verwendet werden kann, ohne jedes Mal den Dialog „Mit Server verbinden“ abschließen zu müssen. Um Zugriff auf alle sechs oben aufgeführten Freigaben (ABCXYZ) zu haben, müsste man sechs Lesezeichen erstellen. Bei sechs Freigaben mag das in Ordnung sein, aber bei Dutzenden von Freigaben wäre das etwas lästig.

Gibt es eine Möglichkeit, den Standardbenutzernamen in etwas anderes als den Benutzernamen des Clientsystems zu ändern?

Antwort1

Sie verwenden in Ihrer Datei möglicherweise Sicherheit auf Freigabeebene (security = share) smb.conf. Bei der Sicherheit auf Freigabeebene verwendet Samba den Freigabenamen als Benutzernamen für die Verbindung und verlangt im Protokoll keinen Benutzernamen. So funktionierte Windows 98 im Grunde. Sie möchten wahrscheinlich security = user und benötigen eine entsprechende smbpasswdDatei, da Samba die normale UNIX-Passwortdatenbank ( /etc/passwdoder /etc/shadow) nicht verwenden kann. Fügen Sie smbpasswd -a lfmmit einen neuen Benutzer für lfm hinzu und legen Sie dessen Passwort fest. Legen Sie security = user fest smb.confund starten Sie Samba neu.

verwandte Informationen