Amanda - Samba

 Copyright

Dieses Dokument ist urheberrechtlich geschützt. Das Copyright für die englische Samba-HOWTO, auf der dieses Dokument basiert, liegt bei David Wood. Das Copyright für die deutsche Übersetzung liegt bei Klaus-Dieter Schumacher.
Das Dokument darf gemäß der GNU General Public License verbreitet werden. Insbesondere bedeutet dieses, daß der Text sowohl über elektronische wie auch physikalische Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf, solange dieser Copyright Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt und ausdrücklich erwünscht. Bei einer Publikation in Papierform ist das Deutsche Linux HOWTO Projekt hierüber zu zu informieren.


- Was ist Samba, und was fuer Möglichkeiten ermoeglicht Samba

- Steuerung des Smbclients ueber die smb.conf

- Wie benutze ich den SMBCLIENT

- Amanda - Samba

- Amanda - Samba - MultiNET
 
 

Was ist Samba, und was fuer Möglichkeiten ermoeglicht Samba:




Das SMB-Protokoll (Server Message Block-Protokoll) wird von der Firma Microsoft für Windows 3.11, NT und 95 genutzt, um den gemeinsamen Zugriff auf Laufwerke und Drucker zu gestatten.
Mit der Sammlung der Samba-Tools von Andrew Tridgell besteht nun die Möglichkeit, daß sich UNIX-Rechner und damit auch Linux-Maschinen Platten und Drucker mit Windows-Rechnern teilen.

Insgesamt bietet Samba vier verschiedene Optionen an:

    1.Linux-Laufwerke werden auch von Windows-Rechnern genutzt.
    2.Windows-Laufwerke werden auch von Linux-Rechnern genutzt.
    3.Ein an einer Linux-Maschine angeschlossener Drucker wird auch von Windows-Rechnern genutzt.
    4.Ein an einem Windows-Rechner angeschlossener Drucker wird auch von Linux-Rechnern genutzt.
 
 

<zurueck Amanda-MultiNET>< zurueck Amanda-Samba>







Steuerung des Smbclients ueber die smb.conf:




Diese Seite soll in erster Linie Informationen über die Benutzung von Amanda mit Samba liefern. Deshalb werden die allgemeinen Informationen über Samba relativ gering ausfallen. Die Installation und die  noetigen Daemonen werden also nicht beschrieben. An diesem Punkt möchte ich jedoch beschreiben wie die Samba Konfiguration gestaltet werden muß.

Die Samba-Konfiguration für Linux oder andere UNIX-Rechner wird ausschließlich durch die Datei /etc/smb.conf gesteuert. Diese Datei bestimmt,
welche Resourcen das System nach außen anbietet und welche Einschränkungen hierbei festgelegt sind.

1.) Netzlaufwerke freigeben

Allgemein zugängliche Verzeichnisse
Globale Parameter
Private Verzeichnisse
2.) Benutzerverwaltung, Paßwörter und das % - Zeichen
Einschränkung anhand der Client - IP
Einschränkung auf bestimmte Unix - User
Das % Zeichen
Unix Dateiattribute

1.) Netzlaufwerke freigeben :


Allgemein zugängliche Verzeichnisse

Die Freigabe von Verzeichnissen findet wie gesagt in der Konfigurationsdatei /etc/smb.conf statt. Um z.B. das Verzeichnis /test freizugeben,  muß die Datei
folgendes enthalten:
 

[test]
path = /test
puplic = yes
writable = yes
Die Angabe in eckigen Klammern ist der Freigabename der Ressource . Der lokale Laufwerkspfad zu der Ressource wird durch den Paramater path bestimmt. Mit puplic wird festgelegt, ob ein Benutzer ohne Name/ Paßwortabfrage auf die Resource zugreifen darf. writeable legt fest, ob die Ressource schreibar ( yes ) oder schreibgeschützt ( no ) exportiert werden soll.

Mehrere freigegebene Verzeichnisse werden in der Konfigurationsdatei hintereinander aufgeführt:
 

[test]
path = /test
puplic = yes
writable = yes
 
