[Tech] suid dove ?

Gianni Bianchini giannibi@firenze.linux.it
Dom 2 Feb 2003 08:57:24 CET


On Sat, 1 Feb 2003 12:29:18 +0100
Leonardo Boselli wrote:

> Mi viene un dubbio: ho uno script che dato un parametro mi invoca 
> grep con tutta una fila di parametri. il programma è owner root, 
> group alcuni e permission -rwsr-s--- (alcuni è il gruppo che può 
> usare il comando) 
> Il problema è che mi vien fuori : 
> grep: /var/log/apache/access.log: Permission denied

Linux ignora il bit di setuid sugli script. Anche la bash non
funziona setuid.

> il file log ha owner root:adm e permission 0640 l'unico modo è stato 
> di copiare /bin/grep da unáltra parte e suiddare questo.

Setuid root? Occhio che hai dato la possibilita' a chi puo' eseguirlo
di leggere, bene che vada, qualunque file nel sistema (/etc/shadow,
chiavi private, ecc.) . Io non lo farei.

> ora funziona, ma la cosa non mi piace, anche perché il giorno che 
> aggiorno il grep son fregato .....

Sei salvo, non fregato... :)

> Inoltre ora lo uso solo io, se non faccio un su root è solo per non 
> rischiare di creare file con l'owner sbagliato.

Mi sembra che il gioco non valga la candela, mica crei programmi setuid.
Usa semmai sudo per eseguire lo script e fai un controllo che eventuali
file creati dallo script abbiano owner e permission corrette.
Oppure aggiusta, se puoi, le permission del file che devi leggere in
modo che "alcuni" siano autorizzati.
Qualunque cosa prima di avere un grep setuid sulla macchina.

> MA visto che lo scopo è di renderlo disponibile a tutti (senza 
> mettere i parametri ma prendendolo dall'ambiente, in pratica serve 
> per fare il display del log relativo alla propria homepage ...la cosa 
> non mi piace .. pensa a quello che nei paramtri di grep mette il file 
> di un'altra persona ...

Huh? :o

Ciao.
Gianni.




Maggiori informazioni sulla lista flug-tech