Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Linux und Windows im Netzwerk (Samba)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    User
    Registriert seit
    May 2001
    Beiträge
    8.688

    Linux und Windows im Netzwerk (Samba)

    Einführung

    Mit dieser HowTo möchte ich erklären wie man mit Windows und Linux Rechnern untereinander Dateien austauschen kann. Dazu wird Samba benutzt dessen Installation ich hier nicht beschreibe, da es jeder Distribution beiliegt und es einfacher ist es zu installieren als es selbst zu compilieren.


    Installationen

    Im folgenden solltet ihr nun mal auf eurer CD nachsehen welche Pakete es zu Samba gibt. Die genauen Namen sind von Distribution zu Distribution unterschiedlich, jedoch haben sie immer das Wort "samba" im Namen. Wenn ihr also ein genanntes Paket nicht habt, dann kann es durchaus sein das es in einem anderen Paket mit drin ist. Die Namen die ich hier nenne beziehen sich auf Mandrake.

    Installieren solltet ihr:

    samba-server (oft auch nur samba)
    samba-client
    samba-common

    samba-docs
    samba-swat

    LinNeighborhood -> http://freshmeat.net/projects/linneighborhood/
    XfSamba -> http://freshmeat.net/projects/xfsamba

    Wer will kann sich die beiden letzten Programme auch als Quellcode besorgen und installieren. Da es hilfreiche aber von Samba unabhängige GUIs sind, könnt ihr das auch selbst compilieren.


    Samba aktivieren

    Jetzt müsst ihr in eurem Kontrollzentrum, Yast oder sonst was nur noch sicherstellen das der smb und der nmb Dienst läuft bzw. beim booten aktiviert werden soll.

    Alternativ könnt ihr auch in einem Bootscript diesen Befehl einbauen: "samba start"

    Zusätzlich ist es auch noch Sinnvoll Swat zu aktivieren. Das ist ein Webbasierendes Config Tool das später nützlich sein kann.


    Samba Server einrichten

    Samba besteht aus zwei Teilen: Server und Client. Der Server stellt nur Dateien und Geräte für andere Rechner bereit. Wenn ihr also Verzeichnisse "freigeben" wollt, müsst ihr den Server einrichten.

    Dazu sichert zunächst einmal nur die folgende Datei: /etc/samba/smb.conf
    Also: cp /etc/samba/smb.conf /etc/samba/smb.conf_org [als Root]

    Nun editiert die /etc/samba/smb.conf mit einem Editor und löscht ihren kompletten Inhalt (passiert ja nichts, da die Datei gesichert wurde)

    Folgenden Inhalt einfügen und anpassen:

    [global]
    workgroup = "selbe wie auch der Windows Rechner"
    guest account = nobody
    keep alive = 30
    os level = 2
    kernel oplocks = false
    security = share
    interfaces = "IP der Linux Rechners"/255.255.255.0
    bind interfaces only = yes
    socket options = TCP_NODELAY

    -> Was in Anführungszeichen steht incl. (!) der Anführungszeichen ändern. Also letztendlich ohne die Anführungszeichen.

    Damit habt ihr zunächst einmal nur den Server grundsätzlich eingestellt. Da ist noch nichts freigegeben (kommt gleich).

    Die Bedeutung ist:

    workgroup -> Windows verwendet Arbeitsgruppen innerhalb von Subadressen, diese muss hier eingetragen werden
    guest account = nobody -> Jeder darf zugreifen (im Netzwerk)
    [...]
    security = share -> Ermöglicht das freigeben von Verzeichnissen (ohne besonderen Schutz)
    interfaces = "IP der Linux Rechners"/255.255.255.0 -> Festlegen des Servers auf die IP eurer Lankarte
    bind interfaces only = yes -> Gültigkeit des Servers nur für das Lan
    [...]

    Den Rest übernehmt einfach wie ich ihn genannt habe.


    Nun könnt ihr Verzeichnisse freigeben:

    ["Name des Shares"]
    comment = "kurzer Komentar"
    browseable = yes
    path = /../../ "also Verzeichnis zum Share" (muss natürlich entsprechnede Rechte haben)
    writeable = yes
    public = yes
    guest only = no
    directory mask = 777
    create mask = 666

    -> Solch einen Block legt ihr nun für jeden Share/ jede Freigabe an. Es ist wichtig das dieses Verzeichnis auch die entsprechenden Rechte für andere Benutzer bekommt damit man von außen darauf zugreifen kann (unabhängig von den Einstellungen hier).

    Bedeutung:

    ["Name des Shares"] -> Name den der Share haben soll; Beliebig aber einzigartig !
    comment = "kurzer Komentar" -> Ein Kommentar dient dazu den Clients einen Hinweis zu geben was das für ein Share ist
    browseable = yes -> Muss "yes" sein da man sonst den Inhalt nicht durchsuchen kann
    path = /../../ -> Die Pfadangabe für das freizugebende Verzeichnis
    writeable = yes -> Kann auch "no" sein wenn ihr schreiben nicht zulassen wollt
    public = yes -> Kann auch "no" sein wenn ihr nicht wollt das es sichtbar ist; Verzeichnis muss dann expliziet angegeben werden
    [...]

    So könnt ihr jetzt für jeden Share vorgehen den ihr anlegen wollt. Kopiert einfach den Block und passt ihn jeweils an.

    -> Speichert nun die Datei und führt folgende Befehle aus [als Root]:

    samba condrestart
    samba status

    Ergebnis sollte sein:

    > samba condrestart
    Shutting down SMB services: [ OK ]
    Shutting down NMB services: [ OK ]
    Starting SMB services: [ OK ]
    Starting NMB services: [ OK ]

    > samba status
    smbd (PID 3604) läuft ...
    nmbd (PID 3613) läuft ...

    - Sollte Samba nun nicht mehr laufen dann habt ihr in der Config einen Fehler gemacht. Korregiert das dann und wiederholt diese Befehle.

    - Prüft dann mal von einem Windowsrechner aus ob ihr diese Shares nun sehen und darauf zugreifen könnt. Oder von einem Linuxrechner mit Samba Client (siehe nächsten Abschnitt).


    Samba Client benutzen

    Der Samba Client ist im Prinziep nun das gleiche wie das Windows Netzwerklaufwerk. Er mounted einen Share auf ein Verzeichnis in eurem System. Dabei könnt ihr Samba Shares oder Windows Freigaben mounten und dann benutzen.

    Ich empfehle das benutzen einer GUI wie LinNeighborhood oder XfSamba. Das ist am einfachsten.


    Alternativ könnt ihr aber auch die Konsole verwenden:

    mount -t smbfs -o "Optionen" //Rechner/Freigabe /mount/point

    -o "Optionen" -> Optionen für das mounten (siehe smbmount --help); oft reicht "guest"
    //Rechner -> Name des Rechners (Server, Windows oder Linux (Samba))
    ../Freigabe -> Name des Shares den ihr mounten wollt (muss bekannt sein)
    /mount/point -> Mountpoint auf den ihr die Freigabe mounten wollt (muss vorhanden sein)


    Zum unmounten gebt ihr ein: smbumount /mount/point


    Wichtig ist hier vor allem die Option -o, da es eventuell sein kann das ihr ein Passwort und / oder einen Benutzernamen angeben müsst um den Share überhaupt mounten zu dürfen. Das ist Serverseitig bestimmt.


    Anmerkungen

    Wie ihr bereits gemerkt habt, habe ich beim Client mit einbezogen das Shares vieleicht durch Passworte geschützt sein können. Die von mir angegebene Config für den Samba Server beinhaltet dies nicht. Es ist nur die Sicherung drin das das nur im Lan freigegeben sein soll. Wer nun in großen Netzwerken ist, der sollte entweder nur "unbedeutende" Daten sharen oder mit Passwortschutz arbeiten. Ich empfehle dazu eine HowTo von LKH:

    http://www.linuxforen.de/forums/show...threadid=18923


    Drucker freigeben

    Samba beherrscht neben der Freigabe von Dateien auch das teilen des Druckers. Ich beschreibe hier wie man das macht wenn man das weit verbreitete Drucker System CUPS verwendet.

    Editiert die Datei /etc/samba/smb.conf

    Fügt unter die [global] (unten) ein:

    printcap name = lpstat
    load printers = yes
    printing = cups

    -> Damit habt ihr die grundsätzliche Freigabe für Drucker aktiviert


    Fügt nun unter die [global] und über den Shares den folgenden Block ein:

    [printers]
    comment = All Printer
    spath = /var/spool/samba
    browseable = no
    guest ok = yes
    writable = no
    printable = yes
    create mode = 0700
    print command = lpr-cups -P %p -o raw %s -r # using client side printer drive
    lpq command = lpstat -o %p
    lprm command = cancel %p-%j

    -> Dieser Block gibt nun euren default Drucker aus CUPS frei und lässt zu, das andere darauf drucken können. Dabei wird deren Druckertreiber verwendet. Samba gibt den Druckauftrag nur an CUPS weiter, das ihn wiederrum an den Drucker weiterleitet.

    Der Knackpunkt könnte dabei die Zeile "print command" sein. Solltet ihr Probleme haben, dann liegt es an den Optionen in dieser Zeile. In der Regel sollte das aber so laufen.

    Danach wieder speichern und diese Befehle ausführen:

    samba condrestart
    samba status


    Schlussbemerkung

    Solltet ihr Probleme mit Samba haben, öffnet einen Thread im Bereich: Linux in heterogenen Netzen

    Bei Fehlern in dieser HowTo oder Anmerkungen bitte direkt eine PN an mich.
    Geändert von hunter (28.01.03 um 15:13 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •