Daten- und Rechnernetze Labor-Versuch - TI 2000

Transcrição

Daten- und Rechnernetze Labor-Versuch - TI 2000
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
FHTW Berlin
Fachbereich 1
Technische Informatik, D5TI
Daten- und Rechnernetze
Labor-Versuch
SAMBA Fileserver unter Linux
Versuchsprotokoll
Versuchstermin: 09.10.2002
zusätzlich: 10./14.10.2002
Abgabetermin: 23.10.2002
Gruppe A10
Jens-R. Korth, 377910
Uwe Dettweiler, 366437
1
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
Inhaltsverzeichnis
1
2
Einleitung ............................................................................................................................................................. 3
SAMBA Fileserver............................................................................................................................................... 4
2.1
Die Technik hinter Samba............................................................................................................................ 4
2.2
Vorbereitungen............................................................................................................................................. 4
2.2.1
Beispiel für eine fiktive Firma............................................................................................................ 5
2.3
Versuchsdurchführung................................................................................................................................. 6
2.3.1
Voreinstellungen.................................................................................................................................. 6
2.3.1.1 Erstellen einer Gruppe..................................................................................................................... 6
2.3.1.2 Erstellen eines Users ....................................................................................................................... 6
2.3.1.3 Erstellen eines Verzeichnisses ........................................................................................................ 6
2.3.1.4 Zuordnung und Zugriffsrechte........................................................................................................ 7
2.3.2
Einrichten des SAMBA ....................................................................................................................... 7
2.3.3
Testen des SAMBA.............................................................................................................................. 8
3 Auswertung.........................................................................................................................................................10
4 Anhang ................................................................................................................................................................11
4.1
Printout der Datei <smb.conf>..................................................................................................................11
4.2
Ausschnitt aus der Datei <passwd> ..........................................................................................................12
4.3
Printout des Verzeichnislistings von /home/............................................................................................13
4.4
Printout der Datei <smbpasswd> ..............................................................................................................14
4.5
Ausschnitt aus der Datei <samba.log>......................................................................................................15
2
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
1 Einleitung
"Recht häufig ist es notwendig verschiedene Rechner- und Betriebssystemarchitekturen
(Plattformen) so miteinander zu verbinden, daß die jeweils zur Verfügung stehenden
Ressourcen untereinander genutzt werden können. Jedoch ist es oft so, daß unterschiedliche
Betriebssystemarchitekturen unterschiedliche Kommunikationsprotokolle mit sich ziehen,
und so eine direkte Verbindung der Systeme ohne Hilfsmittel nicht möglich ist.
In den Bereichen der Rechnerkommunikation über ein Netzwerk haben sich verschiedene
Systeme zur Ressourcenfreigabe etabliert. Im UNIX-Bereich hat sich zum Beispiel das
Network File System (NFS) zur Freigabe von Speicherressourcen durchgesetzt, unter
Windows 3.x/95/98/NT hingegen das sogenannte SMB-Protokoll (Server Message Block).
Das SMB-Protokoll dient dem Freigabendienst von Windows dazu: Festplatten,
Verzeichnisse und Drucker für andere Rechner und Benutzer “freizugeben”, so daß diese die
Ressourcen nutzen können.
Damit nun auch Benutzer verschiedener Plattformen den Vorteil des “Ressource Sharing”
nutzen können müssen Zusatzprogramme die Brücke zwischen den verschiedenen
Architekturen schlagen. Eines dieser Programme ist Samba.
Samba ist eine Entwicklung, die auf Andrew Tridgell zurückgeht und seit 1991 immer weiter
entwickelt wird. Dabei handelt es sich ursprünglich um eine Implementierung des SMBProtokolls für Linux, wurde jedoch bereits auf diverse UNIX-Varianten und andere
Plattformen portiert. Nun stellt sich die Frage, warum man Windows-spezifische Techniken
auf Linux und nicht UNIX-spezifische auf Windows einsetzen sollte? Dies ist abhängig von
der Anwendung. Hinzu kommt noch, daß leistungsfähige NFS-Implementationen für
Windows recht teuer sind. Samba hingegen wird unter der GNU General Public Licence
(GPL) vertrieben und ist somit, sowohl für den kommerziellen als auch für den privaten
Gebrauch, kostenfrei zu erhalten. Auch ist die Leistungsfähigkeit von Samba in den
letzten Jahren erheblich gestiegen und mit der Version 2.0 kam die Fähigkeit, daß Samba die
Funktion eines Domänen Controllers in einem Windows-Netzwerk übernehmen kann und ist
somit einem Windows NT Server annähernd ebenbürtig." (Auszug aus der
Versuchanleitung)
Dieser Versuch soll zeigen, wie die Konfiguration eines SAMBA Fileservers auf KonsolenEbene erfolgen kann. Dazu wird als Beispiel eine fiktive Firma verwendet.
3
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
2 SAMBA Fileserver
2.1 Die Technik hinter Samba
"Normalerweise wird das SMB-Protokoll in einer reinen Windowsumgebung im
Zusammenhang mit dem NetBEUI-Protokoll im Layer 3 eingesetzt. Es ist jedoch auch
möglich das SMB-Protokoll auf anderen Layer 3-Protokollen zu fahren, zum Beispiel
IPX/SPX. Da die meisten UNIX-Varianten NetBEUI nicht beherrschen kommt auf dieser
Plattform TCP/IP zum Einsatz. Die Brücke zwischen dem SMB-Protokoll und TCP/IP
schlägt das NetBIOS. Das NetBIOS ist auch für die Namensauflösung und die Liste der
freigegebenen Ressourcen zuständig. Die Namensauflösung ist nicht mit der von UNIX oder
der im Internet zu verwechseln sondern ist völlig unabhängig davon.
Die wichtigsten Programme im Samba-Paket sind:
- smbd: Hierbei handelt es sich um den eigentlichen Serverdienst, der auf das NetBIOS
aufsetzt
- nmbd: Stellt das NetBIOS zur Verfügung und kümmert sich um die Namensauflösung
- smbclient: Ist ein SMB-Client für UNIX. Mit diesem Programm läßt sich auch die lokale
Konfiguration auf einem UNIX-Rechner testen
- testparm: Hiermit läßt sich die Konfiguration des SAMBA-Servers testen
Des weiteren gibt es eine zentrale Konfigurationsdatei smb.conf in der die freizugebenden
Ressourcen und der NetBIOS-Name des Servers verzeichnet sind." (Auszug aus der
Versuchsanleitung)
2.2 Vorbereitungen
Dieser Fileserver soll auf der SuSE Linux-Distribution aufgesetzt werden. Da Fileserver
zumeist in Multiuser-Systemen eingesetzt, sind Zugriffsbeschränkungen auf den gesamten
Datenbestand notwendig. Es wird dabei nach drei Kategorien für Daten und Verzeichnisse
unterschieden:
- Rechte für den Eigentümer
- Rechte für die Gruppe
- Rechte für "alle Anderen"
Für diese drei Gruppen gibt es wiederum drei Rechte, die erteilt werden können:
- Ausführungsrecht (x)
- Schreibrecht (w)
- Leserecht (r)
Der Administrator kann den einzelnen Gruppen unabhäng von einander die Rechte
zuweisen.
4
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
2.2.1 Beispiel für eine fiktive Firma
In der Auftragsbearbeitung einer Firma kann man zwei Gruppen von Angestellten
unterscheiden: die Personen (3), die für die Kalkulation zuständig sind, und die Personen (2),
die den Kundendienst realisieren. Beide Gruppen sollen mit einem EDV-System ausgestattet
werden, bei dem:
- jeder Benutzer sein privates Heimatverzeichnis besitzt auf das nur der Benutzer selbst
zugreifen kann
- jeder Benutzer einer Gruppe zugeordnet ist
- jede Gruppe ein Verzeichnis besitzt in das Benutzer diese Gruppe Daten ablegen und
austauschen können
- die Benutzer einer Gruppe die Daten einer anderen Gruppe besichtigen können, aber
nicht verändern dürfen
- es ein Verzeichnis (Public) existiert in dem jeder Daten ablegen und besichtigen kann, um
z.B. den Datenaustausch mit einer anderen Abteilung zu realisieren.
Die graphische Zuordnung der Mitarbeiter zu den Verzeichnissen zeigt Abb.1
Abb. 1 Zuordnung der Mitarbeiter
5
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
2.3 Versuchsdurchführung
2.3.1 Voreinstellungen
Wie unter 2.2 erwähnt, ist es notwendig Benutzer (User) und Gruppen zuerstellen, denen
ansschließend Verzeichnisse und Zugriffsrechte zugeordnet werden. Die verwendeten
Kommandos beziehen sich auf die SuSE Linux Distribution 6.0.
2.3.1.1 Erstellen einer Gruppe
Die Benutzergruppe, der die User angehören sollen, wird als erstes erstellt. Dazu wird das
Kommando groupadd verwendet. Es wurden die Gruppen 'kalkula' (Kalkulation) und
'kudienst' (Kundendienst) erstellt.
Kommando: groupadd kalkula
2.3.1.2 Erstellen eines Users
Als Mitarbeiter werden entsprechend 2.2.1 die User Anton, Berta, Clara, Dolli und Emil
erstellt. Dazu wird das Kommando useradd mit folgenden Optionen aufgerufen:
§ -g : Gruppe der der User zugeordnet wird
§ -d : Homeverzeichnis des Users
§ -m : Erstelle das Verzeichnis, falls es nicht existiert
Kommando: useradd –g kalkula –d /home/anton –m anton
Anschließend wird das Linux-Password mit dem Befehl passwd erstellt. Der Einfachheit
wegen entspricht das Passwort dem Usernamen.
Kommando passwd anton
anton
anton
2.3.1.3 Erstellen eines Verzeichnisses
Die Verzeichnisse der User wurden bereits beim Erstellen der User angelegt und ihnen
zugeordnet worden. Es werden nun die Verzeichnisse kalkula, kudienst und public erstellt.
Verwendung findet das Kommando mkdir.
Kommando: mkdir /home/kalkula
6
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
2.3.1.4 Zuordnung und Zugriffsrechte
Nach dem Erstellen von Benutzern, Gruppen, und Verzeichnissen müssen sie einander
zugeordnet werden und die entsprechenden Zugriffsrechte gesetzt werden. Der Eigentümer
wird über den den Befehl chown festgelegt. Die Zuordnung der Gruppen erfolgt über chgrp.
Die Zugriffsrechte auf Dateien und Verzeichnis werden mit chmod gesetzt. Die Codierung
erfolgt analog zu Abschnitt 2.2 mit folgenden Oktalzahlen
1 -Ausführungsrecht (x)
2 -Schreibrecht (w)
4 -Leserecht (r)
Kommando: chmod 750 /home/kalkula
2.3.2 Einrichten des SAMBA
Die Konfiguration des SAMBA erfolgt größtenteils durch die Datei 'smb.conf'. In ihr werden
die allgemeinen Einstellungen für den Server und die speziellen für die Zugriffsrechte der
User/ Gruppen gesetzt. Das Listing der Datei ist im Anhang ersichtlich.
Mit dem Kommando testparm ist es möglich, die Konfiguration zu überprüfen. Werden
dabei Fehler oder Unstimmigkeiten erkannt, werden diese gemeldet.
Das Aktivieren der geänderten Konfigurationsdatei erfolgt durch eine Restart des Servers mit
dem Kommando /sbin/inet.t/smb restart.
7
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
2.3.3 Testen des SAMBA
Zum Testen der Funktionalität wurde ein zweiter Rechner mit dem Betriebssystem Windows
98 verwendet. Der Namen des Linus-Rechners ist Marvin.
Nach der Anmeldung mit Usernamen 'Anton' und Passwort wurde in der Netzwerkumgebnung des Windows-Rechners unter Fb3 der Rechner Marvin gefunden.
Abb. 2 Netzwerkumgebung mit Marvin und Antons Verzeichnisse
Beim Testen des Zugriffs auf die Verzeichnisse stellte sich heraus, daß wir unbeschränkten
Zugriff nur auf das Public-Verzeichnis bekamen. Bei allen anderen Verzeichnissen (auch dem
Home-Verzeichnis) wurde der Zugang verwehrt. Versuche mit anderen Usern brachten die
selben Ergebnisse.
Abb. 3 Erstellte Dateien im Public-Ordner
8
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
Daraufhin wurden mit dem Befehl smbpasswd noch eine Passwortdatei für den SMBZugriff erstellt. Sie entsprachen den Linux-Passworten. Die dabei erstellte Datei 'smbpasswd'
ist im Anhang zu finden.
Kommando: smbpasswd –a anton
anton
anton
Der Test nach dem Restart des SAMBA und erneutem Login auf dem Windows-Rechner
brachte allerdings keine Änderung im Verhalten.
Ein Blick in das Log-File 'samba.log' (Ausschnitte sind im Anhang) zeigte, daß der User zwar
erkannt und ihm sein Home-Verzeichnis zugewiesen wird, er aber trotzdem nur den GastZugang (nobody) erhält. Somit ist es ihm natürlich nicht erlaubt auf andere Verzeichnisse als
dem Public zuzugreifen.
In weiteren Laborterminen wurde noch ein User mit den selben Zugangsdaten (Name/
Passwort) für das FH-Netzwerk erstellt. Der Zugriffstest wurde von einem Windows 2000
Rechner mit dem FH-Login durchgeführt. Wieder war kein Zugriff möglich. Auch der
Versuch über einen anderen User auf sein Gruppenverzeichnis zuzugreifen schlug fehl.
Abb. 4 Zugriff unter Windows 2000
Ein Blick in die Log-Datei zeigte die selben Meldungen: erkannt als User, aber nur GastZugangsberechtigungen.
Auch das Testen mit dem Kommando testparm zeigte in seinem Listing keine Fehler oder
Ungereimheiten der Konfiguration des SAMBA.
9
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
3 Auswertung
Leider war ein komplett funktionierender File-Server auch in drei! Laborterminen nicht zu
erstellen. Der Grund liegt wahrscheinlich an dem schon oft benutzen Linux. In verschiedenen
Dateien sind eindeutige Spuren älterer Versuche zu finden. Möglicherweise sind dabei auch
andere notwendige Dienste oder Dateien in Mitleidenschaft gezogen worden.
Der selbe Versuch unter einem heimischen SuSE 6.4 (Konfiguration auch aus der Konsole)
durchgeführt, verlief ohne dies Probleme. Der Zugriff von Windows aus entsprach den
Vorgaben und Vorstellungen.
Insgesamt wurde man aber durch die (leider erfolglose) Fehlersuche gut mit dem System
vertraut gemacht. Das betrifft vor allem das Datei-Handling und -Editieren.
10
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
4 Anhang
4.1 Printout der Datei <smb.conf>
[global]
encrypt passwords=no
server string=Jens_Uwe
security=share
workgroup=fb3
local master=yes
hosts allow= 141.45.
logfile=/home/samba.log
debug level=3
[homes]
comment = Homeverzeichnis von %S
browseable=no
writeable=yes
path=/home/%S
public=no
create mask=0700
[kalkula]
comment=Kalkulation
create mask=0750
writeable=yes
browseable=yes
path=/home/kalkula
valid users=@kalkula, @kudienst, dettweil
read list=@kudienst
[kudienst]
comment=Kundendienst
create mask=0750
writeable=yes
browseable=yes
path=/home/kudienst
valid users=@kalkula, @kudienst
read list=@kalkula
[Public]
comment=Dateiaustausch
path=/home/public
create mask=0777
writeable = yes
browseable=yes
public=yes
11
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
4.2 Ausschnitt aus der Datei <passwd>
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:daemon:/sbin:/bin/bash
lp:x:4:7:lp daemon:/var/spool/lpd:/bin/bash
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14::/var/lib/uucp/taylor_config:/bin/bash
games:x:12:100::/tmp:/bin/bash
man:x:13:2::/var/catman:/bin/bash
at:x:25:25::/var/spool/atjobs:/bin/bash
postgres:x:26:2:Postgres Database Admin:/var/lib/pgsql:/bin/bash
lnx:x:27:27:LNX Database Admin:/usr/lib/lnx:/bin/bash
mdom:x:28:28:Mailing list agent:/usr/lib/majordomo:/bin/bash
yard:x:29:29:YARD Database Admin:/usr/lib/YARD:/bin/bash
wwwrun:x:30:65534:Daemon user for apache:/tmp:/bin/bash
squid:x:31:65534:WWW proxy squid:/var/squid:/bin/bash
fax:x:33:14:Facsimile Agent:/var/spool/fax:/bin/bash
gnats:x:34:65534:Gnats Gnu Backtracking System:/usr/lib/gnats:/bin/bash
amanda:x:37:6:Amanda Admin:/var/lib/amanda:/bin/bash
ixess:x:38:29:IXware Admin:/usr/lib/ixware:/bin/bash
irc:x:39:65534:IRC Daemon:/usr/lib/ircd:/bin/bash
ftp:x:40:2:ftp account:/usr/local/ftp:/bin/bash
firewall:x:41:31:firewall account:/tmp:/bin/false
informix:x:43:34:Informix Database Admin:/usr/lib/informix:/bin/bash
named:x:44:44:Nameserver Daemon:/var/named:/bin/bash
virtuoso:x:45:100:Virtuoso Admin:/opt/virtuoso-lite:/bin/bash
nobody:x:65534:65534:nobody:/tmp:/bin/bash
fernsehr:x:1000:1000::/home/fernsehr:/bin/sh
:
:
anton:x:1021:4005::/home/anton:/bin/bash
berta:x:1022:4005::/home/berta:/bin/bash
clara:x:1023:4005::/home/clara:/bin/bash
dolli:x:1024:4006::/home/dolli:/bin/bash
emil:x:1025:4006::/home/emil:/bin/bash
dettweil:x:1026:4005::/home/dettweil:/bin/bash
12
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
4.3 Printout des Verzeichnislistings von /home/
drwx-----drwx-----drwx-----drwx-----drwx-----drwxr-x--drwxr-x--drwxrwxrwx
anton
berta
clara
dolli
emil
root
root
root
kalkula
kalkula
kalkula
kudienst
kudienst
kalkula
kudienst
root
anton
berta
clara
dolli
emil
kalkula
kudienst
public
13
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
4.4 Printout der Datei <smbpasswd>
# Samba SMB password file
anton:1021:027DF3941EA2842FAAD3B435B51404EE:731800DAA9A5904664DF9338490
7A884::/home/anton:/bin/bash
berta:1022:E048154ED22EF8F2AAD3B435B51404EE:42F841C341803FB8E53CA5D7072
A252F::/home/berta:/bin/bash
clara:1023:CEEA272E071E40AEAAD3B435B51404EE:576D20BF7E6CD7AB4E3F3B85CF2
A76F4::/home/clara:/bin/bash
dolli:1024:FF79AA75D46B980CAAD3B435B51404EE:20E4BE508E11B3614C05FF2A5A2
4221B::/home/dolli:/bin/bash
emil:1025:7A9B826CED55DBA8AAD3B435B51404EE:ED371C575806E151491EF1D21717
7444::/home/emil:/bin/bash
dettweil:1026:49043FD8F92E69631AA818381E4E281B:5F3B6B518384456E5A54EFE4
4F599C6E::/home/dettweil:/bin/bash
14
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
4.5 Ausschnitt aus der Datei <samba.log>
:
:
Closing connections
2002/10/15 11:06:40 Server exit (caught signal)
Added interface ip=141.45.181.67 bcast=141.45.181.255 nmask=255.255.255.0
2002/10/16 09:34:36 loaded services
2002/10/16 09:34:36 becoming a daemon
bind succeeded on port 139
waiting for a connection
Initialised IPC area of size 102400
2002/10/16 09:42:04 changed root to /
open_oplock_ipc: opening loopback UDP socket.
bind succeeded on port 0
open_oplock ipc: pid = 176, oplock_port = 1026
priming nmbd
:
:
Closing connections
2002/10/16 09:42:07 Server exit (normal exit)
Initialised IPC area of size 102400
2002/10/16 09:42:08 changed root to /
open_oplock_ipc: opening loopback UDP socket.
bind succeeded on port 0
open_oplock ipc: pid = 177, oplock_port = 1031
priming nmbd
sending a packet of len 1 to (127.0.0.1) on port 137 of type DGRAM
Gethostbyaddr failed for 141.45.181.155
2002/10/16 09:42:08 Transaction 0 of length 72
netbios connect: name1=MARVIN
name2=TRILIAN
Trying username triliaN
2002/10/16 09:42:08 Transaction 1 of length 158
switch message SMBnegprot (pid 177)
Requested protocol [PC NETWORK PROGRAM 1.0]
Requested protocol [MICROSOFT NETWORKS 3.0]
Requested protocol [DOS LM1.2X002]
Requested protocol [DOS LANMAN2.1]
Requested protocol [Windows for Workgroups 3.1a]
Requested protocol [NT LM 0.12]
Selected protocol NT LM 0.12
2002/10/16 09:42:08 Transaction 2 of length 131
switch message SMBsesssetupX (pid 177)
Domain=[FB3] NativeOS=[Windows 4.0] NativeLanMan=[Windows 4.0]
sesssetupX:name=[ANTON]
Registered username anton for guest access
adding home directory anton at /home/anton
Chained message
switch message SMBtconX (pid 177)
Allowed connection from 141.45.181.155 (141.45.181.155) to IPC$
Trying username ipc$
ACCEPTED: guest account and guest ok
found free connection number 12
Connect path is /tmp
chdir to /tmp
chdir to /
2002/10/16 09:42:08 trilian (141.45.181.155) connect to service IPC$ as user nobody
(uid=65534,gid=65534) (pid 177)
2002/10/16 09:42:08 tconX service=ipc$ user=nobody cnum=12
2002/10/16 09:42:08 Transaction 3 of length 99
switch message SMBtrans (pid 177)
chdir to /tmp
trans <\PIPE\LANMAN> data=0 params=19 setup=0
named pipe command on <LANMAN> name
Got API command 0 of form <WrLeh> <B13BWz> (tdscnt=0,tpscnt=19,mdrcnt=4096,mprcnt=8)
Doing RNetShareEnum
RNetShareEnum gave 5 entries of 5 (1 4096 191 4096)
2002/10/16 09:42:08 Transaction 4 of length 70
switch message SMBtconX (pid 177)
chdir to /
15
Labor Daten- und Rechnernetze -SambaJens.-R. Korth
Uwe Dettweiler
Allowed connection from 141.45.181.155 (141.45.181.155) to anton
2002/10/16 09:42:08 invalid username/password for anton
2002/10/16 09:42:08 error packet at line 171 cmd=117 (SMBtconX) eclass=2 ecode=2
16

Documentos relacionados