È perché sono diversi, chiari e semplici. Controllo dell'account utente avrebbe potuto essere implementato come sudo
, ma non lo era.
Puoi pensarlo come un'analogia con la protezione della rete.
sudo
è come quando un programma richiede l'accesso alla rete e il firewall richiede di concederlo o meno. Puoi dire di sì e il programma aprirà il socket, oppure puoi dire di no e si lamenterà della mancanza di connessione e farà tutto ciò che può fare senza accesso alla rete (alcuni programmi mal progettati in realtà si bloccano). Per esempio:
function1();
input();
function2();
secure_operation(); //requests access
function3(); //may depend on results of previous operation; error-checking important
Controllo dell'account utente è più simile all'avviso che viene visualizzato quando si tenta di aprire un file scaricato in un volume NTFS. Windows ti avvisa del potenziale male e ti chiede se vuoi eseguirlo (per niente) o no. È un'operazione tutto o niente; non puoi scegliere di fidarti solo di una parte del programma e non di altri. Per esempio:
if (requires_high_priv(program)) {
if (request_priv(program))
program();
}
else {
program();
}
Dovete ricordare che, diversamente da Linux, che è più orientato verso utenti e applicazioni avanzati, Windows è progettato per essere user-friendly per il maggior numero possibile di utenti, quindi semplificare la sicurezza è fondamentale. Inoltre, a causa della sua ampia superficie di esposizione, è un bersaglio frequente per i malware, quindi ha più senso fidarsi completamente di un programma o non farlo affatto.