{{Header}} {{title|title= Unrestricted Admin Mode }} {{#seo: |description={{project_name_short}} allows configuration for unrestricted admin mode, enabling the default user account to access privilege escalation tools like sudo and pkexec. }} {{passwords_mininav}} {{intro| In {{project_name_short}}, admin access is restricted by default for greater security. However, '''unrestricted admin mode can be configured'''. Read more about unrestricted admin mode and how to configure {{project_name_short}} to suit your needs. }} __FORCETOC__ = Overview = '''Unrestricted admin mode''' is, in some regards, the opposite of [[sysmaint|user-sysmaint-split]]. In unrestricted admin mode, standard methods to perform tasks that require administrative rights, such as sudo and pkexec, are available for the {{project_name_short}} default limited account user. Most other operating systems do not include user-sysmaint-split by default, so they do not refer to this as "unrestricted admin mode". In such systems, unrestricted admin mode is implied. However, {{project_name_short}} provides the flexibility to switch between user-sysmaint-split and unrestricted admin mode based on your needs. Starting from {{project_name_short}} version TODO Xfce and above, {{project_name_short}} includes [[sysmaint|user-sysmaint-split]] by default. = Uninstalling user-sysmaint-split and Enabling Unrestricted Admin Mode = As the new default for {{project_name_short}} is [[sysmaint|user-sysmaint-split]], '''unrestricted admin mode''' must be specifically enabled. This section documents how to disable user-sysmaint-split and switch to unrestricted admin mode, where the user user can use sudo. {{Box|text= {{Icon|fa-solid fa-exclamation cs-yellow}} '''Optional. Discouraged.''' Warnings: * Reverting to unrestricted admin mode increases the risk of privilege escalation attacks and may weaken system security. * It is discouraged to use apt for this purpose to avoid meta package removal issues. (Problems that can occur when important packages are removed together. For elaboration, see [[Debian Packages]].) Instead, it is recommended to proceed as per the instructions below. }} Platform specific. Select your platform. {{Tab |type=controller |content= {{Tab |title= == {{project_name_short}} == |image=[[File:{{project_name_short}}-logo-icon.svg]] |content= {{Box|text= If the user-sysmaint-split package is installed by default, the easiest way to remove it is by using the {{BootEntries|key=sysremove}} boot option on the GRUB screen. '''1.''' Reboot the machine. '''2.''' Select {{BootEntries|key=sysremove}} from the list of boot options. '''3.''' Authenticate as necessary to log in as the sysmaint account. You may have to provide a disk encryption passphrase and/or the user password for the sysmaint account, if either or both passwords are set. '''4.''' Type the word yes into the dialog box confirming that you really do want to uninstall user-sysmaint-split. '''5.''' Click "OK". A terminal window will appear, showing the logs generated while uninstalling user-sysmaint-split. '''6.''' When the text Command exited. You may close this window safely appears, close the terminal window. The system will automatically reboot. '''7.''' Done. The process of removing user-sysmaint-split is now complete. }} Alternatively, you can use [[Debian_Packages#dummy-dependency|dummy-dependency]] to remove the user-sysmaint-split package while booted in {{BootEntries|key=syspers}} (a special startup mode used for system changes). The --purge option is optional and not required in this case when using dummy-dependency, because user-sysmaint-split has been designed without configuration files in the /etc folder. Instead, user-sysmaint-split uses symlinks, which are deleted upon removal. This design ensures that a standard apt remove user-sysmaint-split will not result in unexpected functionality, such as parts of user-sysmaint-split (e.g., boot menu entries) still being active. {{CodeSelect|code= sudo dummy-dependency user-sysmaint-split }} }} {{Tab |title= == {{q_project_name_long}} == |image=[[File:Qubes-logo-icon.png]] |content= {{Box|text= '''1.''' Qubes version specific. * Qubes R4.2: Open a [[Root#Qubes_Root_Console|Qubes Root Console]]. * Qubes R4.3 and above: Ensure that the {{project_name_workstation_template}} Template is booted in {{BootEntries|key=syspers}} (a special startup mode used for system changes). '''2.''' Run: {{CodeSelect|code= sudo dummy-dependency user-sysmaint-split }} '''3.''' Install qubes-core-agent-passwordless-root to allow the user account to elevate to root. {{CodeSelect|code= sudo apt install qubes-core-agent-passwordless-root }} '''4.''' Shut down the Template. '''5.''' Reboot any AppVMs that are based on the Template. '''6.''' Done. The process of removing user-sysmaint-split is now complete. }} }} }} = Impact of unrestricted admin mode = Uninstalling user-sysmaint-split removes the sysmaint mode-related [[Grub|GRUB]] boot menu modifications and reverts back to a "normal" boot menu. Unrestricted admin mode is now the default. Security impact? This is hard to quantify. It is important to understand that user-sysmaint-split is an additional security feature, not a silver bullet. The security concept of user versus administrative account isolation, implemented by the user-sysmaint-split package, is a standard feature on mainstream mobile operating systems such as Android and iOS. These mobile operating systems limit the rights of the device owner and reserve full administrative access for the device manufacturer (OEM). The purpose of this, among other security aspects, is to enforce [[Miscellaneous_Threats_to_User_Freedom#mobile_devices_restrictions|mobile device restrictions]], prioritizing the wishes of OEMs and application developers over user preferences. See also the [[Miscellaneous_Threats_to_User_Freedom|General Threats to User Freedom]] wiki chapter [[Miscellaneous_Threats_to_User_Freedom#Administrative_Rights|Administrative Rights]]. user-sysmaint-split improved security in many contexts. For example, if a user is using a dedicated {{VM}} in a session only for web browsing, then there is no need for that VM to ever gain root rights. However, in other contexts such as on a server or development environment, user-sysmaint-split might offer little or no additional security, or degrade usability to unproductive levels. There have been times when user-sysmaint-split was unavailable and nothing catastrophic occurred. At worst, this reduces the security level to {{project_name_short}} versions equal to or lower than version 17.2.8.5. See also [[Root#Rationale_for_Protecting_the_Root_Account|Rationale for Protecting the Root Account]]. = Optional Restrictions = After removal, the user can configure sudo and/or other privilege escalation tools as usual. = Footnotes = {{Footer}} [[Category: Design]] [[Category: Development]]