Samba Themenabend

  1. Was ist Samba?
  2. Konfiguration von Samba
  3. Samba als Fileserver
  4. Samba als Printserver
  5. Samba als PDC
  6. Einrichtung von Samba mit SWAT
  7. Links zu Samba



Was ist Samba?

Das Programmpaket Samba ermöglicht es Linux Rechner mit Windows Rechner zu kommunizieren. Dies funktioniert über das SMB (Service Message Block) Protokol, das auch für die Kommunikation zwischen Windowsrechner verwendet wird.

Samba bietet insgesamt 5 Optionen an:

  1. Linux Rechner können Windowslaufwerke nutzen
  2. Windows Rechner können Linuxlaufwerke nutzen
  3. Ein Drucker unter Linux kann von Windowsrechnern benutzt werden
  4. Ein Drucker unter Windows kann von Linuxrechnern benutzt werden
  5. Ein Linux Rechner dient als Anmeldungs Server (PDC) für Windowsrechner



Die Konfiguration von Samba

Die zentrale Konfigurationsdaeti von Samba ist smb.conf, diese unterteilt sich in sog. Sektionen. Spezielle Sektionen sind

global:
Allgemeine Einstellungen für alle Resorcen
homes:
Home Verzeichnis des Benutzers
Printers:
Share für alle installierten Drucker
Nach jeder änderung der Konfigurationdatei muß Samba neugestartet werden.

/etc/init.d/samba restart
Bei Suse /sbin/init.d/smb restart



Samba als Fileserver

Zuerst müssen die bereitgestellenden Verzeichnisse erstellt werden.

mkdir /samba
chgrp samba /samba
chmod 755 /samba
cd samba
mkdir pub
mkdir daten
chgrp samba *
chmod 770 *



[global]
printing = bsd
# Druckersystem
Guest account = nobody
# Gast Account
invalid users = root
# Benutzer die generell keinen Zugriff haben
security = user
# Sicherheitslevel, hier auf Benutzerebene
interfaces = 192.168.1.3/255.255.255.0
# IP-Adresse und Netzwerkmaske des Samba Servers 
workgroup = localgroup
# Arbeitsgruppe bzw. Domäne
server string = %h server (%v Samba)
# Beschreibung des Samba Servers, %h für Rechnername und %v für Version# des Samba Servers 
logfile = /var/log/samba.%m
# Pfad der Logdatei 
encrypt passwords = yes
# Samba akzeptiert Verschlüsselte Passwörter
wins support = no
# Samba ist kein Winsserver
os level = 65
# Als welche Windowsversion soll Samba sich ausgeben, wichtig für Wahl des # Master Browsers 
unix password sync = true
# Samba und Linux Passwörter werden syncronisiert 

[homes]
# Name der Freigabe
comment = Heimatverzechnisse
# Kommentar zur Freigabe
browseable = no
# Freigabe wird nicht in der Netzwerkumgebung angezeigt
create mask = 0700
# Der Besitzer hat alle Rechte für erstellte Dateien sonst hat keiner 
Rechte  
Directory mask = 0700
# gleiche Bedeutung wie oben bloß für Verzeichnisse

[pub]
comment = öffentliches Verzeichnis
path = /samba/pub
# Verzeichnis der Share
guest ok = yes
# Gäste dürfen sich anmelden

[daten]
comment = Wichtige Daten 
path = /samba/daten
valid users = @samba
# Nur die Gruppe samba soll zugriff haben
browseable =no
write list = @samba
# Der Gruppe samba ist permanentes schreiben erlaubt 


Jetzt müssen noch die Samba Passwörter angelegt werden.

smbpasswd user

Jetzt sollte sollte man bereits von den Windows Clienten aus auf den Server zugreifen können.

Samba Server in der Netzwerkumgebung

Bei Problemen sollte geprüft werden ob die Laufwerke freigegeben sind. Es werden nur Freigaben angezeigt die browsebar sind.

smbclient -L localhost

Als nächstes sollte die Konfigurationsdatei überprüft werden.

testparm

Wenn am Linux Rechner alles stimmt sollte der Server vom Clienten aus überprüft werden

net view \\asspdc\

Während der Fehlersuche sollte unbedingt auch ein Blick in die Logdateien des Server und des Klienten geworfen werden. less /var/log/samba.win
less /var/log/samba.server



Samba als Printserver



[global]
printing = bsd
guest account = nobody
invalid users = root
security = user
workgroup = localgroup 
server string = %h Server (%v Samba)
interfaces = 192.168.1.3/255.255.255.0
logfile = /var/log/samba.%m
encrypt passwords = yes
wins support = no
os level = 65
unix passwords sync = yes 

