dylan
Aktives Mitglied
Thread Starter
- Dabei seit
- 18.12.2002
- Beiträge
- 6.440
- Reaktionspunkte
- 3
Hallo allerseits!
Irgendwie "hänge" ich bei einem kleinen Konstrukt. Ich habe das Thema mal unter "Mac OS X" geparkt, weil es im wesentlichen zwar um ein Shell- oder von mir aus gerne auch ein AppleScript geht, aber im Allgemeinen den Startvorgang bei OS X beschreibt.
Aufgabenstellung
Wenn sich ein User am Rechner (MacOS 10.3.9) anmeldet, soll Safari gestartet und eine bestimmte Seite aufgerufen werden.
Problem
Die User-Accounts sind alle "verwaltet", was eine Bearbeitung der Startobjekte a) im Nachhinein durch den User und b) per Remote durch den Admin schier unmöglich macht. Eine Änderung der Startobjekte des Users und eine Änderung der Startseite des Browsers würde übrigens das Problem auch lösen. Vorschläge hierfür machen also den Rest des Textes überflüssig und sind natürlich gerne willkommen.
Lösungsansatz
Ein LoginHook Shell-Script soll Safari starten und die Seite aufrufen, danach aber das Terminal beenden, um dem User das Leben nicht unnötig zu "erschweren".
Was bisher getan wurde
1. Ordner "/Library/Management" erstellt
2. Script erstellt:
#!/bin/sh
# Safari starten und eine Seite im internen Netz öffnen
open -a Safari http://10.5.10.10/Pfad/Datei.php
# Terminal beenden
killall Terminal
(Ob die Syntax für einen LoginHook nicht anders sein müsste, weiß ich nicht. Aufklärung willkommen).
Das Script als "scriptname.sh" gesichert und in den Ordner /Library/Management/ gelegt
Es ausführbar gemacht mit:
sudo chmod u+x /Library/Management/scriptname.sh
D. Die Ausführung des Scripts getetest durch:
sudo /Library/Management/scriptname.sh user
(wobei "user" wirklich der Kurzname des Benutzers auf meinen Clients ist. Das hat dann auch einwandfrei geklappt, mit UID ebenfalls)
3. Das LoginHook des loginwindow angepasst durch:
sudo defaults write com.apple.loginwindow LoginHook /Library/Management/scriptname.sh
Wirkung
Bei Ab- und erneuter Anmeldung bzw. bei Neustart des Adminusers und des Clientusers passiert: gar nix.
Alternativen
Da ich mir dachte, dass eventuell dem ClientUser das Script nur unter dem environment von root zur Verfügung gestellt wird, wird dem User auch nichts "präsentiert". Beim Adminuser das selbe Ergebnis. Zumindest dürfte aber dann bei diesem Ansatz des Users eigene Bookmarks nicht zu sehen sein und wenn der User mit dieser Instanz von Safari Dateien speichert, er selbst später nicht mehr dran kommen, weil die dann root gehören.
Eventuell könnte das ja dann so aufgerufen werden:
su `whoami` -c /Applications/Safari.app/Contents/MacOS/Safari /Volumes/Festplatte/usr/local/etc/Pfad/website.webloc
wobei `whoami`den aktuellen User geben sollte. Allerdings lädt Safari dann leider die WebSite nicht, sondern präsentiert nur ein leeres Fenster.
website.webloc ist ein Safari-Bookmark File. Sobald ich Safari mittels su starte nimmt es keine weiteren Parameter mehr an. Wenn mann Safari dagegen so startet:
/Applications/Safari.app/Contents/MacOS/Safari $websiteDir &
...dann könnte Safari und $websiteDir laden, aber es wäre wohl erneut nicht das Environment des Users gesetzt.
Und nun die Frage:
Kann mir jemand weiterhelfen?
Ich glaube, ich mache einfach nur einen dummen Denkfehler, weil ich mich irgendwo verrannt habe, sehe ich das eigentlich Problem nicht mehr.
Besten Gruß,
Dylan
Irgendwie "hänge" ich bei einem kleinen Konstrukt. Ich habe das Thema mal unter "Mac OS X" geparkt, weil es im wesentlichen zwar um ein Shell- oder von mir aus gerne auch ein AppleScript geht, aber im Allgemeinen den Startvorgang bei OS X beschreibt.
Aufgabenstellung
Wenn sich ein User am Rechner (MacOS 10.3.9) anmeldet, soll Safari gestartet und eine bestimmte Seite aufgerufen werden.
Problem
Die User-Accounts sind alle "verwaltet", was eine Bearbeitung der Startobjekte a) im Nachhinein durch den User und b) per Remote durch den Admin schier unmöglich macht. Eine Änderung der Startobjekte des Users und eine Änderung der Startseite des Browsers würde übrigens das Problem auch lösen. Vorschläge hierfür machen also den Rest des Textes überflüssig und sind natürlich gerne willkommen.
Lösungsansatz
Ein LoginHook Shell-Script soll Safari starten und die Seite aufrufen, danach aber das Terminal beenden, um dem User das Leben nicht unnötig zu "erschweren".
Was bisher getan wurde
1. Ordner "/Library/Management" erstellt
2. Script erstellt:
#!/bin/sh
# Safari starten und eine Seite im internen Netz öffnen
open -a Safari http://10.5.10.10/Pfad/Datei.php
# Terminal beenden
killall Terminal
(Ob die Syntax für einen LoginHook nicht anders sein müsste, weiß ich nicht. Aufklärung willkommen).
Das Script als "scriptname.sh" gesichert und in den Ordner /Library/Management/ gelegt
Es ausführbar gemacht mit:
sudo chmod u+x /Library/Management/scriptname.sh
D. Die Ausführung des Scripts getetest durch:
sudo /Library/Management/scriptname.sh user
(wobei "user" wirklich der Kurzname des Benutzers auf meinen Clients ist. Das hat dann auch einwandfrei geklappt, mit UID ebenfalls)
3. Das LoginHook des loginwindow angepasst durch:
sudo defaults write com.apple.loginwindow LoginHook /Library/Management/scriptname.sh
Wirkung
Bei Ab- und erneuter Anmeldung bzw. bei Neustart des Adminusers und des Clientusers passiert: gar nix.
Alternativen
Da ich mir dachte, dass eventuell dem ClientUser das Script nur unter dem environment von root zur Verfügung gestellt wird, wird dem User auch nichts "präsentiert". Beim Adminuser das selbe Ergebnis. Zumindest dürfte aber dann bei diesem Ansatz des Users eigene Bookmarks nicht zu sehen sein und wenn der User mit dieser Instanz von Safari Dateien speichert, er selbst später nicht mehr dran kommen, weil die dann root gehören.
Eventuell könnte das ja dann so aufgerufen werden:
su `whoami` -c /Applications/Safari.app/Contents/MacOS/Safari /Volumes/Festplatte/usr/local/etc/Pfad/website.webloc
wobei `whoami`den aktuellen User geben sollte. Allerdings lädt Safari dann leider die WebSite nicht, sondern präsentiert nur ein leeres Fenster.
website.webloc ist ein Safari-Bookmark File. Sobald ich Safari mittels su starte nimmt es keine weiteren Parameter mehr an. Wenn mann Safari dagegen so startet:
/Applications/Safari.app/Contents/MacOS/Safari $websiteDir &
...dann könnte Safari und $websiteDir laden, aber es wäre wohl erneut nicht das Environment des Users gesetzt.
Und nun die Frage:
Kann mir jemand weiterhelfen?
Ich glaube, ich mache einfach nur einen dummen Denkfehler, weil ich mich irgendwo verrannt habe, sehe ich das eigentlich Problem nicht mehr.
Besten Gruß,
Dylan
Zuletzt bearbeitet: