Newsgroup: it.comp.os.linux.iniziare
Titolo: esecuzione automatica

E' possibile far sě che un determinato comando venga automaticamente
eseguito qualche un utente accede alla macchina linux?
Io volevo fare questo:
ho creato un utente chiamato shutdown che non č nemmeno dotato di shell e
home e vorrei che ogni volta che questo utente accede venga spento il pc,
cioč venga eseguito in automatico il comando shutdown -h now.
Voi che dite, si puň fare?
--
Alex
-*-*-
per rispondere in pvt chiedere l'indirizzo e-mail
-*-*-

 Voi che dite, si puň fare?
si

 si
un aiuto?

 un aiuto?
nella home dell'utente in questione edita il file .bashrc e metti la riga
li.Mi spieghi perche' vuoi fare tutto questo giro?

 per rispondere in pvt chiedere l'indirizzo e-mail
E a chi? 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/FdrJPJE4D78UP9MRAjUDAJ9vnm9ruW8NK16QQrNWUrVOjGQW/ACgiulx
QMMM+RNSUAtlqhH+XYn3MJ8=
=wpNI
-----END PGP SIGNATURE-----
-- 
Try *stixx* :: linux in a pen
http://kaiserino.ath.cx/~kbs

 li.Mi spieghi perche' vuoi fare tutto questo giro?
per far si che chi deve riavviare il server abbia solo un nome utonto e pass
e non corra il rischio di fare casini.
grazie mille
avevi alternative migliori?

 ha scritto nel messaggio
news:bf4p95$qa6$1...@lacerta.tiscalinet.it...

Ma di default dovresti avere che solo root fa shutdown, perché creare un
utente solo per un comando?
ciao
Mirko

 utente solo per un comando?
semplicissimo:
se deve essere qualcuno che puň spegnere la macchina ma che non deve avere
le pass di root o s.user come fai?

 avere le pass di root o s.user come fai?
man shutdown
man sudo
- -- 
Try *stixx*, linux in a pen:
http://kaiserino.ath.cx/~kbs
 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (MingW32)
iEYEARECAAYFAj8Wae0ACgkQLpOZQGVrY43kYACePKA/VdZIVqzeCTudYGS69zI5
AFgAnjN4ss3b7L9iILNSmPy0MdgnQCh5
=pWH9
-----END PGP SIGNATURE-----

 le pass di root o s.user come fai?
  Io ho cambiato direttamente i permessi di halt, cmq niente vieta che
tu copi /sbin/halt in /usr/local/bin/ e tu assegni i permessi che vuoi
a questo file. Un utente o un gruppo possono cosi' spengere la
macchina senza essere root.
  Spero di esser stato utile,  
-- 
Gianfranco Bertozzi
Linux User #183585
gber...@tiscalinet.it

 home e vorrei che ogni volta che questo utente accede venga spento il pc
Basta che gli configuri il rc della shell (sh o bash) che esegua un bel
poweroff :).
Ma credo che ci voglia una conferma dalla man page di (diciamo) bash......
CONFERMATO!!
Allora fai in modo che il nuovo utente (shutdown) sia preparato coi dovuti
settaggi ed abbia una sua bash shell, gli configuri il .bashrc con un bel
"poweroff" e buonanotte al PC.
Non ho fatto prove, ma sarei curioso se funziona.

 macchina senza essere root.
utile sě, molto; chiamo leggermente meno.
Perň devo sempre creare un utente apposito da bloccare nella sua home che
contiene solo quel file?


in pratica era quello che volevo fare.
Però, sti settaggi di bash quali sono?
per caso li sai già o devo fare un bel man?
Ciao e grazie


 -*-*-
un'altra alternativa è usare sudo e modificare opportunamente il file
/etc/passwd.
In pratica con sudo permetti a shutdown di eseguire questo comando:
"/sbin/shutdown -h now". I permessi sono tali da non richiedere la password.
Cioè con "visudo" aggiungi la seguente riga:
---
shutdown ALL = NOPASSWD: /sbin/shutdown -h now
---
Poi crei un file eseguibile (da shutdown) che contiene questo comando:
---
sudo /sbin/shutdown -h now
---
Infine modifichi il file /etc/passwd in modo che all'utente shutdown
l'ultimo campo non contenga la shell bash ma il riferimento assoluto al file
creato al punto precedente.
Poichè non ho provato questa procedura non so se bisogna aggiungere al file
/etc/shells il riferimento al file eseguibile.

 /etc/shells il riferimento al file eseguibile.
ok, ora toglimi una curiosità:
al boot linux chiede:
nome utente:
io digito
shutdown
e lui spegne.
Ho capito bene?
E se dall'esterno arriva un pirla che mi spegna il pc senza permesso?
Mi dirai devo disabilitare l'account shutdown per accedere dall'esterno,
però come?
fermo restando che deve essere accessibile da ssh per uso interno.
Non mi pare, ma spero di sbagliare che nella config di ssh ci sia la
possibilità di dare delle reti interne e delle reti esterne, però ora non ho
un linux sotto mano per controllare.
Cmq, grazie mille


 -*-*-
tu digiti al login shutdown e la password (dell'utente shutdown) e il
sistema si spegne.
Se uno non conosce la password non può spegnere il computer (solo l'utente
shutdown ha il permesso di eseguire il comando "sudo /sbin/shutdown -h now")

 Ma di default dovresti avere che solo root fa shutdown
Allora non son nella norma perché nella mia shell posso dare un bel poweroff

 shutdown ha il permesso di eseguire il comando "sudo /sbin/shutdown -h
now")
ok, perfetto è quello che volevo.
Ciao e grazie


 Però, sti settaggi di bash quali sono?
Diciamo che devi creare un account nuovo a "shutdown". Stabiliamo che sia
shutdown, altrimenti cambia come ti pare, ma tutte le parole che qui si
riferiscono a questo shutdown dovranno esser cambiate in merito.
In mdk 9,1 lo troverei in Mdk Centro di controllo > Sistema > Userdrake. Poi
scegli come shell la bash (per non sbagliarsi).
Quando avrai l' account esegui echo poweroff >>/home/shutdown/.bashrc ed é
fatto. Al massimo controlli con cat /home/shutdown/.bashrc e vedi se é
corretto.

   Spero di esser stato utile,  
purtroppo no.
leggi con attenzione le man page di 'shutdown' e 'sudo' e vedrai che in breve 
rimetterai i permessi a posto.
michele

 
Caro Alex,
Posso confermarti che funziona come un orologio svizzero al cesio. Ho appena
fatto la prova, solo inconveniente sta nel fatto che non si puó usare
shutdown come nome utente (visto che esiste). Allora ho creato un account
col nome spegni e aggiunto la riga "poweroff" alla sua .bashrc (almeno in
MDK significa spegnere il PC, forse un symlink a shutdown); guarda caso il
suddetto file si trova proprio in /home/spegni, almeno di default, sempre
che non si voglia campiarlo.
Son rientrato col login di spegni e appena accettata la password, indovina,
ha iniziato la procedura di spegnimento.
Anzi direi che volendo farla un pó piú saporita si potrebbe aggiungere anche
una riga di commento prima del poweroff, come
 echo "il sistema sta per spegnere"
 poweroff.
Spero che cosí sia ben chiaro