Anleitung zum automatischen Mounten von AFP Shares

Diskutiere mit über: Anleitung zum automatischen Mounten von AFP Shares im Mac OS X - Unix & Terminal Forum

  1. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    hallo zusammen drumm,

    aufgrund einer Frage im Mac OS X Bereich habe ich mich mit dem o. g. Thema mal näher beschäftigt.

    Vorgeschichte:
    Volumes automatisch mounten

    Aufgabe:
    1. Netzwerk Volumes (hier mit Apple Filesharing) sollen bei jedem Systemstart automatisch gemountet werden.
    2. Das Mounten soll benutzerunabhängig und vor dem Login passieren.
    3. Die Lösung soll auch auf reinen Darwin Systemen (ohne Aqua) funktionieren.
    4. Unter Aqua sollen keine Finder Fenster geöffnet werden, die man dann wieder schließen muss (mauell oder per Skript)

    Lösungsansatz:
    Es wird eine voll funktionsfähiges StatrupItem erstell.
    Dieses besteht aus einem Bundle, welches aus folgenden Bestandteilen besteht
    - Ordner mit frei wählbarem Namen und dem folgenden Inhalt
    - Das eigentliche StartupItem; dies ist eine ausführbare Datei, die exakt gleich benannt werden muss, wie der enthaltende Ordner. Sie wird bei richtiger Konfiguration mit root-Berechtigung ausgeführt, auch wenn keine SUID Bit gesetzt ist
    - Eine Datei, die "StartupParameter.plist" genannt werden muss. In dieser müssen dem Betriebssystem Informationen in einem genau definierten Format übergeben werden, um den richtigen Zeitpunkt beim Start zu bestimmen.
    Es macht beispielsweise keinen Sinn, einen mount-Befehl aufzurufen, wenn das Netzwerk noch gar nicht lebt.

    Der Speicherort, den Apple für benutzerdefinierte StartupItems vorsieht ist:
    /Library/StartupItems

    konkrete Lösung

    ich führe hier eine Lösung in folgender Umgebung vor:

    IP Adresse des afp-File Servers: 192.168.100.13
    Benutzerkonto auf dem File Server: maceis
    Passwort dieses Benutzers auf dem File Server: passwort
    afp Share auf dem File Server: iBook Panther
    mount Punkt (Verzeichnis) auf der lokalen Maschine: /voyager
    Inhalt des Bundles:
    Ordner: /Library/StartupItems/mountvoyager
    ausführbare Datei (ein Shellscript): /Library/StartupItems/mountvoyager/mountvoyager:
    StartupParameter.plist: /Library/StartupItems/mountvoyager/StartupParameter.plist:
    Es werden Einträge in den Dateien:
    - /var/log/system.log
    - /var/log/mountvoyager.log
    erstellt.
    Außerdem gibt es während des Boot-Vorgangs Statusmeldungen auf der Boot-Konsole.
    Um eine beliebige Anzahl von Shares zu mounten, kann das Shellskript natürlich leicht erweitert werden.
    Um den Startvorgang (vor allem, wenn tatsächlich viele Volumes gemountet werden) zu beschleunigen, sind noch Verbesserungen möglich un zu empfehlen.

    ------
    .(*>.... feedback und Kritik ist erwünscht .
    .//\
    V_/___
    ------
     
    Zuletzt bearbeitet: 29.10.2004
  2. Vielleicht zwei kleine Anmerkungen dazu:
    1. Volumes (z.B. eingelegte CDs oder AFP-Volumes über Apfel-K) werden in Mac OS X normalerweise nach /Volumes gemountet. Das Verzeichnis ist daher auch immer vorhanden. Man könnte also im Startscript die Zeile mkdir /voyager (zusammen mit den beiden dazu gehörenden Zeilen darüber und darunter) rauslassen und im automount-Befehl /voyager durch /volumes ersetzten.
    2. Benutzername und Passwort werden hierbei unverschlüsselt im Klartext über das Netzwerk übertragen.


    P.S. Ich würde das StartupItem für die bessere Erkennbarkeit eher "AFPAutomount" o.ä. nennen. Bei Apple ist es ja Usus, eindeutig beschreibende Objektnamen zu wählen.
     
  3. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    hallo ._ut

    vielen Dank für dein feedback.

    Mal von unten nach oben:
    PS:
    sicher richtig, war mir jetzt aber nicht so wichtig (der name).
    der DNS name meines iBooks ist "voyager.meine.domäne"
    - kann natürlich keiner wissen, aber daher kommt der name halt

    2. Der Einwand ist richtig, man kann auch kerberos verwenden (oder was anderes), ich wollte es aber nicht weiter komplizieren.

    1. wird dann nicht opaque über die bestehenden Volumes gemountet.
    Wenn man unter" /Volumes" mounten möchte, würde ich eher ein Verzeichnis unterhalb von "/Volumes" verwenden.

    Außerdem habe ich bemerkt, dass das Volume beim unmounten gelöscht wird (warum habe ich noch nicht verstanden, aber da bin ich dran)
    wäre mir bei "/Volumes" zu riskant :D
     
  4. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    hallo zusammen,

    ich hab mein Startup Skript noch etwas erweitert und verbessert:
    aktueller Stand ist der:

    #!/bin/sh
    #
    . /etc/rc.common
    #
    StartService ()
    {
    ConsoleMessage "Creating /Volumes/Network/voyager"
    mkdir -p /Volumes/Network/voyager
    echo date: `date` - $? mkdir >> /var/log/mountvoyager.log
    ConsoleMessage "Mounting voyager"
    mount_afp afp://maceis:passwort@192.168.100.13/iBook%20Panther /Volumes/Network/voyager &
    echo date: `date` - $? mount_afp >> /var/log/mountvoyager.log
    }

    StopService ()
    {
    umount /Volumes/Network/voyager
    rmdir /Volumes/Network/voyager
    }

    RestartService ()
    {
    return 0
    }

    RunService "$1"


    Ich mounte jetzt also unter /Volumes/Network/voyager (voyager ist der hostname der remote Maschine) und ich habe das Skript um eine "stop" Anweisung ergänzt.

    Auf die Option -o automount verzichte ich, dann erscheint das Volume wie eine lokales Volume im Sidebar und auf dem Desktop (wenn dies so in den Findereinstellungen konfiguriert wird, bei mir nur im Sidebar)
    Es ist aber anhand des Icons als Netzwerkvolume erkennbar

    Durch das & am Ende des Mount Befehls, wird der Befehl im Hintergrund gestartet.
    Das hat die erfreuliche Folge, dass die Bootdauer nicht länger ist als ohne mount-Befehl.
    Auch nicht, wenn 10 Volumes gemountet werden würden oder wenn die Volumes nicht online sind.

    Das Ende der Fahnenstange ist aber immer noch nicht erreicht :)
     
  5. sunni

    sunni MacUser Mitglied

    Beiträge:
    761
    Zustimmungen:
    0
    Registriert seit:
    06.03.2002
    Hallo,

    Also ich hab das mal ausprobiert.
    Leider sind die Zugriffsrechte nur für den root gesetzt. Andere können auch nicht lesen oder schreiben.
    Der Laufwerk wird zwar, wie gewünscht auf dem Desktop angezeigt. Das Laufwerk ist aber komplett leer.

    Gibts da auch eine Lösung?
    Hab schon das mkdir mit der Option -m 777 gemacht. Passiert nur genau das gleiche.

    lg
    sunni
     
  6. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    hallo sungeri,

    das ist ja eigenartig, denn das Startupskript wird zwar mit rootrechten ausgeführt, aber der Mountbefehl enthält ja die Credentials des Benutzers, und dessen Benutzerrechte gelten dann auch.

    Bei mir funktioniert das auch soweit.
    -------------
    Es gibt noch einen kleinen Fehler, den ich in Kürze korrigieren werde.
    Dieser hat zur Folge, dass es unter ganz bestimmten Bedingungen nicht funktioniert.

    Um zu checken, ob dies bei Dir zutrifft, würde ich Dich um folgendes bitten:

    1. poste das Ergebnis des Befehls
    mount

    2. poste den Inhalt des logfiles
    dieses muss allerdings manuell angelegt werden:
    > sudo touch /var/log/mountvoyager.log
    > sudo chmod 666 /var/log/mountvoyager.log


    3. Sieh´ nach, ob "Personal File Sharing" auf dem Rechner aktiv ist, auf dem du das StartUpItem laufen hast (sonst geht es i. d. R. nicht automatisch beim Booten und du bekommst einen leeren Ordner).
    Das ist ein Fehler, den ich (vermutlich heute abend) beheben werde.
    Auf dem FileServermuss "Personal File Sharing" in jedem Fall laufen

    4. Führe folgenden Befehl im Terminal aus und sieh nach, ob es so geht:
    > sudo /Library/StartupItems/mountvoyager/mountvoyager start

    Vielen Dank für Dein Feedback
     
  7. kurts

    kurts MacUser Mitglied

    Beiträge:
    192
    Zustimmungen:
    0
    Registriert seit:
    15.05.2003
    Mit diesem Tool geht es ein bisschen einfacher:

    defekter Link entfernt

    Gruss
     
  8. petjek

    petjek MacUser Mitglied

    Beiträge:
    517
    Zustimmungen:
    15
    Registriert seit:
    06.06.2005
    OK, ist schon 'ne Weile her aber die Software ist da leider nicht mehr verfügbar. Und dabei ist das genau das was ich suche!
     
  9. ratti

    ratti MacUser Mitglied

    Beiträge:
    1.515
    Zustimmungen:
    56
    Registriert seit:
    09.05.2004
    defekter Link entfernt
     
  10. petjek

    petjek MacUser Mitglied

    Beiträge:
    517
    Zustimmungen:
    15
    Registriert seit:
    06.06.2005
    Ups. Seite offline?
     
Die Seite wird geladen...
Ähnliche Themen - Anleitung zum automatischen Forum Datum
Befehl zum Auslesen des Trim Status gesucht Mac OS X - Unix & Terminal 04.08.2014
[grep] Eine Frage zum Zeitstempel Mac OS X - Unix & Terminal 07.06.2014
Frage zum cronjob Mac OS X - Unix & Terminal 16.07.2013
RAR 4.0 installieren Mac OS X - Unix & Terminal 21.07.2011
Anleitung Bitte!!!! Mac OS X - Unix & Terminal 27.10.2005

Diese Seite empfehlen

Benutzerdefinierte Suche