In den Freigabeeinstellungen in smb.conf
müssen Sie die Namen der Benutzer und / oder Gruppen angeben, die in die Freigabe schreiben dürfen. Verwenden Sie dazu eine write list = ...
Zeile.
Beispiel:
[myshare]
...
write list = my_linux_username
Dann müssen Sie den smbpasswd
Befehl verwenden, um ein Kennwort für die Authentifizierung my_linux_username
für Samba einzurichten :
sudo smbpasswd -a my_linux_username
Dieser Schritt ist erforderlich, da die Standard-Systemkennwörter /etc/shadow
in Algorithmen gehasht werden, die mit den im SMB-Protokoll verwendeten Kennwort-Hash-Algorithmen nicht kompatibel sind. Wenn ein Client ein SMB-Authentifizierungspaket sendet, enthält es ein gehashtes Kennwort. Es kann nur mit einem anderen Passwort-Hash verglichen werden, der denselben Algorithmus verwendet.
(Sehr, sehr alte Anweisungen aus dem vorigen Jahrtausend empfehlen möglicherweise, die Kennwortverschlüsselung in Samba zu deaktivieren und bestimmte Registrierungshacks zu verwenden, damit Windows unverschlüsselte Kennwörter an das Netzwerk senden kann. Dieser Hinweis ist veraltet : Diese Registrierungshacks funktionieren möglicherweise in aktuellen Versionen von nicht mehr Windows, und ermöglichen Sie jedem, der Ihren Netzwerkverkehr überwachen kann, die einfache Erfassung Ihres Kennworts.)
Es gibt noch eine Sache, die Sie möglicherweise clientseitig erledigen müssen. Wenn Ihr Windows-Clientsystem einer Active Directory-Domäne angehört und Sie mit einem AD-Konto angemeldet sind, wird allen nicht qualifizierten Benutzernamen automatisch der Name der AD-Domäne des Benutzers vorangestellt, dh, Sie authentifizieren sich AD_DOMAIN\your_username
nicht nur als your_username
.
Wenn Sie mit einem lokalen Konto angemeldet sind (oder Ihr Clientsystem keiner AD-Domäne angehört), wird dem Benutzernamen möglicherweise automatisch der Hostname des Clients vorangestellt, es sei denn, Sie geben einen anderen Domänennamen an.
Um sich von einem eigenständigen Windows-Client aus erfolgreich bei einem eigenständigen Samba-Server anzumelden, müssen Sie möglicherweise Ihren Benutzernamen als angeben SAMBA_SERVER_HOSTNAME\your_username
.
Andernfalls wird Samba den Benutzernamen als sehen WINDOWS_CLIENT_HOSTNAME\your_username
, daraus schließen, dass es keine Möglichkeit gibt, Benutzer zu überprüfen, die zu der genannten Domain gehören WINDOWS_CLIENT_HOSTNAME
, und die Anmeldung ablehnen.
(Neuere Versionen von Samba verfügen möglicherweise über eine integrierte Prüfung für diese spezielle Situation und ermöglichen Ihnen möglicherweise trotzdem den Zugriff. Aber im Grunde funktioniert die SMB-Authentifizierung "unter der Haube" und wenn Sie mit alten Versionen von Samba umgehen müssen , es könnte noch nützlich sein.)
force user = defaultUser
hat den Job für mich erledigt.