PDA

Visualizza la versione completa : programma con permessi di root


/dev/null
15-06-2004, 21:53
Avrei bisogno di permete ad un programma di ottenere i permessi di root anche se eseguito da utente...
Potrei farlo con sudo, ma non ho voglia di installarlo e configurarlo se esiste un altro metodo...
Mi ricordo che esiste lo Sticky Bit, che, se assegnato a un eseguibile, permettera al programma "marchiato" di avere sempre i privilegi del proprietario del file, anche se lo esegue un altro utente...
Però non funge :(
# ls -l
-rwsr-xr-x 1 root root 38 Jun 15 22:57 adsl-start.sh
-rwsr-xr-x 1 root root 27 Jun 15 22:56 adsl-stop.sh
# exit
exit
$ ./adsl-start.sh
adsl-start: You must be root to run this scriptEcco com'e' fatto il file:
$ more adsl-start.sh
#!/bin/sh
/usr/sbin/adsl-start

Perchè non va???


:ciauz:

Hamish
15-06-2004, 21:56
chmod a+x /usr/sbin/adsl-etcetc ?

/dev/null
15-06-2004, 22:09
Originariamente inviato da Hamish
chmod a+x /usr/sbin/adsl-etcetc ? :confused:
Mi sa che mi sono spiegato male...
Io devo richiamare /usr/bin/adsl-start (quello che fa parte di rp-pppoe) da root, perchè da utente mi blocca: "adsl-start: You must be root to run this script"...
Come aggiro lo cosa?
Potrei usare sudo, ma non ho molta voglia di configurarlo...
Mi ricordo che i files avevano uno speciale bit chiamato "ticky bit" tra i permessi che permette a chiunque esegua il programma di farlo eseguire come se fosse il proprietario (nel mio caso root)...
Guarda ad esempio il programma passwd: servono indubbiamente i permessi di root perchè funzioni (se no non potrebbe modificare /etc/passwd), ma può essere eseguito da utente... Perchè? Perchè usa lo sticky bit:
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 27600 Jun 8 02:46 /usr/bin/passwd

Però perchè nel mio caso non funziona???

Hamish
15-06-2004, 22:18
chmod +s

/dev/null
15-06-2004, 22:31
Originariamente inviato da Hamish
chmod +s L'ho già fatto :fagiano:
Leggi nel primo post come ce li ha i permessi:



-rwsr-xr-x 1 root root 38 Jun 15 22:57 adsl-start.sh



Esattamente come /usr/bin/passwd !

Hamish
15-06-2004, 22:35
ma non e' che adsl-start a cui si riferisce e' quello dentro lo script e non lo script stesso :) ?


$ more adsl-start.sh
#!/bin/sh
/usr/sbin/adsl-start


chmod +s /usr/sbin/adsl-start :bubu: ?

/dev/null
15-06-2004, 22:43
Originariamente inviato da Hamish
ma non e' che adsl-start a cui si riferisce e' quello dentro lo script e non lo script stesso :) ?


$ more adsl-start.sh
#!/bin/sh
/usr/sbin/adsl-start


chmod +s /usr/sbin/adsl-start :bubu: ?
$ /usr/sbin/adsl-start
adsl-start: You must be root to run this script
$ ls -l /usr/sbin/adsl-start
-rwsr-sr-x 1 root root 5561 Jun 11 04:58 /usr/sbin/adsl-start :dottò:
Quì c'è qualcosa che non va...

E' possibile che lo sticky bit valga solo in alcue dir... Oppure dia solo qualche privilegio? :master:


Ho provato anche a mettere nel mio script un richiamo a /bin/whoami e mi risponde root solo se eseguo lo script da root, se lo eseguo da utente mi risponde il nome dell'utente :master:

adarkar
15-06-2004, 23:22
primo, il bit non è lo sticky ma il suid :D
poi come ti han già detto + su, devi suiddare il programma che devi eseguire, nel tuo caso /usr/sbin/adsl-start non lo script che lo chiama cioè adsl-start.sh :adhone:

/dev/null
15-06-2004, 23:36
Originariamente inviato da adarkar
primo, il bit non è lo sticky ma il suid :D
poi come ti han già detto + su, devi suiddare il programma che devi eseguire, nel tuo caso /usr/sbin/adsl-start non lo script che lo chiama cioè adsl-start.sh :adhone: Ups... Già, lo sticky serve per mettere il programma nella swap e non levarcelo più :stordita:

Comunque... Cosa cambia tra assegnare il suid ad un programma, o a un programma che richiama il primo?
Dopotutto se il mio script avesse i permessi di root andrei a eseguire adsl-start con i permessi di root...


Ho attivato comunque il suid anche a /usr/sbin/adsl-start, ma non cambia nulla :di56:

b00malek
16-06-2004, 09:36
Originariamente inviato da /dev/null
Ups... Già, lo sticky serve per mettere il programma nella swap e non levarcelo più :stordita:

:di56:

Mmmhhh... hai un concetto distorto di sticky bit...

Loading