[homes]
comment = Heimatverzeichnisse
browseable = no
create mask = 0700
directory mask = 0700

[printers]
comment = alle Drucker
browseable = no
path = /tmp
printable = yes
# Freigabe ist druckbar
read-only = yes
# Freigabe ist nur lesbar
create mode = 0700  


Jetzt muss unter Windows der Drucker als Netzwerkdrucker installiert werden.

Netzwerkdrucker installieren

Bei Problemen sollte wie oben vorgegangen werden

smbclient -L localhost
testparm
net view \\server\
less /var/log/samba.win
less /var/logsamba.server

Weiterhin sollte geprüft werden ob der Drucker unter Linux druckt.

lpr samba.html

Als letztes sollte sicher sein das der Treiber unter Windows richtig funktioniert.

Samba als PDC

Zuerst muß das Verzeichnis netlogon erstellt werden, dieses ist für Logonscripte notwendig.

cd /samba
mkdir netlogon
chgrp samba netlogon
chmod 770 netlogon



[global]
printing = bsd
guest account = nobody
invalid users = root
security = user
workgroup = assnide
server string = %h server (%v Samba)
logfile = /var/log/samba.%m
encrypt passwords = yes
wins support = no
os level = 65
unix passwords sync = true
logon script = %U.bat
# Name der Logonscripten
logon path = /samba/netlogon
# Verzeichnis der Logonscripte
domain logons = yes
# Domain Anmeldungen sind erlaubt

[homes]
comment = Heimatverzeichnisse
browseable = no
create mask =0700
directory mask =  0700

[pub]
comment = öffentliches Verzeichnis
path = /samba/pub
guest ok = yes

[daten]
path = /samba/daten
valid users = @samba
browseable = no
write list = @samba

[netlogon]
comment = Logonscripte
path = /samba/netlogon
browseable = no 
 

Nun muß für jeden Benutzer der sich anmelden soll ein Unix Konto angelegt werden. Die Benutzer sind zwar unter Linux vorhanden können sich an dem Linux Rechner selber nicht anmelden.

useradd -g samba -s /dev/null user1

Für die Benutzer muß auch noch ein Samba passwort vergeben werden.

smbpasswd -a user1

Dem Windowsrechner muß jetzt bloß noch gesagt werden, dass er sich immer über die Samba Domäne anmeldet.

Domäne eintagen

Um die Freigaben bequem im Arbeitsplatz des Windowsrechners zu haben muß ein Script erstellt werden das bei jeder anmeldung gestartet wird. Dieses Scriptmuß mit einem Windowseditor geschrieben werden.

net use f:\\servername\pub
net use g:\\servername\daten

Diese Datei muß jetzt den Usernamen.bat tragen (zb. user1.bat) und dann ins Netlogon Verzeichnis kopiert werden. Bei der nächsten Ammeldung sollte die im Arbeitsplatz als ganz normales Laufwerk angezeigt werden.

Netzlaufwerke im Arbeitsplatz

Bei Problemen sollte wie bekannt zuerst die Freigaben, die logdateien sowie die Konfigurationsdatei überprüft werden.

smbclient -L localhost
testparm
net view \\server\
less /var/log/samba.win
less /var/log/samba.server

Es sollte auch sichergestellt sein das unter Windows die richtige Domäne eingegeben ist.



Samba mit Swat einrichten

Mit Swat läßt sich Samba auf einfachste Weise konfogurieren. Samba wird meistens über Swat gestartet. Um Swat zu aktivieren muß folgendeZeile in der Datei inetd.conf stehen.


swat    stream    tcp    nowait.400   root    /usr/bin/tcpd  /usr/bin/swat

Nach einer Änderung muß inetd neugestartet werden.

/etc/init.d/inetd restart

Jetzt kann Swat benutzt werden. Im Browser muß jetzt die Seite http://localhost:901 geöffnet werden. Jetzt sollte man sich als root anmelden, um so alle funktionen zur Verfügung zu haben. Samba läßt sich jetzt einfach per Browser administrieren.

Bei Problemen sollte der Eintrag in inetd.conf Überprüft werden.

Weiterhin sollte sichergestellt sein das inetd neugestartet wurde.

Wenn sich in der inetd.conf im Eintrag swat die Option /usr/bin/tcpd befindet dann muß geprüft werden welche Rechner in host.allow und hosts.deny eingetragen sind.



Offizielle Seite von Samba
Using Samba
Samba Dokumentaition der Distribution