[cdrom]
path = /cdrom
puplic = yes
writable = no
ACHTUNG:
Bevor Samba starten kann, muß da Verzeichniss das freigegeben werden soll erst weltlesbar / weltschreibbar gemacht werden. Außerdem ist es nötig nach jeder Änderung in der smb.conf Samba zu beenden und neu zu starten. Das Beenden geschieht mit dem killall - Befehl:
killall smbd
killall nmbd


mit /sbin/init.d/smb start starten sie Samba wieder neu.


Globale Parameter

Wenn bestimmte Parameter für alle Ressourcen gelten sollen, werden sie am Anfang der Komfigurationsdatei unter dem speziellen Service-Namen global angegeben:
 

[global]
server string = Samba %v
strict locking = yes
revalidate = yes
[test]
path = /test
puplic = yes
writable = yes
 
[cdrom]
path = /cdrom
puplic = yes
writable = no
Der server string legt die Sever - Beschreibung fest, wie sie z.<<b. in der Browse-Liste von WfW angezeigt wird. %v ist ein Makro (erkennbar am "%"-Zeichen ) und wird  durch die aktuelle Versionsnummer von Samba ersetzt. Der Server-String darf keine Anführungszeichen enthalten, sonst erscheint unter gewissen Umständen der gesamte Server nicht in der  Browse-Liste. strict locking schützt die Dateien vor gleichzeitigem Zugriff von mehreren Nutzern, ähnlich wie das DOS-Programm share.exe bei WfW. Das Flag revalidate weisst Samba an, bei jeder Verbindung nach dem Paßwort zu fragen. Ist revalidate auf no gesetzt, so frägt Samba nur beim ersten Connect eines Clients  nach dem Paßwort. Dies ist eine Sicherheitslücke, wenn ein Windows-Rechner ohne zwischenzeitlichen Reset von mehreren Personen genutzt wird.

Private Verzeichnisse

Gibt es auf dem Linux-Server mehrere Benutzer mit eigenem Home-Verzeichnis, so braucht nicht jedes Verzeichnis einzeln in der smb.conf Datei aufgeführt sein. Die Freigabe aller Home-Verzeichnisse für den jewiligen User wird einfach in der homes-Sektion gemacht:
 

[homes]
puplic = no
writeable = yes
Damit kan nun jeder Benutzer , der ein Account auf der Linux-Maschine hat, sich via SMB mit seinem Home-Verzeichnis verbinden. Gibt es zum Beispiel
einen User >>Tom<<, so kann er von einem Windows Rechner aus mit:
 
\\test\tom
und seinem Unix-Paßwort mit seinem Home-Verzeichnis verbunden.
 


2.) Benutzerverwaltung, Paßwörter und das % - Zeichen :

Bisher zeigten wir nur zwei Möglichketen der Freigabe von Laufwerken: Freigabe pauschal an alle Benutzer (Gastzuganag), oder Zugriff auf eigene Home-Verzeichnisse. Im zweiten Fall ergibt sich der (Unix) Name des Bunutzers aus dem Freigabenamen (er ist mit diesem identisch), und das abgefragte Paßwort muß das Unix Paßwort des Benutzers sein. In diesem Unterkapitel möchten wir die Benutzung eines Verzeichnisses durch mehrere Benutzer näher erläutern.
 


Einschränkung anhand der Client - IP

Mit dem Eintrag hosts allow kann der Verzeichnis Zugriff auf eine IP oder einen IP - Bereich beschränkt werden. Mehrere IP's können durch Komma getrennt angegeben werden, IP-Bereiche werden durch ihre Netmask beschrieben oder durch Weglassen der hinteren Stellen der IP. Ausnahmen werden durch das Schlüsselwort EXCEPT gekennzeichnet.
 

hosts allow = 150.203 EXCEPT 150.203.6.66
hosts allow = 150.203.15.0/255.255.255.0
hosts allow = lapland.planet.org, arvidsjaur.babylon.de



Einschränkung auf bestimmte Unix - User

Durch den Eintrag valid users in der smb.conf kann der Zugriff auch auf einzelne Benutzer beschränkt werden. Voraussetzung ist, daß die Benutzer als ganz normale Unix-Benutzer beim Linux -Server eingetragen sind. Wichtig ist, daß dann puplic auf no gesetzt werden muß. Ein Beispiel ist:
 

