Run0 vs Sudo: wat is het verschil?

Run0 vs Sudo: wat is het verschil?
Een foto van een monitor met een terminalprompt met de opdracht

Run0 is een nieuw privilege escalation-programma voor Systemd-gebaseerde Linux-systemen. Vergelijkbaar met sudo, kunt u hiermee opdrachten uitvoeren als rootgebruiker en toegang krijgen tot de interne onderdelen van uw machine. In dit artikel vergelijken we Run0 met Sudo om u te helpen bepalen welke privilege escalation-tool het beste bij u past.

Run0 vs Sudo: een vergelijking naast elkaar

Categorie Uitvoeren0 Sudo
Configureerbaarheid Wordt niet geleverd met een configuratiebestand. Gebruikt opdrachtregelvlaggen om zijn gedrag te wijzigen Wordt geleverd met twee configuratiebestanden en veel opdrachtregelvlaggen
Makkelijk te gebruiken Eenvoudig en duidelijk te gebruiken voor de meeste taken Er is mogelijk enige configuratie nodig voordat het goed werkt
Beveiliging Is niet afhankelijk van SUID en heeft een kleinere codevoetafdruk Vertrouwt op SUID en heeft een groter aanvalsoppervlak vanwege de codegrootte
Uitbreidbaarheid Biedt geen ondersteuning voor plug-ins van derden Heeft een API voor het ontwikkelen van plug-ins van derden
Netwerkondersteuning Ontworpen om op één machine te draaien Kan werken met computernetwerken met behulp van gecentraliseerd toegangsbeleid
Best voor Casual gebruikers die op zoek zijn naar een eenvoudiger Sudo-alternatief Power users die op zoek zijn naar een betrouwbare optie die ze kunnen aanpassen

Wat is Run0 en waarom zou je het gebruiken?

Run0, uitgebracht in versie 256 van Systemd, is een unieke kijk op privilege-escalatie voor Linux. Het gebruikt Systemd-run om een ​​veilige en geïsoleerde omgeving te creëren voor het uitvoeren van programma’s met root-privileges.

Het belangrijkste verkoopargument van Run0 is dat het niet afhankelijk is van setuid (SUID) om root-opdrachten uit te voeren. Dit maakt het programma immuun voor privilege escalation-aanvallen die veel voorkomen bij grote SUID-programma’s.

Een terminal die de setuid-eigenschappen van het sudo-binaire bestand vergelijkt met run0.

Een ander verkoopargument van Run0 is dat het zijn authenticatieagent overdraagt ​​aan Polkit. Dit programma beheert de beleidsinstellingen van apps op uw systeem. Het centraliseert niet alleen authenticatie op uw machine, maar geeft u ook meer controle over hoe programma’s en gebruikers root-toegang verkrijgen.

Ten slotte creëert Run0 een nieuwe pseudo-TTY (PTY) wanneer u een bevoorrechte opdracht aanroept. Dit betekent dat programma’s de huidige shell-omgeving niet erven, waardoor het eenvoudig is om een ​​slecht functionerend proces op uw systeem te isoleren.

Een terminal die het PTY-rootproces markeert dat wordt weergegeven in de systemctl van het systeem.

Wat is Sudo en waarom zou je het gebruiken?

Sudo is een van de eerste privilege-escalatieprogramma’s voor Linux en andere UNIX-achtige besturingssystemen. Het werd voor het eerst ontwikkeld in de jaren 80 en gebruikt het ingebouwde UNIX-gebruikers- en groepensysteem om root-privileges voor systeemopdrachten te beheren.

Een belangrijk verkoopargument van sudo is dat het een alles-in-één oplossing is voor privilege-escalatie en permissies. Hiermee hoeft u alleen het sudoers-bestand te configureren om te beheren wie een supergebruiker kan zijn en welke programma’s ze als root kunnen uitvoeren. Dit maakt het aantrekkelijk voor systeembeheerders die een gestroomlijnde manier willen om root-toegang te beheren.

Een terminal die de inhoud van het sudoers-bestand toont.

Een andere reden om sudo te gebruiken is dat het de geschiedenis van systeemopdrachten die op uw machine zijn uitgevoerd, kan controleren en bekijken, over verschillende superusers heen. Dit is handig bij het oplossen van problemen, omdat het kan wijzen op het exacte moment waarop het systeem een ​​probleem had.

Een terminal met de uitvoer van de opdracht sudoreplay, met een lijst van alle sudo-opdrachten die op het systeem zijn uitgevoerd.

Ten slotte is sudo eenvoudig te schalen over meerdere hosts met zijn ingebouwde LDAP- en Active Directory-ondersteuning. Daarom kan sudo ook een geweldige tool zijn voor beheerders die meerdere machines beheren voor teams en bedrijven.

Run0 vs Sudo: een uitgebreide vergelijking

Hoewel Run0 en Sudo briljante tools zijn om gebruikersrechten te verhogen, hebben beide programma’s verschillende benaderingen gebruikt om dit te bereiken. Hieronder bekijken we enkele van die verschillen om u te helpen bepalen welke het beste bij u past.

Configureerbaarheid

In tegenstelling tot andere privilege-escalatieprogramma’s gebruikt Run0 geen configuratiebestanden om het standaardgedrag te wijzigen. In plaats daarvan past u het aan met een handvol ingebouwde vlaggen terwijl u het op de terminal uitvoert. Hierdoor kunt u zich concentreren op uw workflow in plaats van vast te zitten in het tweaken van configuratiebestanden.

