1 🛡️ RootAsRole (Die RBAC-Evolution für Linux-Privilegien)
Wenn du einem Benutzer über sudo das Recht gibst, einen Texteditor (z. B. vi oder nano) aufzurufen, um eine Systemkonfiguration zu bearbeiten, erhält dieser Editor die volle Identität des Superusers (UID 0). Über einen einfachen Shell-Escape im Editor (wie :sh in vi) kann der Benutzer sofort eine unbeschränkte Root-Shell öffnen. Das Prinzip der geringsten Rechte wird komplett ausgehebelt.
RootAsRole (RaR) eliminiert dieses Design-Dilemma durch feingranulare Kapselung.
Anstatt die Identität zu wechseln, arbeitet RaR mit Rollen (Roles) und Aufgaben (Tasks).
Benötigt ein Tool lediglich das Recht, Netzwerkschnittstellen zu überwachen, übergibt RaR dem Befehl ausschließlich die Kernel-Berechtigung CAP_NET_RAW. Der Prozess bleibt im Kontext eines normalen Benutzers gefangen – selbst wenn die Anwendung kompromittiert wird, kann kein Angreifer das gesamte System übernehmen.
Dank der vollständigen Migration zu Rust und der Nutzung von CBOR-basierten Konfigurationsdateien arbeitet RaR im Jahr 2026 bei großen Regelwerken bis zu 77 % schneller als sudo.
2 🏗️ DIE SPEZIFIKATION: WO KANN ES INSTALLIERT UND VERWENDET WERDEN?
Da RootAsRole im Userspace agiert und auf standardisierte Kernel-Schnittstellen (POSIX Capabilities, Pluggable Authentication Modules) aufbaut, ist es extrem flexibel portierbar.
2.1 1. Unterstützte Betriebssystem-Familien
- Linux (Core-Plattform):
Vollständig unterstützt auf allen modernen Distributionen mit Kernel >= 4.x. Es nutzt die nativen Linux-Capabilities (libcap). - Unix-Derivate / BSD:
Experimentell einsetzbar, sofern das Zielsystem POSIX-konforme Zugriffskontrolllisten und PAM unterstützt.
3 📦 INSTALLATIONSBEFEHLE FÜR DIE „FANTASTISCHEN VIER“
3.1 1️⃣ Debian 13 „Trixie“ (und Ubuntu / Linux Mint)
Da RootAsRole im Jahr 2026 fertige .deb-Pakete für Debian/Ubuntu-Systeme über GitHub bereitstellt, ist dies der sauberste und schnellste Weg:
# 1. System aktualisieren und notwendige Transport-Werkzeuge sichern
sudo apt update && sudo apt install -y wget
# 2. Das aktuelle .deb-Paket (v3.0.0 oder neuer) direkt vom offiziellen Repository beziehen
wget https://github.com/LeChatP/RootAsRole/releases/download/v3.0.0/rootasrole_3.0.0_amd64.deb
# 3. Paket über das System installieren (löst Abhängigkeiten wie libc6, pcre2 und pam automatisch auf)
sudo apt install ./rootasrole_3.0.0_amd64.deb
# 4. Überprüfung, ob das Steuerungstool "chsr" und der Ausführungsbefehl "dosr" bereitstehen
dosr --version
chsr --help
Display More
3.2 2️⃣ Fedora
Fedora-Nutzer nutzen das offizielle, vorkompilierte .rpm-Paket des Projekts:
# 1. Das offizielle RPM-Paket herunterladen
wget https://github.com/LeChatP/RootAsRole/releases/download/v3.0.0/rootasrole-3.0.0-1.x86_64.rpm
# 2. Installation über DNF anstoßen
sudo dnf install ./rootasrole-3.0.0-1.x86_64.rpm
# 3. Funktionstest
dosr --version
3.3 3️⃣ Arch Linux
Unter Arch Linux läuft die Bereitstellung am stabilsten, wenn das Tool direkt aus den Quelltexten mittels der Rust-Toolchain fest ins System gegossen wird:
# 1. Die benötigten C-Bibliotheken (pcre2, pam) und Git/Rust installieren
sudo pacman -Sy --needed git rust pcre2 pam clang
# 2. Das offizielle GitHub-Repository clonen und in das Verzeichnis wechseln
git clone https://github.com/LeChatP/RootAsRole.git
cd RootAsRole
# 3. Die Installation mittels der integrierten Cargo-Xtask-Routine ausführen.
# Der Parameter "-bip sudo" sorgt dafür, dass RaR mit vollen administrativen
# Rechten für den installierenden User als Sudo-Ersatz initialisiert wird.
cargo xtask install -bip sudo
# 4. Funktionstest
dosr --version
Display More
3.4 4️⃣ openSUSE (Tumbleweed / Leap)
Für openSUSE gibt es keine separaten RPMs im Upstream, weshalb hier der universelle, aber hochpräzise Kompilierweg via cargo herangezogen werden muss:
# 1. Alle benötigten Entwickler-Abhängigkeiten und die Rust-Infrastruktur installieren
sudo zypper install -y git cargo clang libpcre2-devel pam-devel
# 2. Quellcode herunterladen und Verzeichnis betreten
git clone https://github.com/LeChatP/RootAsRole.git
cd RootAsRole
# 3. Das System kompilieren und systemweit einrichten
cargo xtask install -bip sudo
# 4. Terminal-Pfad aktualisieren oder neu einlesen und testen
dosr --version
Display More
4 🛠️ DER ERSTE SCHRITT NACH DER INSTALLATION
Nachdem die Befehle durchgelaufen sind, steht das System bereit. Um zu zeigen, wie man nun eine echte Rolle (z. B. für das System-Update) anlegt, ohne sudo zu nutzen, fügst du diesen Block an:
# 1. Erstelle eine neue Aufgabe (Task) namens "sys-update", die dnf/apt ausführen darf
chsr task add sys-update --cmd "/usr/bin/apt update" --cmd "/usr/bin/apt upgrade"
# 2. Erstelle eine Rolle "admin-light" und weise ihr die Aufgabe zu
chsr role add admin-light --task sys-update
# 3. Erlaube deinem Benutzer diese Rolle einzunehmen
chsr actor add user dein_username --role admin-light
# 4. Ausführung ohne sudo, rein über die gekapselte Rolle:
dosr -r admin-light apt update
Display More
5 🛠️ Verwendung in der Praxis
Die Syntax von RootAsRole unterscheidet sich grundlegend von sudo. Statt einer flachen Textdatei (/etc/sudoers) wird das System über CLI-Befehle oder JSON-Strukturen orchestriert.
# 1. Einen Befehl über eine spezifische Rolle ausführen (Default: dosr)
dosr <befehl>
# 2. Eine Umgebungsvariable gezielt an eine Rolle übergeben (Standardmäßig isoliert RaR die Env)
dosr -r env [befehl]
# 3. Eine automatisierte Aufgabe (z.B. im Cron-Job) mit einer expliziten System-Rolle starten
dosr -r auto -t cron_reboot reboot
# 4. Das Konfigurationswerkzeug aufrufen, um Rollen und Capabilities zu verwalten
chsr --help
Display More
6 ⚠️ DIE TYPISCHEN RAR-STOLPERSTEINE
6.1 Das „Habit-Dilemma“ (Das Muskelgedächtnis der User)
- Das Problem:
Administratoren beschweren sich, dass sie nach der Installation von RootAsRole aus Gewohnheit immer noch permanent sudo in das Terminal eintippen. Die Lösung: Man kann temporär einen Alias anlegen, um das Muskelgedächtnis sanft umzuerziehen:
6.2 Das Zusammenspiel mit LSMs (SELinux / AppArmor)
- Das Problem:
Ein Nutzer glaubt, dass er RootAsRole nicht braucht, weil er bereits SELinux oder AppArmor im Enforcing-Modus betreibt. - Die Ursache:
Architektonisches Missverständnis. Linux Security Modules (LSM) können Rechte nur verweigern, sie können einem Prozess aber keine gezielten Kernel-Capabilities zuweisen. - Tipp:
RootAsRole wird genutzt, um dem Benutzer exakt die benötigten Privilegien zu gewähren, während SELinux/AppArmor im Hintergrund darüber wacht, dass der Prozess seine erlaubten Pfade (Dateizugriffe) nicht verlässt.
7 📝 FAZIT
RootAsRole ist die Speerspitze moderner Linux-Härtung. Es ist kein Tool für Linux-Anfänger, sondern eine hochprofessionelle Infrastruktur für Admins, die Server oder Produktivsysteme nach dem Zero-Trust-Prinzip absichern wollen.