#cli #sudo #auth

app rudo

A utility to gain privilege access on Unix system with Pam

15 releases (6 breaking)

new 0.8.2 Apr 20, 2021
0.7.1 Apr 5, 2021
0.6.1 Mar 31, 2021

#20 in Authentication

Download history 11/week @ 2021-03-09 49/week @ 2021-03-16 59/week @ 2021-03-23 161/week @ 2021-03-30 61/week @ 2021-04-06 76/week @ 2021-04-13

139 downloads per month


964 lines


GitHub release (latest SemVer) Crates.io Crates.io CI CI-Analyze Security-audit GitHub issues GitHub commit activity Lines of code


Rudo "Rust User do" allows a system administrator to give certain users the ability to run some commands as root or another user while logging all commands, and it's arguments.
Compile with rust 1.43 and later, on ubuntu-20.04 and macos-10.15, as test in CI. 2021-04-17




  • You can give Rudo a command to execute like rudo some-command with-args
  • You can invoke a shell with rudo -s or rudo --shell
  • You can change the user to impersonate with rudo -u some-user or rudo --user some-user
  • You can edit document with the editor specify in your environment variable with rudo -e some-document or rudo --edit some-document
  • You can log debug journal with rudo -d or rudo --debug
  • You can start the user greeting with rudo -g or rudo --greeting
  • You can log debug or info messages to journald on Linux or to oslog on macOS


  • The config file is in YAML and must be at /etc/rudo.conf or it will be created
  • Invalid file will be REMOVE and REPLACED with default
  • You can change the user to impersonate
  • You can change the group the user must be member to have authorization
  • You can remove the password obligation at your own risk
  • You can remove the greeting of the user
  • You can decide which user is authorized to use Rudo


You need to change the owner of the binary to root for now to make it work, except copr package

  • sudo chown root:root
  • sudo chmod 4755


GPLv2 or later


No security audit was perform on Rudo


~50K SLoC