
Ubuntu Linux 22.04.2
Samba Version 4.15.13-Ubuntu
Ich verwende die Standardinstallation von Samba unter Ubuntu.
Ich habe dies hinzugefügt zu/etc/samba/smb.conf
[www]
durchsuchbar = ja
druckbar = nein
Kommentar = Web-Stammverzeichnis
Erstellungsmodus = 0644
Verzeichnismodus = 0775
Pfad = /var/www/html
beschreibbar = ja
gültige Benutzer = @www-data
Außerdem ist diese Zeile in den Einstellungen aktiv:
Unix-Passwortsynchronisierung = Ja
Danach habe ich Samba wie empfohlen neu gestartet.
systemctl status smbd
zeigt keine Fehler. Samba istaktiv (läuft)
Ich habe mich zuvor der Gruppe „www.data“ hinzugefügt.
Nun habe ich versucht, mich von Windows aus mit meinen Linux-Anmeldedaten mit der Netzwerkfreigabe (\\<HOST>\www) zu verbinden. Aber das geht nicht. Die Verbindung wird abgelehnt.
/var/www/html ist Eigentum von www-data
ls -la /var/www/html
drwxrwxr-x 3 www-data www-data 4096 Apr 24 20:44 .
drwxr-xr-x 3 root root 4096 Apr 21 10:37 ..
Was mache ich falsch? Fehlt mir eine Einstellung in Samba, die nicht der Standardeinstellung entspricht?
Ich kann von Windows aus auf den Host zugreifen und es ist keine Firewall aktiviert.
Antwort1
Ok. Mir ist klar geworden, dass ich smbpasswd verwenden muss, um den Benutzer irgendwie zur Sambas eigenen Datenbank hinzuzufügen.
sudo smbpasswd -a <user>
Aber warum wird es nicht mit den Linux-Anmeldeinformationen synchronisiert, wie angegeben durchUnix-Passwortsynchronisierung = Ja
Ich verstehe es nicht.
Antwort2
Das liegt daran, dass Samba *Nix synchronisieren muss und nicht umgekehrt. Sie müssen also smbpasswd verwenden, um einen Samba-fähigen Benutzer zu ändern. Intern weiß Samba, dass auch das *Nix-Passwort geändert werden muss, und tut dies.
Es gibt ein paar Optionen, die eingestellt werden könnten, um mithilfe eines benutzerdefinierten Programms eine Synchronisierung zwischen beiden, Samba und *Nix, zu erreichen.
passwd program = /bin/another_program %u
passwd chat = *old*password* %o\n *new*password* %n\n *new*password* %n\n *changed*