PDA

View Full Version : permessi file


xyz1
22-04-2005, 21:19
Ciao a tutti,
come faccio a verificare che un file abbia i diritti di esecuzione?? c'è un modo diretto senza usare script?

Linguaggio di programmazione: C
Sistema operativo: LINUX

HELP PLZ
Grazie ;)

VICIUS
22-04-2005, 21:42
puoi usare la funzione stat (man 2 stat). piu precisamente dovresti guardare il campo st_mode

ciao ;)

xyz1
22-04-2005, 22:32
Grazie 1000...
ti chiedo un ultimo piacere... entro sta sera devo consegnare un progetto e non ho tempo per fare prove con questo comando... mi scriveresti due righe di codice per verificare se ho i diritti di esecuzione su un file di nome "xxx.out" ??

GRAZIE 1000

VICIUS
22-04-2005, 22:41
Dovrebbe essere qualcosa tipo
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

int main (int argc, char **argv)
{
if (argc != 2) return -1;

struct stat s;

if (stat (argv[1], &s) < 0) {
fprintf (stderr, "errore!\n");
} else {
if (s.st_mode & S_IXUSR) {
printf ("il proprietario puo eseguire il file\n");
} else {
printf ("il proprietario non puo eseguire il file\n");
}
}

return 0;
}

ciao ;)

xyz1
22-04-2005, 22:59
non funziona :(

spiegami cosa dovrebbero restituire st_mode e S_IXUSR per favore...
nel man non è spiegato

xyz1
23-04-2005, 00:32
risolto lo stesso... grazie 1000 per la dritta
CIAO