Netzgeflüster unter GNU/Linux SuSE mit KDE 3.x
von Günther Zander
Der KDE
Standardbrowser „Konqueror“ bietet viele Möglichkeiten
zum Datenaustausch über ein Netzwerk. Unterstützt
werden dabei Verbindungen mittels FTP, HTTP, NFS, SMB und FISH.
Dieser Artikel beschreibt einige Möglichkeiten diese
Verbindungen einzurichten und zu nutzen.
1. LISa
------------------------------------------------------ Konquerors LAN-Browser |
2. FTP
--------------------------- --------------------------- Very Secure FTP - vsFTP |
3. Http
------------------------------------------------------ Zugriff auf WWW-Seiten |
4. NFS
------------------------------------------------------ SUNs Network File System |
5. SMB
------------------------------------------------------ Zugriffe von anderen Betriebssystemen |
6. Fish
------------------------------------------------------ Zugriff mittels Secure Shell |
LISA – Large Installation System Administration:
Wer im Konqueror das LAN-Browsen
benutzen möchte, muss vorher aus SYSTEM/GUI/KDE das Paket
„kdenetwork3-lisa“ nachinstallieren. In der Datei
/etc/rc.config ist der Eintrag "USE_LISA=server"
hinzuzufügen, damit andere Rechner auf diesen Rechner zugreifen
können. Es sind zwei Parameter für USE_LISA möglich
"server" und "local". Diese Eingaben können
auch mittels dem Systemeditor unter etc/use_lisa vorgenommen werden.
Wer über dieses Projekt mehr
Informationen haben möchte, sei auf die Homepage
lisa-home.sourceforge.net
verwiesen. Um den Browser einzurichten müssen Sie
Kontrollzentrum den Pfad Netzwerk/LAN-Browser auswählen.



Das hier
dargestellte Netzwerk hat mehrere Subnetze. Deswegen haben die
Rechner die IP-Adressen 10.24.10.1 bis 63 bei einer Subnetmask von
255.255.255.192. Im letzten Registerblatt können die Optionen
„Verfügbarkeit prüfen“, „immer“ und
„niemals“ eingestellt werden.
Verfügbarkeit prüfen |
Nur wenn dieser Dienst im
Netzwerk vorhanden ist, wird diese Option auch angezeigt. |
Immer |
Diese Option wird immer angezeigt, auch wenn sie nicht zur Verfügung
stehen sollt. |
Niemals |
Diese Option wird auch dann nicht angezeigt, wenn sie vorhanden sein sollte. |

Obwohl der
NFS-Dienst vorhanden ist, wird er nicht im Konqueror dargestellt.
Die linke Seite können Sie entweder mit der Taste F9 oder im
Konqueror über „Fenster/Navigationsbereich anzeigen“
aktivieren. Es ist nicht möglich die Portnummern, die dieses
Programm prüft, zu ändern.
VsFTP – Very Secure File Transfer Protocol:
Als FTP-Server wurde das Programm vsFTP
ausgewählt. Diesen Server müssen Sie nachinstallieren, da
er nicht standardmässig installiert wird. Die Konfiguration des
Servers wird in der Datei /etc/vsftpd.conf vollzogen. Eine
Beschreibung der einzelnen Parameter finden Sie unter
www.linuxfibel.de/ftp_srv.htm
und die aktuellsten Informationen im Manual (man vsftpd.conf).
In diesem Beispiel soll mittels Ftp auf
die gleichen Daten zugegriffen werden, die auch über NFS zu
erreichen sind. Ohne die User/Gruppen-IDs dabei zu verändern.
Desweiteren sollen nur Benutzer darauf zugreifen dürfen, die
auch einen localen Account auf dem Server besitzen. Das heißt
es werden keine anonymen Zugänge zu den Daten gewährt, was
eine erhöhte Sicherheit des Intranets darstellt. Daraus ergibt
sich eine sehr übersichtliche Konfigurationsdatei.
/etc/vsftpd.conf - File |
#Anonymen Zugang gestatten?
anonymous_enable=NO
#
#Anmeldung von lokalen Benutzern?
local_enable=YES
#
#Schreibkommandos erlauben?
write_enable=YES
#
#Default umask für lokale Benutzer
local_umask=022
#
#Anmeldetext ausgeben?
dirmessage_enable=NO
#
#uploads/downloads protokollieren?.
xferlog_enable=NO
#
#Connection Port 20 für ftp?
connect_from_port_20=YES
#
#Rekursive Verzeichnisauflistung erlauben?
ls_recurse_enable=YES
#
#Bei Anmeldung in folgendes Verzeichnis wechseln
local_root=/nfs
#
#Sollen statt der User/Gruppen-IDs die Namen angezeigt werden?
text_userdb_names=YES
#
#PAM Service Name
pam_service_name=vsftpd
|
Um diesen Dienst zu starten muss die
Datei /etc/inetd.conf wie folgt abgeändert werden, und der
Dienst inetd muss gestartet sein (rcinetd restart).
#ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd
ftp stream tcp nowait root /usr/sbin/tcpd vsftpd
Damit steht der FTP-Server zur
Verfügung, und wechselt immer in das Verzeichniss /nfs, sowie
sich ein Benutzer anmeldet. Da anonyme Zugänge nicht gestattet
sind, ist es nicht möglich sich mit Programmen wie z.B. mc auf
dem Server einzuloggen.


