Come eseguire su Mac OS X uno script di root al login di un utente? (login hook)
  • Questa FAQ è destinata ad utenti che abbiano una certa dimistichezza con il Terminale e le caratteristiche del sottosistema Unix di OS X.
  • Fonte: docs.info.apple.com/article.html?artnum=301446
  • Le istruzioni che seguono si riferiscono ad OS X 10.3 e 10.4, per versioni precedenti riferirsi all'articolo originale.
  • L'utility LoginWindow Manager permette tra le altre cose di abilitare la stessa opzione: www.bombich.com/software/lwm.html

La differenza sostanziale rispetto ad un elemento tra gli StartupItems (opzioni dell'account) è che lo script di cui parliamo (un "login hook") gira con privilegi di root.

Le caratteristiche di un login hook sono:

  1. lo script specificato come login hook deve essere eseguibile
  2. il login hook verrà eseguito con privilegi di root
  3. nello script login hook la variabile $1 vale il nome breve dell'utente che sta effettuando login
  4. qualunque altra operazione di login attenderà il termine dell'esecuzione del login hook

Come procedere per rendere uno script un "login hook":

  1. Preparare lo script che si desidera eseguire e verificare che funzioni come voluto
  2. A questo punto in una finestra del Terminale scrivere:
    sudo defaults write com.apple.loginwindow LoginHook /path/to/script
    dove al posto di /path/to/script va inserito il full path (path assoluto e completo) dello script, perché al momento dell'esecuzione la Home Directory dell'utente non è ancora definita
  3. Inserire la propria password quando richiesta, e premere invio

Questo comando modifica il file /var/root/Library/Preferences/com.apple.loginwindow

[ Home | Elenco delle FAQ | Forum | Segnalazioni | Risorse | Feed RSS ]