Pagina 1 di 1

Eseguire comando al primo login

Inviato: mar 23 set 2014, 10:10
da targzeta
Ciao a tutti,
ho la necessità di eseguire uno script bash una e una sola volta al primo login dell'utente. Mi piacerebbe fare un piccolo brainstorming con voi. Le mie idee sono:
  • creare un file temporaneo in /tmp. Visto che la /tmp c'è l'ho in RAM, non devo preoccuparmi di eliminare il file allo shutdown.
  • usare il comando w o who per capire se l'utente è loggato.
altre idee?

Emanuele

Re: Eseguire comando al primo login

Inviato: mar 23 set 2014, 16:22
da ponce
io metterei l'esecuzione dello script dentro /etc/skel/.bash_profile e nello stesso script metterei anche un sed che lo toglie da ~/.bash_profile

Re: Eseguire comando al primo login

Inviato: mar 23 set 2014, 19:46
da targzeta
Forse mi sono spiegato male. Lo script deve essere eseguito solo quando si logga il mio utente (quindi uno in particolare) ed ogni volta che si logga per la prima volta (in pratica una volta ad ogni avvio). Per capirci meglio, in questo script ci vorrei mettere:
  • esecuzione del sever X (startx)
  • sblocco delle chiavi private ssh (ssh-agent + ssh-add)
  • varie ed eventuali...
Emanuele

Re: Eseguire comando al primo login

Inviato: mar 23 set 2014, 22:00
da murdock
La prima che mi viene in mente:
In rc.local impostare i permessi di esecuzione al file dello script. Lo script invece, al termine delle sue operazioni, toglie a se stesso (il suo file) i medesimi diritti.

Saluti,
MuRdOcK

Re: Eseguire comando al primo login

Inviato: mar 23 set 2014, 22:55
da targzeta
Alla fine, per ora sto usando questo script (per bash):

Codice: Seleziona tutto

if (( $(who | grep "^${USER}[[:space:]]" | wc -l) == 1 ))
then
  startx&  # Lancia il server X.
  which vlock >& /dev/null && vlock  # Blocca la console.
fi
Quindi, usando il comando "who". Questo fa quello che in realtà voglio, ovvero, anche se poi l'utente dovesse fare il logout da tutte le console, lo script dovrebbe essere rieseguito al nuovo "primo" login.

Emanuele

P.S. Ovviamente questo snippet l'ho messo in "~/.bash_profile".