sudo is waarschijnlijk een van de meest gebruikte Linux-commando's. Hiermee kunt u beheerdersrechten of verhoogde rechten verkrijgen op een Linux-machine.
Normaal gesproken hebt u verhoogde bevoegdheden nodig om acties uit te voeren, zoals het installeren van software, het beheren van services en het verwijderen van kritieke systeembestanden. Maar wist je dat er alternatieven zijn voor het sudo-commando op Linux?
Waarom Linux-opdrachten uitvoeren als een andere gebruiker?
sudo is een zeer belangrijke opdracht omdat u hiermee opdrachten kunt uitvoeren met superuser-privileges. Standaard hebben niet-rootgebruikers normaal gesproken beperkte toegang tot bronnen en bestanden op Linux.
Het beperken van de toegang tot gebruikers op Linux is zeer belangrijk om de volgende redenen:
- Controle: Hiermee kunnen beheerders of de eigenaars van het systeem specifieke toegang verlenen tot bepaalde bestanden en programma's. Dit is goed voor de systeemstabiliteit, privacy en algehele prestaties.
- Beveiliging: Door de toegang tot bepaalde delen van het systeem te beperken, wordt voorkomen dat het systeem per ongeluk wordt verwijderd of gewijzigd. En het ook vermindert het aanvalsoppervlak van het systeem.
sudo werkt prima en doet veel meer dan waar de meeste mensen het voor gebruiken. Helaas maakt dit het erg opgeblazen.
Gelukkig zijn er, zoals met de meeste dingen op Linux, enkele geweldige alternatieven voor het sudo-commando, en hier zijn er enkele.
1. pkexec
De opdracht pkexec (PolicyKit Executive) is een front-end implementatie van het PolicyKit-framework, dat een reeks regels biedt voor het toekennen van rechten aan gebruikers en processen.
Met pkexec kunt u een opdracht uitvoeren met de rechten van een andere gebruiker of rol, op basis van de regels die zijn gedefinieerd in een gespecificeerd beleid.
De pkexec-tool is al geïnstalleerd op Ubuntu en andere grote Linux-distributies. In het geval dat het niet is geïnstalleerd, kunt u het als volgt installeren.
Voer op op Debian gebaseerde systemen het volgende uit:
sudo geschikt update && sudo geschikt installeren beleidspakket-1
Voer op RHEL en vergelijkbare distro's het volgende uit:
sudo dnf installeren beleidspakket
Gebruik op op Arch gebaseerde Linux-distributies de volgende opdracht:
sudo sudo pacman -S beleidskit
Hoe pkexec te gebruiken
Om pkexec te gebruiken, moet u eerst het sleutelwoord pkexec specificeren, gevolgd door de opdracht die u wilt uitvoeren, gevolgd door eventuele argumenten of opties die de opdracht vereist.
Bijvoorbeeld om te installeren het grappige Linux-programma: cowsay op uw systeem met supergebruikersrechten, zou u het volgende gebruiken:
pkexec geschikt installeren koe zeggen
U kunt ook een gebruiker of rol specificeren om de rechten van over te nemen, door gebruik te maken van de --gebruiker optie gevolgd door de naam van de gebruiker of rol. Om bijvoorbeeld de voorgaande opdracht uit te voeren met de rechten van de admin-gebruiker, gebruikt u de volgende opdracht:
pkexec --user admin kan cowsay installeren
U moet ook het wachtwoord invoeren van de gebruiker of rol die u in de opdracht hebt opgegeven. Als u niet over de benodigde machtigingen beschikt, krijgt u een foutmelding.
2. doen als
Het doas-commando vindt zijn oorsprong in het OpenBSD-besturingssysteem. Hiermee kunt u een opdracht uitvoeren met de rechten van een opgegeven gebruiker of rol.
Het lijkt veel op het sudo-commando, maar het is modern, zeer licht van gewicht en eenvoudig te configureren omdat het beknopte en leesbare instructies gebruikt.
Als dat niet zo is, hier is hoe je doas op Linux kunt installeren.
Doas configureren op Linux
In tegenstelling tot de sudo En pkexec commando's, moet u een nieuw geïnstalleerd exemplaar van doas configureren voordat u het gaat gebruiken. Het configuratiebestand bevindt zich op /etc/doas.conf. Als het configuratiebestand niet bestaat, maak er een met behulp van de aanraakopdracht of een ander programma naar keuze.
Om de gebruiker "mwizak" supergebruikersrechten op uw systeem te geven, kunt u de volgende regel toevoegen aan het /etc/doas.conf bestand:
permit persist :mwizak als wortel
Vergeet niet om de gebruiker "mwizak" in het bovengenoemde commando te vervangen door de juiste gebruikersnaam.
Probeer na het opslaan van de configuratiewijzigingen cowsay te installeren met behulp van de volgende opdracht:
doas geschikt installeren koe zeggen
Om een andere gebruiker te gebruiken, kunt u de -u vlag gevolgd door de gebruikersnaam. Het is vergelijkbaar met de --gebruiker vlag gebruikt met de opdracht pkexec.
Om bijvoorbeeld de voorgaande opdracht als systeembeheerder uit te voeren, voert u het volgende uit:
doas -u admin apt installeren koe zeggen
3. zo
Het su-commando is een afkorting voor 'switch user'. Hiermee kunt u opdrachten uitvoeren als andere gebruikers dan de momenteel aangemelde gebruiker. Het wordt normaal gesproken gebruikt om commando's uit te voeren die rootrechten vereisen, maar je kunt gewoon elk ander commando uitvoeren met su.
Het uitvoeren van de opdracht su zonder enige argumenten gaat uit van de rootgebruiker, dus u moet het wachtwoord van de rootgebruiker weten om verder te gaan. Als u zou overschakelen naar een gebruiker met de naam john, voert u eenvoudig de volgende opdracht uit:
zo joh
Voer het wachtwoord in voor de gebruiker john. Om terug te schakelen naar de oorspronkelijke gebruiker, voert u gewoon het Uitgang commando.
Houd er rekening mee dat het uitvoeren van opdrachten als rootgebruiker meestal niet wordt aanbevolen, omdat u niet wordt gevraagd om een wachtwoord voor elke opdracht die u uitvoert, wat rampzalige gevolgen kan hebben, zoals het per ongeluk verwijderen bestanden.
4. dzdo
dzdo is een opdrachtregelprogramma dat wordt gebruikt om opdrachten uit te voeren met de rechten van een andere gebruiker, zoals de superuser of rootgebruiker. Het is vergelijkbaar met het sudo-commando, dat gewoonlijk voor hetzelfde doel wordt gebruikt. De opdracht dzdo is meestal beschikbaar op Oracle Linux.
U kunt de -u vlag om de gebruiker op te geven van wie u de rechten wilt gebruiken. Met de volgende opdracht wordt bijvoorbeeld het apt-get-update commando met de rechten van de superuser (root):
dzdo -u root apt-krijgen update
Het systeem zal u vragen om het juiste wachtwoord in te voeren om te bevestigen dat u over de benodigde rechten beschikt om de opdracht uit te voeren.
Gebruik de juiste gebruikersinstellingen voor verbeterde beveiliging op Linux
sudo is een veelgebruikte opdracht op Linux-systemen waarmee een gebruiker een opdracht kan uitvoeren met de rechten van de rootgebruiker. Afhankelijk van uw behoeften kunt u alle sudo-alternatieven in uw workflow gebruiken.
Op Linux is het ook belangrijk om de juiste toegangsniveaus toe te wijzen aan bestanden en mappen voor een betere beveiliging.