[test]
path = /test
puplic = no
writable = yes
valid users = tom, walter, root, dump
Wenn der Zugriff auf alle Mitglieder einer Unix-Gruppe beschränkt werden sol, so kann bei valid users auch der Gruppenname mit vorangestelltem Klammeraffen "@" angegeben werden:
 
valid users = @operator

Das % Zeichen

An dieser Stelle ergibt sich ein Problem: Wie übermittelt ein Windows Rechner dem Linux Sever den Unix Benutzernamen ? Im Dialogfeld ist kein Feld daür vorgesehen. Zur Lösung diese Problems haben sich die Samba-Programmierer folgendes einfallen lassen: Wenn der Freigabename ein Prozentzeichen enthält, wird als eigentlicher Freigabename nur der Teil vor dem %-Zeichen betrachtet; der hintere Teil wird als Benutzername betrachtet, zu dem dann das abgefragte Paßwort passen muß. Möchte im obigen Beispiel der Benutzer "Tom" sich mit dem freigegebenen Verzeichnis "Test" verbinden, so muß er unter Windows im Verbinden Dialog eingeben:
 

\\Meinserver\Test%Tom


und als Paßwort sein Unix-Paßwort eingeben. Da dies eine SAMBA-Speziallösung ist und sich außerhalb der SMB_Norm befindet, bekommt Windows davon überhaupt nichts mit. Für Windows sieht es so aus, als hätte sich der unbekannte Benutzer mit dem Verzeichniss >>TEST%TOM<< auf dem Server >>MEINSERVER<< verbunden.
Noch ein Hinweis: Wenn kein %-Zeichen angegeben wurde, setzt SAMBA den Benutzernamen mit dem Freigabenamen gleich ( wie in der Homes-Sektion).


Unix Dateiattribute

Wenn ein Benutzer Dateien via Samba auf einem freigegebenen Verzeichnis ablegt, werden die Dateien mit seinem Standartdateiattributen versehen. Es kann also zu Konflikten kommen, wenn ein Benutzer eine Datei lesen möchte, die ein anderer Benutzer angelegt hat, obwohl er sich mit dem Laufwerk verbinden konnte. Das kommt daher , daß Samba jedem Benutzer nur die Rechte gewährt, die er in der Unix-Shell auch hätte. Zur Veranschaulichung nehmen wir einmal folgendes Beispiel: Benutzer "Tom" hat sich mit "\\MEINSERVER\TEST%TOM verbunden und auf seinem Laufwerk eine Datei "bericht.doc" abgelegt. Unter Unix sieht das Verzeichnis dann folgendermaßen aus:

-rw------- 1 tom     staff      1434 Aug 11 9:13 bericht.doc
Über das Netz (unter DOS ) ist diese Datei jedoch nur sichtbar als:
 
BERICHT    DOC        1434 11.08.99 BERICHT.DOC
Wenn nun  "Walter" kommt und sich  mit \\MEINSERVER\TEST%WALTER  verbindet , sieht er die Datei im Inhaltsverzeichniss, kann sie aber nicht lesen, da "Walter" keine Unix-Leseberechtigung für die Datei "bericht.doc" hat, denn diese ist -wie die Unix Permissions angeben- nur für den Benutzer "Tom" lesbar. Abhilfe schafft hier der Eintrag von create maks in die smb.conf.
 
[test]
path = /test
puplic = no
writable = yes
create mask 777
valid users = tom, walter, root, dump
Durch diesen Eintrag wird Samba angewiesen, alle Dateien mit Unix-Permissions weltlesbar und weltschreibbar abzulegen. Diese Lösung hat jedoch den Nachteil, daß jeder Benutzer mit Telnet-Zugang zum Server alle Dateien lesen kann, unabhängig davon, ob er sich via Samba mit dem Laufwerk verbinden darf oder nicht. Abhilfe schafft hier, die Datei nur gruppenschreibbar zu machen. In einem zweiten Abschnitt wird Samba angewiesen bei allen Zugriffen auf Dateien unabhängig vom Benutzer immer die gleiche Gruppe zu verwenden. Dazu dient der Parameter force group:
 
