netzwerk-header
 
Navigation
image Home
image Datenschutz
image Impressum
nav

Netzwerke
image Geschichte
image Grundlagen
image Komponente
image Skripte
image FAQ
image Glossar
nav

W-LAN
image Allgemeines
image Sicherheit
image Reichweite
nav

Netzwerk Praxis
image Windows
image Linux
nav

Sonstiges
image Quiz
image Downloads
image Hardware
image Specials
image Newsarchiv
image Partner
nav

 
 


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.