[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ddd solo da root



Ciao Andrea,

>>Il problema nasce piu' lontano. Se io avvio ddd da utente normale non mi
>>esegue il debug del programmino al quale sto lavorando (vedi il mio
>>posting iniziale).
>>Ho dato un'occhiata rapida al setuid e un ls -l mi dice che questo
>>attributo non e' impostato per il ddd, mentre lo e' per esempio per
>>passwd. Quindi vorrei sapere se solo root puo' usare il ddd per fare le
>>cose per le quali e' stato scritto ed eventualmente come devo fare per
>>usare ddd da utente senza i privilegi di root.
>>    
>>
>no, calma: 
>setuid non deve essere applicato a ddd (vorrei anche vedere). Il problema 
>sorge se il programma da debuggare e' setuid (non per tutti i programmi 
>setuid,in realta',ma non importa...) :-)
>
>Quello che intendevo, e' che puoi avere problemi a fare debug se l'utente 
>che fa debug e quello che possiede il programma da debuggare non coincide.
>
>Cmq: non puoi copiare un po' dell'output di gdb?
>  
>
Ecco l'output (pero' del ddd - il gdb da solo non lo so ancora usare):
NU DDD 3.3.9 (i386-pc-linux-gnu), by Dorothea Lütkehaus and Andreas Zeller.
Copyright © 1995-1999 Technische Universität Braunschweig, Germany.
Copyright © 1999-2001 Universität Passau, Germany.
Copyright © 2001 Universität des Saarlandes, Germany.
Copyright © 2001-2004 Free Software Foundation, Inc.
(gdb) file /home/Luigi/projekte/test/test
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) break test.c:12
Breakpoint 1 at 0x80483a0: file test.c, line 8.
(gdb) run
Cannot exec : Datei oder Verzeichnis nicht gefunden.
(traduco - Cannot exec: file o directory non trovata)

Program exited with code 0177.
You can't do that without a process to debug.
(gdb)

E un ls -l dei file interessati:

-rwxr-xr-x  1 Luigi users 17390 2005-04-26 08:13 test
-rw-r--r--  1 Luigi users   130 2005-04-23 20:25 test.c
-rw-r--r--  1 Luigi users   904 2005-04-24 20:31 test.o
-----------------------------------------------------------------------------------------------

L'eseguibile test e' stato generato con il comando:
gcc -Wall -g test.c -o test

#test.c
#include <stdio.h>

int main (void)
{
        int zahl = 0;
        zahl++;
        printf ("%d \n", zahl);
        zahl++;
        printf ("%d \n", zahl);
}

gcc brontola un po' probabilmente perche' gli manca il ritorno per l'int
di main.
Ovviamente il programma funziona, si tratta di provare il ddd.
Il codice viene regolarmente caricato, mi lascia anche inserire un
breakpoint, poi pero' termina con il messaggio postato sopra.
Come detto, da root funziona tutto, deve essere quindi una questione di
diritti ma quali? E dove?
Saluti.
Luigi


















Reply to: