Partnerlinks:
Google

www.linux-club.de/ sehr aktives und kompetentes Board m. Fragen u. Antworten rund um Linux  |  www.linux-board.de/ privates Board m. Fragen u. Antworten rund um Linux  |  meybohm bei viando.de gute Tools - u.a. "Phase 5 / HTML Editor" mein Lieblings-HTML-Editor und "Proton" - guter Texteditor www.meybohm.de  |  Wunsch-Domain schon belegt? Hier finden Sie sie trotzdem!   |  Webhosting beim Testsieger 2007. www.greatnet.de  | 
Host Europe - World Class Internet Hosting
 

  Ein Pinguin-Logo    
news About Me linux referenz tips links downloads kontakt
 
News
About
Linux
Referenz
Tips
  Linux
  Sicherheit
  Perl
  Allround Server
  Fileserver Samba
  HTTP-Server
  Zope-Server
  SQL-Server
  Mail-Server
  Proxy_Server
  FAX-Server
  Netzwerk-Tools
  SMS-Tools
  Postscript
  MS Office
Links
Downloads
Kontakt

Besucher
seit 21.10.2002
 
Mein Gästebuch
 

SAMBA - DER Datei- und Drucker-Server für die Windowswelt (6)

Netzlaufwerke wie unter Novell 4.x

6.1 - Unterschiede Novell- => Windowsserver

Der Hauptunterschied zwischen der Handhabung der Netzwerkshares im Novell- bzw. Windowsnetzwerk, auf den ich mit diesem Tip eingehen möchte, ist die Sichtbarkeit von Netzwerkshares.

Unter Novell bekommt ein User nur die Laufwerke bzw. Verzeichnisse zu sehen, für die er mindestens Leserechte hat.

Windows ist da etwas großzügiger. Es zeigt alle Verzeichnisse an, auch die zu denen der Benutzer keine Leseberechtigung hat. Wenn dieser Benutzer auf ein solches Verzeichnis klickt bekommt er die unschöne Fehlermeldung, dass er keine oder ungenügende Zugriffsrechte für dieses Verzeichnis/Laufwerk hat.

Auf diese Art und Weise bekommen andere Benutzer immer mit was für Laufwerke bzw. Verzeichnisse die anderen Benutzergruppen haben bzw. wie diese strukturiert sind. Darüberhinaus verwirren viele User die unter Umständen sehr vielzahligen Verzeichnisse in gemeinsam genutzten Shares.

Schon längere Zeit hatte ich ein Skript, welches dies beseitigen sollte daliegen. Ich weiß nicht mehr genau woher es war, aber es funktionierte nicht. Vor kurzem fand ich bei einer Internetrecherche unter www.meyer-edv.de eine schöne Erklärung und auch ein fast vollständig funktionierendes Skript.

6.2 - Abhilfe mit Samba => "mk_dir-links"-Skript und "root preexec"

Hier beweist sich wieder einmal die Flexibilität des Konzeptes des Sambaservers. Mit Hilfe der root preexec-Variablen in der smb.conf-Konfigurationsdatei (im Abschnitt des zu beeinflussenden Shares) können Aktionen festgelegt werden, die mit root-Rechten vor dem Verbinden mit dem Share ausgeführt werden.

6.2.1 - Funktionen des "mk_dir-links"-Skripts

