A Brief Introduction for sudo alternatives -- doas and polkit
Introduction
sudo is a commonly used linux command which grants a command with root
permission temporarily. However, as its code is bloated and complicated
settings, it usually happens of misconfiguration, not mention to commonly
reports about vulnerabilities including the latest one [1].
Alternatives of sudo
As a consequence, there are many alternatives of sudo not only to avoid
security vulnerabilities but also configuration in simplicity.
doas
On famous substitution is doas. Originated from freeBSD, doas aims to
provide a lightweighted package and less complex setting for grant root
permission [2].
If you want to try doas, you can install it either with your distro’s
package manager or here.
polkit
Seen commonly in RHEL distro, polkit is yet-another substitution of
sudo. Unlike sudo, it does not grant root permission to a whole
process, but allows a finer control of control of centralized
system policy [3].
What’s more, polkit restricts actions – such as running dd – and
users by group or by name. [3]
Conclusion
sudo is used for granting temporary root permission for a process.
However, due to its complex configuration and code size, we often get
the news about its vulnerabilities. As a result, there are a lot of
sudo substitution aims either simple configuration or less code size,
or even both. In this article, I introduce two of them: doas and polkit.
Nevertheless, many of sudo substitution, including doas and polkit,
are not fully tested in harsh condition. So if you want to use these
alternatives in production, measure your risk!
Reference
[1] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3156
[2] https://wiki.gentoo.org/wiki/Doas
[3] https://wiki.archlinux.org/index.php/Polkit