[test]
path = /test
puplic = no
writable = yes
create mask 777
force group = test
valid users = tom, walter, root, dump
Jeder der in diesem Beispiel nicht in der Gruppe Test steht, kann außer durch Samba nicht auf die Dateien im freigegebenen Verzeichnis zugeifen.

<zurueck Amanda-MultiNET>< zurueck Amanda-Samba>






Wie benutze ich den SMBCLIENT:

Der Smbclient läßt sich ähnlich wie ftp benutzen. Das heißt der SMBCLIENT muß zuerst gestartet werden. Dabei muß eine Verbindung zu dem gewuenschten Rechner aufgebaut werden. Die Synopsis siht für den SMBCLIENT wie folgt aus:
 

      smbclient servicename  [password]  [-s  smb.conf]  [-B  IP addr]  [-O socket options][-R name resolve order] [-M Net­BIOS name] [-i scope]
      [-N] [-n  NetBIOS  name]  [-d  debuglevel] [-P] [-p port] [-l log basename] [-h] [-I dest IP] [-E] [-U username] [-L NetBIOS name]
      [-t  terminal  code] [-m  max  protocol]  [-W workgroup] [-T<c|x>IXFqgbNan] [-D directory] [-c command string]
 

 
 
 
 
 

Um eine Verbindung mit dem SMBClient zu Martini als User root zu bekommen starte ich den SMBCLIENT z.B. wie folgt:
 

/home# smbclient //martini/test%root
Added interface ip=192.168.188.170 bcast=192.168.188.255 nmask=255.255.255.0
Password:
Domain=[ARBEITSGRUPPE] OS=[Unix] Server=[Samba 2.0.3]
smb: \>
Da die ganze Benutzung wie gesagt ähnlich zu ftp ist, verzichte ich an dieser Stelle auf eine ausführliche Erklärung, und gebe nur die Liste aus,die erscheint wenn Sie den SMBCLIENT ohne jegliche Angabe zu service oder Parametern starten wollen:
 
/home# smbclient
Added interface ip=192.168.188.170 bcast=192.168.188.255 nmask=255.255.255.0
Usage: smbclient service <password> [options]
Version 2.0.3
        -s smb.conf           pathname to smb.conf file
        -B IP addr            broadcast IP address to use
        -O socket_options     socket options to use
        -R name resolve order use these name resolution services only
        -M host               send a winpopup message to the host
        -i scope              use this NetBIOS scope
        -N                    don't ask for a password
        -n netbios name.      Use this name as my netbios name
        -d debuglevel         set the debuglevel
        -P                    connect to service as a printer
        -p port               connect to the specified port
        -l log basename.      Basename for log/debug files
        -h                    Print this help message.
        -I dest IP            use this IP to connect to
        -E                    write messages to stderr instead of stdout
        -U username           set the network username
        -L host               get a list of shares available on a host
        -t terminal code      terminal i/o code {sjis|euc|jis7|jis8|junet|hex}
        -m max protocol       set the max protocol level
        -W workgroup          set the workgroup name
        -T<c|x>IXFqgbNan      command line tar
        -D directory          start from directory
        -c command string     execute semicolon separated commands


<zurueck Amanda-MultiNET>< zurueck Amanda-Samba>

Amanda - Samba :

Durch die Installation von Amanda mit smbclient ( der natuerlich vorhanden sein muß ) ist Amanda nun auch in der Lage Rechner mit Windows 95, Windows 98 und Windows NT zu sichern. Dabei sollten aber vorher alle Files die es zu diesem Thema gibt vorher gründlich durchgelesen werden, da die Installation und Konfiguration gar nicht so einfach ist. Man muß vorher genau wissen welche Amanda Version man benutzt, und welche Version des SMBCLIENTS man benutzt, um wenn nötig die richtigen Patches zu installieren.
 

Amanda - Samba - MultiNET:



 
 
 

Wo ist Amanda mit Samba bei Multinet installiert ?

Was muss ich tun um einen Windows Rechner mit Amanda zu sichern ?

Was wird zur Zeit bei MultiNET mit Amanda - Samba  gesichert ?