Een terminal met het helpscherm voor run0.

Aan de andere kant biedt sudo veel opties in zijn twee primaire configuratiebestanden: “/etc/sudo.conf” en “/etc/sudoers.” Beide werken hand in hand om te bepalen hoe sudo op uw systeem werkt. U kunt sudo bijvoorbeeld zelfs configureren om zonder wachtwoord te draaien. Hoewel dit verwarrend kan zijn voor een nieuwe gebruiker, stelt dit niveau van flexibiliteit en aanpassing u in staat om hun eigen aangepaste sudo-workflow te maken.

Een terminal met de inhoud van het sudo.conf-bestand.

Winnaar: Sudo

Makkelijk te gebruiken

De meeste Linux-distributies leveren tegenwoordig Run0 en Sudo met verstandige standaardinstellingen, waardoor ze eenvoudig te gebruiken zijn zonder extra configuratie. Dat gezegd hebbende, zijn er nog steeds een handvol bruikbaarheidsafwijkingen tussen de twee programma’s die voor sommige gebruikers een dealbreaker kunnen zijn.

De grootste eigenaardigheid van Run0 komt voort uit de afhankelijkheid van Polkit voor authenticatie. In sommige terminals kan Run0 de wachtwoordprompt op een ander scherm weergeven. Dit kan een probleem zijn als u een terminalmultiplexer, zoals Tmux, gebruikt om meerdere shellsessies te beheren.

Een screenshot van de Polkit-prompt voor een run0-aanvraag op een gemultiplexte terminal.

Ondertussen is Sudo’s grootste eigenaardigheid dat het je niet toestaat om het sudoers-bestand te bewerken via een gewone teksteditor. In plaats daarvan vraagt ​​het je om een ​​programma genaamd Visudo te gebruiken, dat integriteitscontroles toevoegt aan het sudoers-bestand. Hoewel dit het bewerken van het sudoers-bestand veiliger maakt, kan dit onnodig complex zijn voor een gewone gebruiker die alleen root-machtigingen wil beheren.

Een terminal met het helpscherm voor het hulpprogramma Visudo.

Winnaar: Run0

Broncodegrootte

De totale omvang van de broncode van een programma is een goede indicator van hoe complex het momenteel is. Dit is belangrijk voor privilege escalation-programma’s, aangezien codecomplexiteit kan leiden tot potentiële beveiligingsexploits.

Een verschil van Run0 vergeleken met andere privilege escalation apps is dat het is gebouwd op Systemd-run. Dit zorgt er niet alleen voor dat Run0 kan profiteren van de functies van Systemd-run, maar het betekent ook dat het programma zelf niet veel code bevat. Als gevolg hiervan is Run0 gemakkelijker te controleren op mogelijke beveiligingsproblemen in de toekomst.

Een terminal die de zin op de manpagina van Run0 markeert, waarin wordt beschreven dat het bovenop Systemd-run is gebouwd.

Sudo is een enorm softwareproject dat meerdere bestanden en programmeertalen beslaat. Hoewel deze complexiteit sudo een krachtige privilege-escalatie-app maakte, betekent het ook dat het een enorm aanvalsoppervlak heeft voor potentiële exploits.

Een terminal met alle regels code uit de sudo Github-repository.

Winnaar: Run0

Broncode Leeftijd

De leeftijd van een bepaald softwareproject is ook een factor bij het kijken naar hoe betrouwbaar een privilege escalation-programma zal zijn. Nieuwere projecten zitten vaak vol met meer bugs en problemen, terwijl oudere projecten over het algemeen stabieler zijn.

Run0 is een relatief nieuw programma dat in juni 2024 aan Systemd is toegevoegd . Momenteel kun je de app alleen verkrijgen op bleeding edge distro’s zoals Arch Linux en Fedora Rawhide. Daardoor is Run0 meer geschikt voor casual en niet-missiekritisch werk.

Sudo is een van de oudste softwareprojecten die nog steeds wordt ontwikkeld. Met meer dan 30 jaar aan ontwikkelingsgeschiedenis is sudo een zeer volwassen programma dat verschillende workloads aankan. Dit maakt het zeer wenselijk voor degenen die op zoek zijn naar een stabiel privilege escalation-programma waarop ze kunnen vertrouwen.

Winnaar: Sudo

Run0 vs Sudo: welke app wint?

Uiteindelijk hangt de keuze van het juiste privilege-escalatieprogramma af van wat u met uw systeem wilt bereiken:

  • Als u op zoek bent naar een eenvoudig te gebruiken en eenvoudige privilege escalation app , dan is Run0 een goede keuze. De combinatie van het config-loze ontwerp en de aanpak om root-processen te isoleren, maakt het geweldig voor gewone gebruikers die op zoek zijn naar een no-nonsense Sudo-alternatief.
  • Als u een aanpasbare en stabiele privilege escalation app wilt , kunt u met Sudo niets verkeerd doen. Met zijn decennialange ontwikkelingsgeschiedenis en rijkdom aan functies is het heel eenvoudig om Sudo aan te passen aan uw eigen workflow.

Het kiezen van de juiste privilege escalation app voor uw machine is slechts de eerste stap in het begrijpen hoe een superuser werkt in Linux. Duik dieper in de interne werking van uw machine en ontdek hoe Su verschilt van Sudo.

Beeldmateriaal: Gabriel Heinzer via Unsplash . Alle wijzigingen en screenshots door Ramces Red.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *