View previous topic :: View next topic |
Author |
Message |
canduc17 l33t
Joined: 11 Oct 2005 Posts: 795 Location: Ferrara, Italy
|
Posted: Sun Jun 15, 2008 12:45 pm Post subject: Perchè non va il bit suid? [Risolto con sudo] |
|
|
Devo riuscire a far partire pppoe-start da utente normale...
Allor, ho pensato di settare il bit suid, come per ping: Code: | chmod 4755 /usr/sbin/pppoe-start | Però non funziona: Code: | anto@candasus ~ $ /usr/sbin/pppoe-start
pppoe-start: You must be root to run this script |
Perchè, mannaggia la pupazza?!
Ho provato a mettere i permessi del comando a 777, a cambiare proprietario del file in anto, ma niente...
Cosa cavolo devo fare? _________________ A cow enters a supermarket, does an handstand and dies. (Public toilet graffito)
Last edited by canduc17 on Sun Jun 15, 2008 7:36 pm; edited 2 times in total |
|
Back to top |
|
|
djinnZ Advocate
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Sun Jun 15, 2008 3:59 pm Post subject: |
|
|
usare sudo, suid funziona solo con gli eseguibili binari.
In verità esisterebbe un modo alquanto perverso ed autolesionista di implementarlo ma si dovrebbero rendere eseguibili tutti gli script con un metodo simile a quello degli eseguibili java a livello kernel. Anche se chiunque più che sconsigliarlo ti direbbe che l'idea è imbecille. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist |
|
Back to top |
|
|
comio Advocate
Joined: 03 Jul 2003 Posts: 2191 Location: Taranto
|
Posted: Sun Jun 15, 2008 4:01 pm Post subject: Re: Perchè non và il bit suid? |
|
|
canduc17 wrote: | Devo riuscire a far partire pppoe-start da utente normale...
Allor, ho pensato di settare il bit suid, come per ping: Code: | chmod 4755 /usr/sbin/pppoe-start | Però non funziona: Code: | anto@candasus ~ $ /usr/sbin/pppoe-start
pppoe-start: You must be root to run this script |
Perchè, mannaggia la pupazza?!
Ho provato a mettere i permessi del comando a 777, a cambiare proprietario del file in anto, ma niente...
Cosa cavolo devo fare? |
prima cosa: "và" si scrive senza accento.
Il suid sugli script non vanno per "precauzione". Tu puoi dare il suid ad un elf puro che a sua volta può eseguire lo script: sudo è il tuo amico in questi casi.
ciao
luigi _________________ RTFM!!!!
e
http://www.comio.it
|
|
Back to top |
|
|
djinnZ Advocate
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Sun Jun 15, 2008 4:19 pm Post subject: Re: Perchè non và il bit suid? |
|
|
comio wrote: | prima cosa: "và" si scrive senza accento. | Non me ne ero accorto... solita prece
comio wrote: | Il suid sugli script non vanno per "precauzione". | Prima cosa una prece, di nuovo. Tornando seri non è una precauzione ma il fatto che il bit suid agisce solo sugli eseguibili (o su quanto attivato dalle variabili CONFIG_BINFMT_* nella configurazione) lanciati dal kernel.
In realtà è la shell a riconoscere gli script eseguibili ed a lanciare l'interprete (con i privilegi che ha, ovvero quelli dell'utente, perl voleva prevedere una possibilità del genere abilitandolo suid se non ricordo male).
Maggiori informazioni in /usr/src/linux/Documentation/java.txt e NETqualcosa.
comio wrote: | Tu puoi dare il suid ad un elf puro che a sua volta può eseguire lo script | via system() ? Non è che funzioni dappertutto e sempre. Sudo è l'unica soluzione valida.
canduc17 wrote: | permessi del comando a 777 | è proprio per la possibilità di fare simili stupidaggini che non è possibile rendere suid uno script (nei sistemi operativi seri, aggiungerei).
Ti rendi conto che nelle tue intenzioni avresti dato il permesso di modificare e lanciare un eseguibile con privilegi assoluti (supeuser) a tutti i possibili utenti del sistema?
Immagina che il solito genio che si crede un accherr ti ci piazza dentro un bel che fai? (lo dico perchè è successa realmente una cosa del genere ma non dico ne dove ne come... )
p.s.: tanto per puntualizzare visto che è domenica e sto attendendo che finisca il download dei soliti aggiornamenti del piffero... _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist
Last edited by djinnZ on Sun Jun 15, 2008 4:34 pm; edited 2 times in total |
|
Back to top |
|
|
comio Advocate
Joined: 03 Jul 2003 Posts: 2191 Location: Taranto
|
Posted: Sun Jun 15, 2008 4:31 pm Post subject: Re: Perchè non và il bit suid? |
|
|
djinnZ wrote: | comio wrote: | prima cosa: "và" si scrive senza accento. | Non me ne ero accorto... solita prece
comio wrote: | Il suid sugli script non vanno per "precauzione". | Prima cosa una prece, di nuovo. Tornando seri non è una precauzione ma il fatto che il bit suid agisce solo sugli eseguibili (o su quanto attivato dalle variabili CONFIG_BINFMT_* nella configurazione) lanciati dal kernel.
In realtà è la shell a riconoscere gli script eseguibili ed a lanciare l'interprete (con i privilegi che ha, ovvero quelli dell'utente, perl voleva prevedere una possibilità del genere abilitandolo suid se non ricordo male).
Maggiori informazioni in /usr/src/linux/Documentation/java.txt e NETqualcosa.
comio wrote: | Tu puoi dare il suid ad un elf puro che a sua volta può eseguire lo script | via system() ? Non è che funzioni dappertutto e sempre. Sudo è l'unica soluzione valida.
p.s.: tanto per puntualizzare visto che è domenica e sto attendendo che finisca il download dei soliti aggiornamenti del piffero... |
Gli script sono eseguiti da bash... volendo si potrebbe far mantenere a bash il suid... ma queste è cosa brutta. Non parlavo della system... ma di una bella exec() con bash e parametro lo script (per esempio). In ogni caso non intendevo la syscall quanto piuttosto usare sudo per tagliare la testa al toro.
L'esecuzione del suid non è bloccata per qualche motivo tecnico ma solo perché sarebbe fonte di enormi casini... è un ascelta tecnica piuttosto che una limitazione. Per questo dicevo "per precauzione".
ciao
luigi _________________ RTFM!!!!
e
http://www.comio.it
|
|
Back to top |
|
|
djinnZ Advocate
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Sun Jun 15, 2008 4:35 pm Post subject: |
|
|
prova a configurare bash in binfmt_misc e vedrai
In realtà nei sistemi hardenizzati una cosa del genere non può essere fatta a meno che il programma non sia stato esplicitamente autorizzato (per esempio nella conf di default di selinux per gento solo sudo e pam hanno quel privilegio) quindi per compatibilità è sbagliato usare altre soluzioni. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist |
|
Back to top |
|
|
comio Advocate
Joined: 03 Jul 2003 Posts: 2191 Location: Taranto
|
Posted: Sun Jun 15, 2008 5:15 pm Post subject: |
|
|
djinnZ wrote: | prova a configurare bash in binfmt_misc e vedrai
|
Appunto!!!! Diciamo la stessa cosa! Ribadisco: Si può fare ma è meglio non farlo dato che fa perdere velocemente il controllo della situazione.
luigi
Quote: |
In realtà nei sistemi hardenizzati una cosa del genere non può essere fatta a meno che il programma non sia stato esplicitamente autorizzato (per esempio nella conf di default di selinux per gento solo sudo e pam hanno quel privilegio) quindi per compatibilità è sbagliato usare altre soluzioni. |
_________________ RTFM!!!!
e
http://www.comio.it
|
|
Back to top |
|
|
canduc17 l33t
Joined: 11 Oct 2005 Posts: 795 Location: Ferrara, Italy
|
Posted: Sun Jun 15, 2008 7:35 pm Post subject: |
|
|
Grazie a tutti, ho seguito la guida a sudo e ce l'ho fatta.
Ho corretto anche la sgrammaticatura.
Cià! _________________ A cow enters a supermarket, does an handstand and dies. (Public toilet graffito) |
|
Back to top |
|
|
|