Ein neuer Benutzer für SAMBA ist ja schnell eingerichtet und aktiviert, aber welche gibt es denn bereits?
Alle SAMBA User kann man sich anzeigen lassen mit:
pdbedit -w -L
Eine etwas schönere Ausgabe:
pdbedit -w -L | awk -F: '{print $1}'
Ein neuer Benutzer für SAMBA ist ja schnell eingerichtet und aktiviert, aber welche gibt es denn bereits?
Alle SAMBA User kann man sich anzeigen lassen mit:
pdbedit -w -L
Eine etwas schönere Ausgabe:
pdbedit -w -L | awk -F: '{print $1}'
Ich hab mir grad einen Samba PDC aufgesetzt um testweise Windows XP, Windows 7 und Windows 98 Clients anzubinden.
Als Backend nicht ldapsam
oder das alte smbpasswd
sondern tdbsam ( Default seit 3.4 ). LDAP ist oft Overkill.
Die Anbindung von XP war einfach und für Windows 7 muss man bischen in der Registry rumfummeln. Windows 98 sollte, könnte, müsste eigentlich auch easy sein, aber war es leider nicht. Die Anmeldung wollte einfach nicht klappen.
Laut Manpage sollte es ausreichen, wenn in der smb.conf
folgendes hinzugefügt wird:
lanman auth = true
Der Haken an der ganzen Sache ist aber, dass User, die vor dem Hinzufügen dieser Option in der Samba eigenen Userdatenbank angelegt wurden, sich nicht anmelden können.
Legt man einen User frisch an oder ändert das Passwort via smbpasswd
bzw. pdbedit
, geht es.
Das liegt daran, dass ohne lanman auth = true
das Passwort nur als NT Hash gespeichert wird, das ab Windows 2000 benutzt wird.
Der Lanman Hash
bleibt ungesetzt. Erkennt man an den vielen X-en. Fügt man besagte Option nun in die smb.conf
ein, aktualisiert dies jedoch nicht den Lanman Hash mit dem aktuellen Passwort. Daher muss man das Passwort neu setzen oder den User löschen und wieder anlegen.
# pdbedit -Lw -u testuser testuser:1004:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:C889C75B7C1AAE1F7150C5681136E70E:[U ]:LCT-4E6E6605:
Lanman Hash = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ( ungesetztes Passwort ) NT Hash = C889C75B7C1AAE1F7150C5681136E70E
lanman auth = Yes
in smb.conf eintragen# smbpasswd testuser
# pdbedit -Lw -u testuser testuser:1004:9A92B9EE6A02D685AAD3B435B51404EE:3A312BC75D57FDD3558BA9D2FC9102F3:[U ]:LCT-4E6E6621:
Lanman Hash = 9A92B9EE6A02D685AAD3B435B51404EE NT Hash = 3A312BC75D57FDD3558BA9D2FC9102F3
Jetzt klappt auch die Anmeldung
Ach ja, wer Samba's Interna besser verstehen will, ist mit diesem Buch sehr gut beraten: Samba 3 für Unix / Linux-Administratoren
Mit Hilfe von POSIX ACLs kann man die Dateizugriffe über Samba sehr viel granularer einschränken als mit normalen File Permissions. Doch manchmal wird trotzdem versehentlich was gelöscht und dann will's keiner gewesen sein. Von wegen. Samba kann man Argusaugen verpassen:
/etc/samba/smb.conf
[daten] path = /srv/daten browseable = yes read only = no hide unreadable = yes # Argusaugen vfs objects = full_audit full_audit:success = unlink rmdir full_audit:failure = none full_audit:facility = LOCAL7
/etc/rsyslog.conf
local7.* /var/log/samba/log.audit
/etc/logrotate.d/samba-audit
/var/log/samba/log.audit { weekly missingok rotate 7 postrotate /etc/init.d/samba reload > /dev/null endscript compress notifempty }
/var/log/samba/log.audit
Sep 19 21:12:30 hermes-845-gv smbd[3700]: swick|192.168.0.100|rmdir|ok|tnc/testordner
Unter /usr/lib/samba/vfs
gibt's noch andere Nettigkeiten z.B. Logging in eine MySQL oder PostgreSQL Datenbank.
"People said I should accept the world. Bullshit! I don't accept the world." -- Stallman