Wichtung: 4
Beschreibung: Die Kandidaten sollen in der Lage sein, die NFS-, smb- und nmb-Dämonen zu verwalten.
Wichtigste Wissensgebiete:
Einbinden von Netzwerkdateisystemen via NFS.
Konfiguration von NFS um lokale Dateisysteme zu exportieren.
Start, Stopp und Neustart des NFS-Servers.
Installieren und Konfigurieren von Samba mit dem vorhandenen GUI-Tools (swat) oder durch Editieren der /etc/smb.conf (Hinweis: Dieses Gebiet schließt fortgeschrittenes Wissen über NT-Domänen bewusst aus, beinhaltet jedoch das einfache Benutzen gemeinsamer Home-Verzeichnisse und Drucker sowie die Konfiguration des nmbd als WINS-Client).
Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
/etc/exports
/etc/fstab
/etc/smb.conf
mount
umount
Freigaben im Netzwerk sind eine feine Sache. Man kann ohne Austausch von beschreibbaren Medien auf Dateien zugreifen, die sich auf einem anderen Rechner/Server befinden. Das Network File System (kurz NFS) ermöglicht die Freigabe und den Zugriff von bzw. auf Verzeichnisse. NFS ist der Standard für die Dateifreigabe von Unix/Linux.
NFS-Freigaben werden mit dem Mount-Befehl in das Dateisystem eingehangen. Folgendes Beispiel verdeutlicht die Syntax, um NFS-Freigaben einzubinden:
mount -t nfs petersPC:/home/public /mnt/freigabe_petersPC
Mit der Option -t wird das Dateisystem (in diesem Fall logischerweise NFS) festgelegt. petersPC ist der Remote-Rechner, auf dem sich die NFS-Freigabe befindet. Nach dem Doppelpunkt erfolgt der absolute Pfad des Freigabeverzeichnisses.
Natürlich kann man in der Datei /etc/fstab festlegen, dass die NFS-Freigabe automatisch nach dem Starten des Linux-Betriebssystems eingehangen wird:
//Auszug /etc/fstab
petersPC:/home/public /mnt/freigabe_petersPC nfs defaults 0 0
Das NFS-Dateisystem basiert auf Remote Procedure Calls (RPC), welches den "entfernten Zugriff" ermöglicht, also den Zugriff von Remote-Host auf den Server. Für die Verwaltung des RPC-System bzw. für die Zuweisung der Ports ist der so genannte portmapper zuständig. Der portmapper weist den einzelnen Prozeduren einen Port oberhalb von 10000 zu. Damit NFS-Freigaben erstellt werden können, muss als erstes der portmapper-Dämon gestartet sein:
// Starten von portmapper
/etc/init.d/portmap start
// Anzeigen der RPC-Dienste
# rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
Der Befehl rpcinfo -p zeigt die auf der Maschine laufenden RPC-Dienste an. Nun sind die Grundlagen für die NFS-Dateifreigabe geschaffen. Als nächstes müssen die eigentlichen Freigaben deklariert werden. Dies erfolgt in der Datei /etc/exports:
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
/home/freigabe/public (ro,all_squash)
/home/freigabe/all 192.168.2.0/24(rw,async)
/home/freigabe/general *.heimnetz.de(ro)
/home/freigabe/rechner1 rechner1(rw,async,no_root_squash)
/home/freigabe/rechner2 rechner2(rw,async,no_root_squash)
Die Optionen im Detail:
rw = Client hat Schreib- und Leserechte
ro = Client hat nur Leserechte
root_squash = Die UID/GID 0 (z. B. die von root) auf der Client-Seite wird nobody übersetzt. Somit werden keine Root-Rechte auf der Freigabe erstellt.
no_root_squash = schaltet das Root-Squashing aus
all_squash = Ähnlich wie root_squash, nur dass alle Benutzer automatisch mit den Rechten nobody arbeiten
anonuid, anongid = Der Benutzer nobody benutzt jetzt UID und GID definiert durch diese Optionen.
Jetzt müssen die rpc.mountd und rpc.nfs Daemons gestartet werden, um einen laufenden NFS-Server zu bekommen. Hier eine Übersicht der notwendigen Dämonen und Dateien:
- portmapper
- rpc.nfsd
- rpc.mountd
- /etc/exports
Der Datenaustausch zwischen dem Windows- und Linux-Betriebsystemen wird durch den so genannten SAMBA-Server bzw. SAMBA-Client ermöglicht, der dafür sorgt, dass ein Linux-Rechner auf die Windows-Freigaben zugreifen kann bzw. dieser Freigaben für die Windows-Rechner erstellt.
Das Einhängen von Samba-Freigaben erfolgt nach demselben Prinzip wie bei den NFS-Freigaben, lediglich das Dateisystem ist ein anderes:
//Anmelden mit Gast-Account
mount -t smbfs -o guest //petersPC/freigabe /mnt/freigabe_petersPC
//Mounten mit smbmount
smbmount -o guest //petersPC/freigabe /mnt/freigabe_petersPC
//Anmelden mit Benutzerdaten
mount -t smbfs -o username=peter,password=abcde //petersPC/freigabe /mnt/freigabe_petersPC
Um Samba-Freigaben zu erstellen, muss auf dem Rechner der Samba-Server installiert und gestartet sein. Dazu müssen zwei Daemonen gestartet werden:
/etc/init.d/smbd start
/etc/init.d/nmbd start
smbd = stellt Datei- und Druckerdienste zur Verfügung
nmbd = NetBIOS-Nameserver, ähnlich dem WINS-Dienst
Samba wird zentral in der Konfigurationsdatei /etc/smb.conf konfiguriert. Neben der globalen Sektion, in der allgemeine Einstellungen zum Samba-Server definiert werden. Anschließend folgen die Freigaben selbst, in folgendem Beispiel die Freigaben Home, Freigabe und Portage:
// Auszug /etc/smb.conf
[global]
;String, mit dem sich der Samba-Server meldet
;(%h = Hostname, %v = Samba-Version)
server string = Tuxmobil %v
comment = Samba 3.0.5
;Für "myworkgroup" den Namen der Arbeitsgruppe einsetzen,
;der auch auf dem Win-PC eingetragen ist
workgroup = ARBEITSGRUPPE
guest account = nobody
keep alive = 60
os level = 2
kernel oplocks = false
security = share
;Rechner eintragen, die auf die Freigaben zugreifen dürfen
hosts allow = 192.168.0.
encrypt passwords = yes
printing = bsd
printcap name = /etc/printcap
load printers = yes
socket options = TCP_NODELAY
map to guest = Bad User
wins support = no
;IP-Adressen der Interfaces, die Samba abfragen soll
interfaces = 192.168.0.5/255.255.255.0
[Home] # Name der Freigabe
comment = Passwort benötigt! # Kommentar zur Freigabe
path = /home/chef # Verzeichnis, dass freigegen wird
user = chef # Benutzer, die darauf zugreifen dürfen
public = no # Ist das Verzeichnis öffentlich zugänglich?
writeable = yes # Man hat Schreibzugriff
[Freigabe] # Name der Freigabe
comment = Freigabe # Kommentar zur Freigabe
path = /home/chef/temp # Verzeichnis, dass freigegen wird
public = yes # Ist das Verzeichnis öffentlich zugänglich?
writable = yes # Man hat Schreibzugriff
chmod = 777 # Alle dürfen schreiben und ausführen
[Portage] # Name der Freigabe
comment = Gentoo-Portage # Kommentar zur Freigabe
path = /usr/portage/distfiles # Verzeichnis, dass freigegen wird
public = yes # Ist das Verzeichnis öffentlich zugänglich?
writable = yes # Man hat Schreibzugriff
Mithilfe von Samba ist es auch möglich, Drucker für andere Rechner im Netzwerk freizugeben. Wenn man alle Drucker freigeben möchte, dann schreibt man folgendes in die /etc/smb.conf:
// Alle Drucker freigeben.
// Freigabe muss printers lauten
// Auf Path müssen alle Schreibrechte haben
[printers]
comment = Alle Drucker
path = /tmp
create mask = 0700
printable = Yes
browseable = No
guest ok = Yes
Möchte man nur einen bestimmten Drucker freigeben, so muss man den Druckernamen explizit angeben:
// Einzelnen Drucker freigeben
[Samsung]
comment = Samsung ML2200
path = /tmp
create mask = 0700
guest ok = Yes
printable = Yes
printer name = lp2
Samba als WINS-Client
Um einen Samba Server an einen bestehenden WINS-Server anzuhängen, dessen Dienste und Namensauflösungen zu nutzen, muss folgendes in die Globale-Sektion eingetragen werden:
[global]
...
wins server = 192.168.2.111
...
Samba als WINS-Server
Auch Samba kann als WINS-Server fungieren:
[global]
...
wins support = yes
...
http://www.selflinux.org/selflinux/html/nfs.html
https://www.pc-erfahrung.de/linux/linux-samba.html
http://www.linux-praxis.de/lpic1/lpi102/1.113.4.html