Samba: Daten gemeinsam nutzen
Damit auf einen Linuxserver mit Windowsclients zugegriffen werden kann ist es noetig, ein Serverprogramm zu installieren, das die windowseigenen Protokolle fuer Datei- und Druckerdienste spricht und zur Verfügung stellt. Die Implementierung dieser Protokollfamilie unter Linux heisst Samba.
Die durch Samba freigegebenen Verzeichnisse (shares) stellen sich fuer die Userin in der gleichen Form dar, wie Windowsfreigaben in einem Windows Netzwerk. Der Sambaserver wird in der Netzwerkumgebung wie ein Windowsserver unter seinem Namen angezeigt. Verzeichnisse werden in der windowsueblichen Form dargestellt.
Die zwei Daemons:
• Smbd (Datei- und Druckerdienste)
• Nmbd (NetBIOS Server)
Die Installation erfolgt mit apt-get install samba auf der Konsole.
Samba wird ueber eine zentrale Konfigurationsdatei gesteuert. In diesem Beispiel wird Samba nicht als Domainenkontroller, sondern als Wins-Server in einem Netzwerk mit Arbeitsgruppe meine_gruppe betrieben. Es werden zwei Verzeichnisse freigegeben, eines nur fuer die Gruppe Leitung, eines fuer alle Angestellten und die Leitung. Die Verzeichnisse liegen beide unterhalb von /data_1/ und heissen LEITUNG und DATA
Vorarbeiten:
Zwei Gruppen und vier Userinnen mit unterschiedlicher Gruppenzugehoerigkeit werden unter Linux eingerichtet:
addgroup Leitung
addgroup Angestellt
useradd –c (Leitungsfunktion) –m –s /bin/false L1
useradd –c (Leitungsfunktion) –m –s /bin/false L2
useradd –c (Angestellte) –m –s /bin/false A1
useradd –c (Angestellte) –m –s /bin/false A2
Auszug aus der /etc/goup:
Leitung:x:1000:L1,L2
Angestellt:x:1001:A1, A2, L1, L2
Die Konfigurationsdatei:
[global]
# Hier werden die globalen Einstellungen der daemons festgelegt
workgroup = meine_gruppe
server string = %h server
wins support = yes
# Den Domain Name Service stellt in diesem Netzwerk der Router zur Verfügung
dns proxy = no
# Reihenfolge, in der nach einer Namensaufloesung gesucht wird (default)
name resolve order = lmhosts host wins bcast
# Samba wird nicht an eine bestimmte Netzwerkadresse gebunden. ( Der Server
# verfuegt nicht ueber eine weitere Netzwerkadresse mit Zugang zum Internet
; interfaces = 127.0.0.0/8 eth0
; bind interfaces only = true
# Logfielverzeichnis usw.
log file = /var/log/samba/log.%m
max log size = 1000
; syslog only = no
# alle Logs gehen in das vorgeschrieben Verzeichnis unterhalb von /var/log;
# Syslog wird nicht genutzt
syslog = 0
panic action = /usr/share/samba/panic-action %d
# Einstellungen zur Sicherheit
# Samba verfuegt ueber drei Security –Level: share / user / server
# Hier dient die Benutzeranmeldung als Security-Level, root darf nicht zugreifen,
# Passwoerter gehen unverschluesselt ueber das Netzwerk, der Gastaccount ist gesperrt
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
; guest account = nobody
invalid users = root
# neue Unixuser werden automatisch zu Samba Usern.
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
# Freigabenbereich
# Beispiel fuer eine eigen definierte Freigabe, LEITUNG u. DATEN sind die Namen unter
# denen die shares in der Netzwerkumgebung erscheinen
[LEITUNG]
comment = Freigabe fuer Betriebsleitung
writeable = yes
# Verzeichnis, in dem besonderst geschuetzte Dateien liegen
path = /data_1/LEITUNG
valid users = @Leitung
force directory mode = 770
force create mode = 770
force create mask = 770
[DATEN]
comment = Freigabe fuer Angestellte und Betriebsleitung
writeable = yes
path = /data_1/DATA
valid users = @Angestellt
force directory mode = 770
force create mode = 770
force create mask = 770