Eseguire script automaticamente dopo login (no X)

2 risposte [Ultimo contenuto]
Ritratto di rekstorm
rekstorm
(Geek)
Offline
Geek
Iscritto: 13/05/2005
Messaggi: 95

ciao,
il titolo è abbastanza chiaro: vorrei lanciare uno script o eseguire un programma automaticamente ad ogni login di un utente, per ogni utente del sistema, anche per login remoti (via ssh ad esempio). Non ho interfaccia grafica equindi non posso usare Autostart di kde o session di gnome o simile... deve essere qcosa di più basso livello e l'utente che si logga non deve poter bloccare l'esecuzione del processo.
Come esempio applicativo considerate il monitoraggio dei login tramite l'invio di una mail o la scrittura in un file di log.

se qualcuno ne sa, faccia un fischio!

ciao ciao :-P

Ritratto di pietro
pietro
(Collaboratore)
Offline
Collaboratore
Iscritto: 30/06/2005
Messaggi: 792

Nella directory /etc ci sono diversi script che vengono eseguiti automaticamente ma dipende dalla shell. Per la bash viene eseguito /etc/profile ed altri file nella home dell'utente. Ti consiglio comunque di guardare la documentazione ufficiale (avresti dovuto farlo prima del post). Comunque mi sembra che tale file non viene invocato per shell non di login.

Ripeto che il file varia da shell a shell e dato che ogni utente puo' cambiarsi la shell col comando chsh (a meno che tu non voglia vietarlo) devi impostare la cosa su tutti i file di startup di tutte le shell installate sul tuo sistema.

Questo sistema, comunque, non e' molto affidabile: e' probabile che un modo per evitare la lettura di /etc/profile si possa trovare.

Piuttosto, se devi solo controllare i login basta consultare i file di log. Il comando last ti mostra tutte le sessioni aperte/chiuse e quelle ancora attive.

Pietro

Debian Lenny on BeagleBoard

Ritratto di rekstorm
rekstorm
(Geek)
Offline
Geek
Iscritto: 13/05/2005
Messaggi: 95

grazie per il link, è stato utile, ho editato direttamente il file /etc/profile inserendo una linea con il comando alla fine del file.

ciao