Amanda - Samba Vor - und Nachteile


 


Wo ist Amanda mit Samba bei Multinet installiert ?

Amanda wurde bei MultiNET auf Martini mit Smbclient ( --with-smbclient) installiert, da auf der Martini schon ein Smbclient (2.0.3) vorhanden war. Master Host fuer Sicherungen ist aber nach wie vor Tomcat. Das heisst, es ist moeglich Amanda mit Samba Sicherungen von Windows Maschinen machen zulassen, wobei zwar ein Smbclient noetig ist, dieser aber nicht zwingend auf dem Master Host installiert sein muss. Es reicht also vollkommen aus einen Smbclient auf einem Amandaclient zu haben, wichtig ist nur das dieser Amandaclient mit der Option --with-smbclient installiert wurde.
 


Was muss ich tun um einen Windows Rechner mit Amanda zu sichern ?

1.Passwort und smbclient in /etc/amandapass eintragen
2.Partitionen in die Disklist stellen
3.Partition auf Windows Rechner freigeben
 
 


1.Passwort und smbclient in /etc/amandapass eintragen :

Damit mit Samba das Laufwerk eines Windows-Rechners gesichert werden kann, muss auf dem Rechner mit dem Smbclient in der Datei /etc/amandapass ein Eintrag in folgender Form stehen:

//Windows-Rechner/Partition  Passwort


Beispiel fuer MultiNET um die /tmp Partition von Walter's Toshix zu sichern:

//toshix-wo/tmp Passwort ;-)



2.Partitionen in die Disklist stellen :

Natuerlich muss die zu sichern gewuenschte Partition des Windows-Rechners auch noch in die Disklist aufgenommen werden. Dabei sieht der Eintrag fuer eine Windows Partition in der Disklist etwas anders aus als ueblicherweise:

Samba installed Unix Host  //Windows-Rechner/Partition dumtype (must include the tar option)


bei unserem Beispiel mit Walter's Toshix und Martini als Unix Host mit Smbclient also:
 

martini //toshix-wo/tmp nocomp-user-gnutar
 

 
 
 
 


3. Partition auf Windows Rechner freigeben :

Die Partition die man mit Amanda-Samba sichern moechte muss auf jeden Fall auch auf dem entsprechenden Windows Rechner freigegeben werden. Dies geschieht folgendermasen:

Im Windows Explorer einen Klick mit der rechten Maustaste auf die gewuenschte Partition, und Freigabe anwaehlen. Nun erhaelt man eine Auswahl verschiedener Freigabe Moeglichkeiten, und waehlt eine dieser Moeglichkeiten.
 
 

<zurueck Amanda-MultiNET>< zurueck Amanda-Samba>






Was wird zur Zeit bei MultiNET mit Amanda - Samba  gesichert ?

Zur Zeit wird bei MultiNET leider nichts mit Amanda - Samba gesichert. Genauer heisst dies wir versuchen zwar die tmp-Partition von Walter seinem Toshix zu sichern, doch leider gelang dies bis dato noch nicht.
Amanda meldet zwar beim amcheck keinen Fehler, doch die Sicherung klappt nie. In den kommenden Mails von Amanda steht dann immer: "missing results for ..". Leider ist es seit dem wir Amanda mit Smbclient auf der Martini installiert haben nicht mal mehr moeglich die "echten" Martini Partitionen zu sichern. Woran das alles genau liegt wissen wir noch nicht, bleiben aber am Ball um dieses Problem zu loesen.
 
 


Amanda - Samba Vor - und Nachteile

Zu den Vor und Nachteilen von Amanda und Samba kann ich noch nicht viel sagen, da es uns wie gesagt  noch nicht gelungen ist eine erfolgreiche Sicherung damit durchzufuehren. Aus diesem Grund kann ich auch noch kein Urteil ueber die Vor - und Nachteile abgeben. Sobald wir es aber geschafft haben Sicherungen mit Amanda - Samba zu machen, und wir einige Tests durchgefuehrt haben werden Sie hier Informationen ueber die Vor und Nachteile finden.
 
 

<zurueck Amanda-MultiNET>< zurueck Amanda-Samba>