doas, das kleine sudo

sudo (Akronym für “substitute user do” und nicht falsch “superuser do”) sollte jeder Linux-User kennen, auch wenn der eine oder andere administrative Tätigkeiten vielleicht doch mit root-Account durchführt.

devil geht in seinem Blogpost auf doas (“do as”), adaptiert von OpenBSD, ein.

In den Debian-, Ubuntu-, Fedora-Repositories liegt es nicht, auch nicht in Ubuntu-PPAs, wohl aber als opendoas in den Arch-Repositories. Upstream-URL linkt auf einen Fork eines anderen seit Jahren nicht mehr angefaßten github-Repos. Beim Fork passiert seit 9 Monaten aber auch nichts mehr. Das muß die eine sagenumwobene Software sein, die absolut fehlerlos und nicht verbesserbar ist.

Wie auch immer, ich hab’s eben mal spaßeshalber (verwenden werde ich’s nicht) aus https://github.com/Duncaen/OpenDoas in einer noch herumliegenden LBionic-VM kompiliert, aber im letzten Schritt des bekannten “Dreisatzes” Ubuntu-typisch mit checkinstall statt “make install” (ist auch unter Debian möglich). So erhält man ein .deb-File.

Wer’s unter Ubuntu(-Derivaten)/Debian selbst ausprobieren möchte:

  1. Installation zum Kompilieren nötiger Pakete:
    1
    
    sudo apt install build-essential checkinstall git byacc

    Es ist darauf zu achten, tatsächlich byacc zu installieren, mit btyacc bricht make mit errors ab.

  2. Clonen des Source Codes aus dem git-Repository mit der Tiefe 1:
    1
    
    git clone git://github.com/Duncaen/OpenDoas --depth 1
  3. Ins Verzeichnis wechseln:
    1
    
    cd OpenDoas/
  4. Der “Dreisatz”:
    1
    2
    3
    
    ./configure
    make -j2
    sudo checkinstall -D --install=no --backup=no --maintainer=user --pkgname=opendoas

    “-j 2” steht für 2 dafür zu verwendende Kerne, man könnte stattdessen bspw. auch “-j $(nproc)” für saemtliche setzen oder die Option auch weglassen. Das Ganze hier ist aber dermaßen klein, da genügt auch ein “halber”. ;)

    Gäbe es bereits ein Paket namens opendoas in der Distribution, sollte man das eigene anders benennen (z.B. mit einem kurzen Zusatz) oder eine höhere Version setzen. Das nur als generellen Nebenhinweis, falls man auch andere Pakete kompilieren will.

  5. Installation:
    1
    
    sudo dpkg -i opendoas*.deb
  6. Sich selbst bzw. den gerade eingeloggten User der Konfigurationsdatei hinzufügen:

    1
    
    echo "permit :$USER" | sudo tee /etc/doas.conf

    Statt der Variable $USER kann man natürlich den Usernamen direkt einsetzen, auch einen anderen, der fürderhin doas-berechtigt sein soll.

    Ein testweises “doas nano” funktioniert, manpage, sofern während der Kompilierung nicht abgewählt, auch:

    1
    
    man doas