Aus diesem Grunde erhalten Sie auch
eine Fehlermeldung des Konquerors, wenn Sie versuchen sich mittels
FTP anzumelden. Bestätigen Sie den Button „Erneuter
Versuch“ und Sie können Sich dann normal als Benutzer
anmelden.
HTTP – Hyper Text Transfer Protocol:
Wenn Sie in Ihrem
Intranet einen Web-Browser betreiben, muss dieser auf dem Port 80
erreichbar sein. Nur wenn Sie im Navigationsbereich den
entsprechenden Rechner auswählen, wird Ihnen im
rechten Fenster angezeigt, ob hier eine Verbindung über dieses Protokoll
möglich ist.
NFS – Network File System:
In diesem Beispiel
soll mittels NFS auf die gleichen Daten zugegriffen werden (wie
bereits oben bei FTP beschrieben) ohne die User/Gruppen-IDs dabei zu
verändern. Desweiteren sollen nur Benutzer darauf zugreifen
dürfen, die sich im lokalen Intranet befinden. Das heißt
es werden keine anonymen Zugänge zu den Daten gewährt, was
eine erhöhte Sicherheit des Intranets darstellt.
Auf der Seite des
NFS-Clients sind die zu mountenden Laufwerke in die Datei /etc/fstab
aufgenommen worden:
cdwriter.earth.de:/nfs/daten /nfs/daten nfs defaults 0 0
cdwriter.earth.de:/nfs/install /nfs/install nfs defaults 0 0
Auf der Rechner „cdwriter.earth.de“
sind zwei Partitionen eingehängt. Die Verzeichnisse sind
/nfs/daten und /nfs/install. Um zu gewährleisten, dass der
Benutzer „admin“ immer darauf zugreifen kann, wurde die
Anonymous-Verbindung in Zusammenhang mit geänderten IDs
installiert. Damit ergeben sich für die Datei /etc/exports auf
dem NFS-Server folgende Einträge:
# gid=100 -> users, uid=501 -> admin
/nfs/daten/ *.earth.de(rw,all_squash,anongid=100,anonuid=501,sync)
/nfs/install/ *.earth.de(rw,all_squash,anongid=100,anonuid=501,sync)
Weiterführende Informationen sind im Internet unter
www.linuxfibel.de/nfs_srv.htm
und www.linux-user.de/ausgabe/2002/03/082-nfs/linux-user-nfs-7.html
verfügbar.
Beachten Sie bitte, das auf dem
NFS-Server cdwriter.earth.de die Verzeichnisse /nfs/daten und /nfs/install existieren
müssen. Auf dem Clientrechner kann jedes beliebige Verzeichnis genommen
werden. In diesem Beispiel sind die gleichen Verzeichnisse wie auf
dem Server angelegt worden.
Da auf dem Rechner „cdwriter.earth.de“
auch ab und zu einmal Änderungen direkt vorgenommen werden,
empfiehlt es sich, die IDs mit dem Befehl
>> chown -R admin:users /nfs/*
zeitgesteuert neu zu setzen.
Bei dem vorliegenden Netzwerk ist der
NFS-Server nicht immer eingeschaltet, wenn sich die Clients mit
diesem verbinden wollen. Deswegen wurde eine möglichkeit
geschaffen, diese Verbindung jederzeit herzustellen. Auf den Clients
wurden Icons installiert, die die NFS-Verbindung so herstellen, als
wäre es eine lokale Platte die gemountet wird.

Ausserdem gelang es nicht, mittels
Konqueror eine NFS-Verbindung herzustellen. Bei jedem Versuch
erschien die obige Fehlermeldung.
Um die Verbindung zu verwirklichen muss
sichergestellt sein, das alle Benutzer auch die Möglichkeit
besitzen, diese Laufwerke zu mounten. Das darf eigentlich nur root
oder das System. Deswegen werden mit dem Programm
„visudors“ diese Rechte vergeben.
sudors-File |
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
Cmnd_Alias NFSMOUNT = /usr/sbin/rcnfs
Cmnd_Alias MOUNT = /bin/mount
Cmnd_Alias UMOUNT = /bin/umount
# Defaults specification
# User privilege specification
root ALL=(ALL) ALL
admin ALL=NOPASSWD:NFSMOUNT
admin ALL=NOPASSWD:MOUNT
admin ALL=NOPASSWD:UMOUNT
# Uncomment to allow people in group wheel to run all commands
# Same thing without a password
|
Ob man hierbei auf die Passworteingabe verzichtet (NOPASSWD), wie in
dieser Datei eingestellt, sollte sich jeder Administrator genau
überlegen. Weiterführende Informationen zu dem Programm
„sudo“ sind unter
www.linux-user.de/ausgabe/2002/05/084-zubefehl/sudo.html
zu erhalten.
Damit sind die Vorraussetzungen zum
Betrieb der NFS-Verbindung erfolgt. Die nachfolgenden drei Skripte
sorgen nun dafür, dass der aktuelle Stand der NFS-Verbindung auf
dem KDE-Desktop dargestellt wird.
Beim Anmelden eines Benutzers an KDE
wird der Link im Verzeichnis „$HOME/.kde/Autostart“
ausgeführt, und zeigt somit bereits beim Anmelden den
Verbindungsstatus an. Je nach Status wird das Icon auf dem Desktop –
oder besser die Desktopdatei – neu erstellt. Beim Anmelden wird
nur der Status der Verbindung geprüft, aber nicht verändert!
Wenn das Icon auf der KDE-Oberfläche hingegegn direkt
aktiviert wird, wird auch der Status der Verbindung geändert.
Startscript nfs-zugang |
#! /bin/sh
#
# Name: nfs-zugang
#
# Laden und entladen des NFS-Systems
# (c) Günther Zander, g.zander@hamburg.de, 7/2003, GPL
#
NAME=NFS # Name des DesktopsIcons
DAT=$HOME/Desktop/$NAME # Pfad zum Desktopverzeichniss
PRG=/usr/local/bin # Pfad zu diesem Programm
TMP=/tmp/$NAME # Pfad für tempräre Datei
#
# Desktop Icons Erstellung
#
desktop ()
{
echo
"[Desktop Entry]" > $DAT
if
[ $1 == "laden" ];then
echo "Comment=NFS-Filesystem laden" >> $DAT
echo "Comment[de]=NFS-Filesystem laden" >> $DAT
echo "Icon=nfs_unmount" >> $DAT
else
echo "Comment=NFS-Filesystem entladen" >> $DAT
echo "Comment[de]=NFS-Filesystem entladen" >> $DAT
echo "Icon=nfs_mount" >> $DAT
fi
echo "Encoding=UTF-8" >> $DAT
echo "Exec=$PRG/nfs-zugang kde" >> $DAT
echo "MimeType=" >> $DAT
echo "Name=$NAME" >> $DAT
echo "Name[de]=$NAME" >> $DAT
echo "Path=" >> $DAT
echo "ServiceTypes=" >> $DAT
echo "SwallowExec=" >> $DAT
echo "SwallowTitle=" >> $DAT
echo "Terminal=false" >> $DAT
echo "TerminalOptions=" >> $DAT
echo "Type=Application" >> $DAT
echo "X-KDE-SubstituteUID=false" >> $DAT
echo "X-KDE-Username=" >> $DAT
}
#
# Scriptanfang
#
cat /etc/mtab | grep nfs > $TMP
if
test -s $TMP; then
{
if [ "$1" == "kde" ]; then
$PRG/nfs-stop
# Test Stop
cat /etc/mtab | grep nfs > $TMP
if ! test -s $TMP; then
rm $DAT
desktop laden
fi
else
rm $DAT
desktop entladen
fi
}
else
{
if [ "$1" == "kde" ]; then
$PRG/nfs-start
# Test Start
cat /etc/mtab | grep nfs > $TMP
if test -s $TMP; then
rm $DAT
desktop entladen
fi
else
rm $DAT
desktop laden
fi
}
fi
rm $TMP
|
Und die beiden Hilfsdateien:
Hilfsscript nfs-start |
#! /bin/sh
#
# Name: nfs-start
#
# Laden des NFS-Systems
# (c) Günther Zander, g.zander@hamburg.de, 7/2003, GPL
#
sudo /usr/sbin/rcnfs start
|
Hilfsscript nfs-stop |
#! /bin/sh
#
# Name: nfs-stop
#
# Entladen des NFS-Systems
# (c) Günther Zander, g.zander@hamburg.de, 7/2003, GPL
#
sudo /usr/sbin/rcnfs stop
|
Um die Installation der Programme auch
für alle eingetragenden Benutzer vorzunehmen, wurde folgendes
Installationsskript geschrieben:
Installationsscript install-nfs |
#! /bin/sh
#
# Name: install-nfs
#
# Installation der NFS-Scripte
# (c) Günther Zander, g.zander@hamburg.de, 7/2003, GPL
#
PRG=/usr/local/bin # Programmverzeichnisse
AUTO=/.kde/Autostart # Autostartverzeichnis
# User-Verzeichnisse ermitteln
TUSER=`ls /home`
for a in $TUSER
do
VER=$VER" /home/"$TUSER
done
VER=$VER"/root"
# Dateien kopieren
cp -p nfs-zugang $PRG/nfs-zugang
cp -p nfs-stop $PRG/nfs-stop
cp -p nfs-start $PRG/nfs-start
chmod 755 $PRG/nfs-zugang
chmod 755 $PRG/nfs-stop
chmod 755 $PRG/nfs-start
# Einträge für Autostart
for a in $VER
do
ln -s $PRG/nfs-zugang $a$AUTO/nfs-zugang
done
|
Nach der Installation müssen Sie
sich entweder einmal neu an KDE anmelden oder das Programm
„/usr/local/bin/nfs-zugang“ in einem Terminal einmal
ausführen, um das Icon zu erzeugen. Anschließend können
Sie die NFS-Verbindung benutzen, als ob es sich um eine lokale Platte
handelt.
SMB – Server Message Block:
Es stand kein Rechner mit dem anderen Betriebssystem zur Verfügung.
FISH:

Auch mit dieser Verbindungsart können
Sie mittels ssh (Secure Shell) auf Dateien anderer Rechner zugreifen,
als ob es sich um lokale Dateien handelt. Die Verbindung wird dabei
mittels ssh gegen fremdes Mithören abgesichert.
Der Autor
|
Zu Linux kam der Autor mit
der SuSE 6.1 Distribution. Nach einem Studium der Elektrotechnik und
den ersten Jahren als Programmierer ist er heute als
Systemadministrator und in der Projektierung tätig. Zu erreichen
ist er unter g.zander@hamburg.de
oder über die Hamburger Microcomputer Hochschulgruppe e.V.
www.hmh-ev.de. und über die
Linux User Group / Barmbeker Linux Stammtisch
|
Artikel vom 6.8.03
Autor: Günther Zander
Quelle: http://www.linuxnetmag.de
Wir danken für die Bereitstellung des Artikels.
|