|
|
|
|
Strumenti |
11-11-2005, 19:27 | #1 |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
`su` in automatico?
ciao a tutti...
una piccola curiosità... è possibile realizzare uno script bash che dia la possibilità ad un utente preciso di avviarlo e loggarsi come root? nel senso che per l'utente, lanciare il suddetto script sarebbe come fare `su passwd`... è possibile? io ho già provato a mandare echo passwd in pipe a su, ma mi dice che su deve essere avviato da terminale... se non sbaglio, qualcuno di voi l'ha fatto poco tempo fa, ma non sono più riuscito a trovare il post... riguardava la configurazione di linux per la mamma così che potesse collegarsi ad internet senza fare niente... grazie!
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" |
11-11-2005, 20:55 | #2 |
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
usare sudo no?
spero che nessuno ti aiuti a fare una cosa del genere |
11-11-2005, 21:10 | #3 |
Senior Member
Iscritto dal: Jan 2004
Città: Torino
Messaggi: 826
|
Secondo me se ti serve "su" quando ti loggi devi loggarti come root, altrimenti dai all'utente che ti serve i diritti dei quali ha bisogno e basta.
Nel senso che se fai "su" in automatico è come se fosse root, a quel punto tanto vale essere root...o sbaglio? Però essere root nell'uso normale del pc è sbagliato IMHO, quindi se hai bisogno che quando un utente si logga possa fare determinate azioni tanto vale dargli solo i diritti per fare quelle azioni e basta! In ogni caso basta trovare nella home un file chiamato .bashrc e dentro scrivere ciò che deve eseguire al login e dovrebbe andare. Io uso sui server dentro .bash_logout di root un bel "clear" per esempio, così quando esco mi pulisce la schermata automaticamente al logout (lo tengo senza grafica e mi scoccia che si veda cosa stavo facendo). |
12-11-2005, 09:54 | #4 |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
no... a me serve uno script diverso..
mi serve uno script che esegua su, avvii uno script avviabile solo da root e poi ritorni in modalità utente...
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" |
12-11-2005, 11:29 | #5 | |
Member
Iscritto dal: Feb 2005
Città: bologna
Messaggi: 236
|
Quote:
Codice:
visudo a quel punto nella sezione Codice:
# Cmnd alias specification un esempio Codice:
Cmnd_Alias SCRIPT=/usr/local/tuo_script Cmnd_Alias ALIA=path dello script A questo punto dove parla di Codice:
# User privilege specification Codice:
gandalf ALL=SCRIPT,NOPASSWD: ALL A questo punto salva il file appena modificato l'utente gandalf può quindi eseguire lo script come root senza che gli venga chiesta la password purchè esegua Codice:
sudo /usr/local/tuo_script Codice:
man sudoers |
|
12-11-2005, 13:40 | #6 |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
ok, proverò...
grazie!
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" |
16-11-2005, 17:22 | #7 | |
Senior Member
Iscritto dal: Mar 2003
Città: Paris
Messaggi: 912
|
Quote:
__________________
"Grandi menti discutono di idee, menti mediocri discutono di eventi, piccole menti discutono di persone." |
|
16-11-2005, 23:18 | #8 | |
Member
Iscritto dal: Feb 2005
Città: bologna
Messaggi: 236
|
Quote:
__________________
Linux User: #381770 |
|
17-11-2005, 12:41 | #9 |
Senior Member
Iscritto dal: Mar 2003
Città: Paris
Messaggi: 912
|
Puoi per esempio creare un gruppo restart dove mettere gli utenti che possono eseguire reboot. La situazione è un po' + complicata se QUALCHE utente deve potere fare qualcosa e qualcun altro no, allora devi creare i gruppi. Altrimenti se TUTTI gli utenti devono potere eseguire un comando basta settare i permessi dell'applicativo.
Ma in ogni caso mi sembra + semplice, e anche + in accordo con la filosofia del so che non fare uno script che lancia uno script... poi fai tu, a volte ci sono tante soluzioni ugualmente efficaci ad un problema.
__________________
"Grandi menti discutono di idee, menti mediocri discutono di eventi, piccole menti discutono di persone." |
17-11-2005, 15:33 | #10 |
Member
Iscritto dal: Feb 2005
Città: bologna
Messaggi: 236
|
qui manifesto la mia ignoranza, se l'eseguibile deve fare il bind su una porta bassa? tipo se devo far partire il server ftp come metto i permessi?
__________________
Linux User: #381770 |
18-11-2005, 11:40 | #11 |
Senior Member
Iscritto dal: Mar 2003
Città: Paris
Messaggi: 912
|
Non ti so dire niente di bind e ftp. Per me un eseguibile ha 9 permessi normali più i bit speciali, al di là di quello che fa. Se è un eseguibile di sistema (tipo quelli in /sbin per intenderci) e deve potere essere eseguito da chiunque con permessi di root allora io gli aggiungo il bit suid con chmod +s. Se quello che vuoi fare non è fatto da un eseguibile specifico allora fai uno script foo.sh che fa quello che vuoi che faccia e poi con chmod +s foo.sh lo rendi eseguibile da chiunque con i permessi di root. Mentre scrivo mi viene in mente un'idea per renderlo eseguibile solo da alcuni. Crei un gruppo pippo, ci metti dentro gli user che vuoi. Poi crei una directory che non sia nelle PATH degli utenti che non devono eseguire lo script (tipo /usr/local/sbin ad esempio) e cambi il gruppo proprietario della directory in pippo con chgrp. Dai permessi ristretti (tipo 770) a questa directory e il gioco è fatto: ora basta spostare foo.sh nella directoty pippo.
__________________
"Grandi menti discutono di idee, menti mediocri discutono di eventi, piccole menti discutono di persone." |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:19.