Voor mijn beroep werk ik elke dag met Windows en ik weet ook perfect hoe elke Windows-versie in elkaar steekt.
De UAC (User Account Control) die jij vermeldt is absoluut niet vergelijkbaar met het rootbeveiligingssysteem van Linux. Het begint al bij de toepassing van de authenticatie. Linux vereist voor alle systeembeheer een rootlogin en dat moet al vanaf het laagste niveau: het zit in de kernel ingebakken. De UAC van Windows zit enkel en alleen in de grafische schil en is in het geheel niet van toepassing op software die in het systeem draait. Als je dat wil kan ik je perfect demonstreren dat ik op een met geactiveerde UAC voorziene WinVista of Win7 probleemloos malware kan installeren en dat die zich even probleemloos ingraaft in de startroutines van Windows. Zonder dat de UAC dat verhindert.
Wat jij allemaal vertelt is pure Microsoft-marketing. Natuurlijk willen ze de wereld doen geloven dat de UAC vergelijkbaar is met het sudo-systeem en dat Windows dus "even veilig als Linux" begint te worden. De werkelijkheid en de praktijkervaring spreken dat echter grondig tegen, vrees ik...
"When an administrator logs on, the user is granted two access tokens: a full administrator access token and a "filtered" standard user access token. By default, when a member of the local Administrators group logs on, the administrative Windows privileges are disabled and elevated user rights are removed, resulting in the standard user access token. The standard user access token is then used to launch the desktop (Explorer.exe). Explorer.exe is the parent process from which all other user-initiated processes inherit their access token. As a result, all applications run as a standard user by default unless a user provides consent or credentials to approve an application to use a full administrative access token. Contrasting with this process, when a standard user logs on, only a standard user access token is created. This standard user access token is then used to launch the desktop."
Bron:
http://technet.microsoft.com/en-us/library/cc709628%28WS.10%29.aspxDit is rechtstreeks van Microsoft's TechNet. Dus tenzij dat je Microsoft hier niet vertrouwd en zegt dat dit een "marketingtruc" is (wat me zou verbazen op een technisch georiënteerde site bedoeld voor systeembeheerders), zou ik menen dat het systeem op sudo lijkt. Standaard niet-gepriviligeerde gebruiker, proces moet vragen voor authentificatie, wordt dan geëleveerd naar administratorrechten.
Sinds NT zitten gebruikers en groepen goed ingebakken in het systeem (op kernelniveau als ik me niet vergis, maar ik ben hier geen specialist in) -- samen met rechten. NTFS is zelfs volledig POSIX-compatibel, inclusief POSIX ACLs.
Uiteraard hangt het er ook van af hoe sterk je UAC/sudo instelt. UAC staat standaard nogal laag, terwijl je bij sudo overal een wachtwoord voor nodig hebt. Uiteraard kan je sudo zo configureren dat er geen wachtwoord nodig is, of UAC zodat er altijd een wachtwoord nodig is. Veel gebruikers vinden de dialoogjes vervelend en zetten die dus uit, ik, met een Unixachtergrond zet de dialoogjes op maximaal en vereis een wachtwoord bij iedere actie.
Iets in de startup items zetten (programma's die gestart worden als een gebruiker inlogt) heeft op geen enkel operating system administratorrechten nodig.
Uiteraard wil ik toegeven dat misschien, omdat het systeem van Windows recenter is dan dat van Unix dat er nog een paar foutjes en/of exploits in zitten die nog niet helemaal zijn weggewerkt, maar om te zeggen dat een programma zomaar volledig met admistratorrechten kan starten onder Windows -- die tijd is al lang voorbij.