sudo is the commonly used program for tasks requiring administrator access in Linux. But in case there is an error with the sudo command or if the sudoers file is invalid, or certain programs are blocked by sudo access, users can make use of a similar command line tool —
pkexec runs in similar way as sudo:
pkexec <command> # Where <command> is the program to be run with super user access.
To be able to use
pkexec, make sure that either you (or some other user) has the authority to run programs as
root on the system. When you run the
pkexec command, you’ll be aksed to enter the password for a user who is authorized to run programs with root privileges.
If you’ve physical (GUI) access to the machine, you will even get a GUI prompt to select a user to authenticate
root privilege and execute the
Note: This prompt is actually opened by an already registered Authentication Agent by the program. All Policy Kit program register similar agents themselves.
To run the command as some other user, use the
pkexec --user <username> <command> # Where <username> is the user to run the <command> as.
Fixing sudoers file using pkexec
pkexec can be a lifesaver when you’ve messed up the sudoers file on your system. You can run the
visudo program using
pkexec and fix any issues with the sudoers file to restore