Ok, ecco il titolo criptico della giornata. In sostanza voglio mostrare come i due modi per eseguire un qualsiasi processo, uno da prompt dei comandi, l'altro da GUI come amministratore, in realtà nel primo sistema le credenziali dell'utente con le quali si apre il processo sono tutt'altro che quelle di amministratore.
In poche parole l'antivirus NOD32 mi segnalava che il settore 1 dell'MBR del disco è danneggiato? Al di là di sproloqui vari, dico, ma come è possibile. Il disco è nuovo.
Urge verifica, quindi prompt di MS-Dos e ChkDsk. ![users_on_mypc](http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ProgrammingNotes/WindowsLiveWriter/RunasuseradminTastodestroRunasAdministra_9A8B/users_on_mypc_thumb.jpg)
Dopo le precedenti cazziate che mi sono preso da utenti del blog mentre mostravo un sistema rapido per abilitare l'account Adminitrator di Vista, per le quali avrei dovuto iniziare ad usare un account standard e non uno di tipo Administrator, con l'ultima formattazione mi sono preso la briga di declassarmi, quindi nel mio sistema ho una situazione come mostrato nella figura sopra, e ovviamente lavoro di default con l'utente Andrea.
Avevo un prompt di MS-Dos aperto, quindi scrivo:
runas /user:admin cmd
per aprirmi una nuova console con permessi amministrativi, visto che il ChkDsk è una di quelle utility che non esegui se non sei administrator del computer.
Mi viene ovviamente richiesta la password per l'utente Admin, che inserisco e confermo, e di conseguenza mi viene proposta la nuova shell.
Ok, notate la barra del titolo.
Sembra tutto regolare, ed effettivamente ho una shell che lavora con permessi amministrativi.
Eppure... se scrivo un bel chkdsk, ecco cosa ottengo:
Ma come accesso negato?!?.
Se sono amministratore, che cosa accidenti vai trovando?
Al che, la prima cosa che provo è un riavvio del pc, dico, dopo tutti questy stand-by, magari ha bisogno di un riavvio serio. Niente. Tutto come prima. Dove sto sbagliando?
La risposta a prima vista sembra essere insita nel fatto che i privilegi dell'utente con il quale si è aperta la shell non siano in realtà quelli di amministratore.
Se infatti si tenta la strada da interfaccia grafica, quindi tasto destro sull'icona del prompt di MS-Dos e si dice "Run as Administrator" - quindi nel mio caso con l'utente Admin visto che è l'unico Administrator attivo nella macchina, vediamo cosa succede.![prompt_administrator](http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ProgrammingNotes/WindowsLiveWriter/RunasuseradminTastodestroRunasAdministra_9A8B/prompt_administrator_thumb.jpg)
Ovviamente la maschera di richiesta password sarà di tipo grafico, che per ovvie ragioni non posso riportare visto che il sistema durante la fase di autenticazione "congela" tutte le altre attività del pc ed anche il simpatico tasto Stamp, ma che presumibilmente avrete visto tonnellate di volte sui vostri pc.
Comunque, immettendo la password per l'utente in questione, si apre una shell di Ms-Dos come quella qui accanto.
Come potete vedere dalla barra del titolo, questo è diverso da quello della schermata sopra. Adesso sembrra che sia veramente un Administrator. Tant'è che se provo a rifare un'operazione come quella del ChkDsk, non ottengo più problemi relativi alla sicurezza.
Questo finalmente mi spiega anche perchè alcuni script batch che avevo fatto da un cliente per aiutarlo in alcuni task quotidiani non mi hanno funzionato, ma non mi aiuta a capire se si tratta di una cosa by-design di cui mi sono perso qualche articolo in rete.