{{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]]