Eseguire comando al primo login

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6566
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Eseguire comando al primo login

Messaggio 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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2792
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.8.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Eseguire comando al primo login

Messaggio 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

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6566
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Eseguire comando al primo login

Messaggio 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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
murdock
Linux 2.x
Linux 2.x
Messaggi: 477
Iscritto il: ven 25 mag 2007, 12:58
Slackware: 64 14.1
Kernel: 3.18.3
Desktop: KDE 4.14.3
Contatta:

Re: Eseguire comando al primo login

Messaggio 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

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6566
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Eseguire comando al primo login

Messaggio 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".
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Rispondi