Die benannte Option in Zusammenarbeit mit dem weiter unten beschriebenen Skript mk_dir-links führen die folgenden Aktionen vor dem Verbinden eines Users mit dem jeweiligen Netzwerkshare durch:

  • einlesen der definierten Variablen
  • wechseln in das "$LINK_DIR"-Verzeichnis (hier sollen die symbolischen Links angelegt werden)
  • löschen des kompletten alten Verzeichnisses (gleichlautend mit dem jeweiligen Anmeldename)
  • Erzeugen eines neuen Verzeichnisses mit dem Anmeldename als Verzeichnisname
  • Anpassen des Eigentümers und der Gruppenzugehörigkeit des Verzeichnisses an die des Users (sonst ist aufgrund der vorher gesetzten umask 022 kein Hineinwechseln in dieses möglich)
  • wechseln in das Verzeichnis "$USER_N"
  • erstellen einer Liste mit den Gruppenzugehörigkeiten des jeweiligen Benutzers
  • Verwenden dieser Liste in einer "for"-Schleife (jedes einzelne Element der vorher erzeugten Liste wird in die Variable "gr" gesetzt, und dann die Schleife einmal durchlaufen, Wiederholung bis alle Elemente der Liste "abgearbeitet" wurden)

  • Innerhalb dieser "for"-Schleife bei jedem Schleifendurchlauf einmal:
    • im "$ROOT_DIR_1" (max. Tiefe 1 Ebene) suchen aller Verzeichnisse mit der Gruppenzugehörigkeit "$gr", erzeugen einer entsprechenden Liste "filelist"

    • Für jedes Element der "$filelist" in einer "for"-Schleife je einmal:
      • wenn das Verzeichnis "$file" nicht dem "$ROOT_DIR_1" entspricht: Erzeugen eines symbolischen Links

6.2.2 - Einträge in der "smb.conf"

Damit Samba das obige Skript bei jedem Verbindungsaufbau zu dem bestimmten Share ausführt muss in der Konfigurationsdatei smb.conf im Abschnitt des Shares folgende Eintragung gemacht werden:

  root preexec = /usr/local/bin/mk_dir-links %U

Der Eintrag des Pfades zum Verzeichnis für dieses Share (bei mir [all_home]) muss wie folgt lauten:

  path = /win_home/dir-links/%U
Dadurch wird jeder User zu seinem eigenen Dir-Links-Verzeichnis verbunden.

6.3 - Verzeichnisstruktur

Zur Realisierung dieser Funktion habe ich folgende Verzeichnisstruktur angelegt:

  /win_home
  |
  +--- daten
  |     |
  |     +--- all (Datenaustausch Share für alle)
  |     |
  |     +--- user1 (Win-Home-Share user1)
  |     |
  |     +--- user2
  |     ...
  |
  +--- dir-links
        |
        +--- user1
        |    |
        |    +--- Link-Dir1 (dynamisch erzeugt)
        |    |
        |    +--- Link-Dir2 (dynamisch erzeugt)
        |    ...
        |
        +--- user2
        |    |
        |    +--- Link-Dir1 (dynamisch erzeugt)
        |    |
        |    +--- Link-Dir2 (dynamisch erzeugt)
        |    ...

6.4 - Fehlerquellen

Bei mir zeigte sich gleich zu Anfang das Problem, dass ich nicht auf das Share zugreifen konnte. Es wurde der Anmeldename und das Passwort abgefragt, deren Eingabe aber auch nicht zum Erfolg führten. Einzigster Fehler war das Nichtvorhandensein des Userspezifischen Verzeichnisses unterhalb von "dir-links". Wenn dieses fehlt, hat Samba keinen Bezugspunkt für das Verbinden. Also zuerst immer die Userspezifischen Verzeichnisse anlegen.


   
SAMBA (1)
Intro
Allgemeines
Installation
Konfiguration
SAMBA (2)
Domain Controller
Startskript
Winpopup
SAMBA (3)
=> Drucker
Allgemeines
Grundkonfiguration
Druckershares
WinPOPUP-Nachricht
PDF-Ausdrucke
Drucker automatisch installieren
SAMBA (4)
=> SuSE 8.1
Unterschiede
Funktionen
Änderungen
Druckertreiber
Datums-Skript
SAMBA (5)
=> Hilfsprogramme
Winpopup
smb-wall.pl
smb-user-wall.pl
Probleme
Lösung
SAMBA (6)
=> Novell-like
Unterschiede
Novell Samba
Lösung
Verzeichnisstruktur
Fehlerquellen
 
©  09.09.2009  Heiko Teichmeier - Glauchau/Sa.