Home   Artikel   Archiv   Forum   Impressum  
Artikel vom 6.8.03
Autor: Günther Zander
Languages: en
Artikel bewerten:

Printer Druckversion
Helfen Sie mit!
 

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




Anmerkungen zu diesem Artikel


Bisher keine Kommentare


Eigene Anmerkung eintragen