Hai fatto un po' di debugging?

Se inserisci una

printf("%d\n", utente.permesso);

subito dopo la read, cosa viene visualizzato?