Overview
Before Windows XP was released, previous versions of Windows targeted at the consumer audience (such as Windows 95, Windows 98 and Windows Me) were all single user operating systems where the user had super user rights. Windows XP, on the other hand, is a multi-user operating system based on Windows NT. This allowed for different user levels and permissions.
However, in Windows XP the first user created when installing the operating system is given administrative privileges by default. As such, most users would use this account for everyday use. This ensured that all software, including malware, was also running with administrator privileges as well, thereby giving it full access to the operating system.
Many legacy Windows applications and even new Windows applications were or are not designed to work without full administrator privileges.[3] Running these as a standard user or even as a power user could lead to errors or strange behavior. As such, it was often normal practice to give users full administrator access when running normally.
With User Account Control in Windows Vista and Windows Server 2008, actions that can affect the security and stability of the operating system require the input of an administrator name and password before they are executed. If the user is an administrator, they are not asked to re-enter their password. Instead, a dialog box is shown with the choices to allow or deny the action.
When logging into Windows as a standard user, a logon session is created and a token containing only the most basic privileges is assigned. In this way, the new logon session is incapable of making changes that would affect the entire system. When logging in as a user in the Administrators group, two separate tokens are assigned. The first token contains all privileges typically awarded to an administrator, and the second is a restricted token similar to what a standard user would receive. User applications, including the Windows Shell, are then started with the restricted token, resulting in a reduced privilege environment even under an Administrator account. When an application requests higher privileges or "Run as administrator" is clicked, UAC will prompt for confirmation and, if consent is given, start the process using the unrestricted token.[4]