Netzgeflüster unter GNU/Linux SuSE mit KDE 3.x
von Günther ZanderDer 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 |
Anmerkungen zu diesem Artikel
Eigene Anmerkung eintragen
