Samba

Samba ist eine freie Software-Suite, die (das von Windows verwendete) Server-Message-Block-Protokoll (SMB) bzw. neu: CIFS für Unix-artige Systeme verfügbar macht.

siehe auch: Drucken im Netz, samba-print-pdf

Samba, 2. Auflage GNU FDL

Samba Rechteabbildung aus: O`Reilly: Samba; Lizenz GNU FDL

Nützliche Programme zu Samba
Programm Funktion
nmblookup schlägt NetBIOS-Namen nach, z.B.
nmblookup -U IP -A IP
smbstatus zeigt den aktuellen Status von Samba
testparm prüft die syntaktische Richtigkeit (geänderter) Einstellungen
smbpasswd ändert die Passwörter der Samba-Benutzer (in /etc/samba/smbpasswd). Dieses backend wird übrigens in aktuellen Samba-Versionen nicht mehr standardmäßig benutzt sondern muss mit „passdb backend = smbpasswd“ explizit angegeben werden
pdbedit Editiert das tdb-backend (Datei liegt in /var/lib/samba/passdb.tdb). pdbedit -L listet Benutzer auf.

Wenn ein Benutzer sein Passwort ändert, muss das im Normalfall an 2-3 Stellen erfolgen

  1. unter Windows
  2. bei Samba (smbpasswd)
  3. unter Linux (mit passwd)

Lösen lässt sich das Problem indem man

  1. entweder Login-Namen, Passwörter und andere Benutzerspezifische Daten mit einem LDAP-Server verwaltet. Darauf kann mit Samba und PAM zugegriffen werden.
  2. oder einen Windows-Server dazu benutzt. Dann muss Samba (mit security = domain oder security = ads und winbindd) als auch PAM passend konfiguriert werden.

Die Einstellungen von Samba sind eigentlich recht ausführlich dokumentiert.

Die Einstellungen die man meist braucht sind

guest ok = Yes

Es ist kein Benutzerkonto auf dem Pc nötig

browseable = Yes

Man kann die Freigabe im Netzwerk sehen.

Nach der Änderung sollte zuerst die Richtigkeit überprüft werden:

testparm

dann kann man die Änderungen einlesen lassen:

/etc/init.d/smb reload

SWAT

SWAT ist ein übersichtliches Tool für die Konfiguration, es lauscht auf localhost:901.

Schnell-Überblick SWAT-Setup

manuelle Einrichtung (für xinetd):

  • in /etc/xinetd.d/ eine Datei namens swat anlegen und mit folgendem Inhalt füllen:
service swat
{

   port            = 901
   socket_type     = stream
   protocol        = tcp
   wait            = no
   user            = root
   server          = /usr/sbin/swat
   log_on_failure  += USERID
   disable         = no
   only_from       = localhost

}

Domänencontroller einrichten

Freigabe einrichten ohne Benutzer

Den einfachsten Fall (eine Verbindung auf Freigabe-ebene und ohne Passwortabfrage für jeden beschreibbar):

[public]
	path = /home/user/public
	read only = No
	guest ok = Yes

guest ok = Yes ist gleichbedeutend mit public = Yes

Freigabe einrichten mit Benutzern

Vorbereitung:

  • Systembenutzer anlegen (adduser TOM)und z.B. in Gruppe „users“ stecken (usermod -g users TOM)
  • Ordner anlegen und entsprechende Rechter erteilen
[dateiserver]
   comment = unser Dateiserver
   read only = no
   path = /path_to_our_files
   guest ok = no
   create mask = 0640
   directory mask = 0770
  • Benutzer hinzufügen:
    smbpasswd -a TOM
  • Passwort ändern:
    ssmbpasswd TOM
  • existierende Benutzer auflisten:
    spdbedit -w -L

Samba an AD authentifizieren

WINS-Unterstützung

Samba als WINS-Server:

[global]
	wins support = yes
	name resolve order = wins lmhosts hosts bcast

Samba als WINS-Client:

[global]
	wins server = IP_or_DNS-Name