Wat is Sudo in Linux en hoe het te gebruiken?

Overweeg de bovenstaande strip van de uitstekende XKCD- webcomic. De luie kerel in de stoel wil dat hun vriend een boterham voor ze maakt, maar ze hebben niet de autoriteit om ze dat te laten doen. Dat wil zeggen, totdat hij het machtige sudo-commando oproept. Daarna wordt er op de een of andere manier een broodje gemaakt. 

Hoewel sudo in het echte leven waarschijnlijk niet zo effectief zal zijn, is het het magische commando dat langs elke wegversperring in de wereld van Linux komt . Wat is sudo? Waarom bestaat het eigenlijk? Het antwoord ligt in hoe Linux omgaat met machtigingen.

Linux-gebruikersmachtigingen(Linux User Permissions) begrijpen

Linux wordt beschouwd als een veilig besturingssysteem vanwege de manier waarop het met machtigingen omgaat. Terwijl besturingssystemen zoals macOS (die een voorouder met Linux deelde ) en Windows nu meer op Linux lijken in dit opzicht, is het Open Source -besturingssysteem nog steeds enigszins uniek.

Als u begrijpt hoe Linux omgaat met machtigingen, wordt het een stuk eenvoudiger om het sudo-commando te begrijpen. Alle moderne besturingssystemen hebben een gebruikersmachtigingsniveau "beheerder" of "root". Als je een beheerders- of rootaccount hebt, kun je elke instelling wijzigen, gegevens verwijderen en in het algemeen doen wat je wilt met de computer. 

Dat omvat dingen die u waarschijnlijk niet zou moeten doen en die kunnen leiden tot gegevensverlies of de noodzaak van volledig wissen en opnieuw installeren.

Linux maakt niet de standaardmachtigingen op rootgebruikersniveau. In plaats daarvan kan uw account de echt gevoelige delen van het systeem niet bereiken zonder uw toestemmingsniveau te verhogen. Dat betekent dat het systeem u zal vragen om het beheerderswachtwoord in te voeren wanneer u iets ongewoons wilt doen met behulp van een grafische interface. 

Als u echter de Terminal -opdrachtregel wilt gebruiken om dingen voor elkaar te krijgen, is sudo de veiligste en meest efficiënte manier om dit te doen.

Sudo en de terminal

Er zijn twee manieren om jezelf verhoogde rechten te geven in Linux . Een daarvan is om permanent in te loggen als rootgebruiker. Het probleem hiermee is dat iedereen die toegang heeft tot de computer grote schade kan aanrichten, en zelfs jij kunt het per ongeluk doen. Sudo verhoogt uw machtigingen slechts voor een korte tijd om de specifieke opdrachten die erop volgen uit te voeren.

Sudo-syntaxis

De syntaxis van Sudo (het formaat van de opdracht) is eenvoudig. Typ eenvoudig(Simply) "sudo" gevolgd door de opdracht die u wilt uitvoeren.

"sudo apt-get update" zal bijvoorbeeld alle app-opslagplaatsen bijwerken die in het relevante bestand worden vermeld. Als je het zonder sudo probeerde uit te voeren, zou je een foutmelding krijgen waarin staat dat je geen toestemming hebt. Overigens is dit over het algemeen het eerste sudo-commando dat je wilt uitvoeren na een nieuwe installatie van je favoriete Linux -distro. 

De "Su" in Sudo

De "su" in sudo is een afkorting voor "superuser" en het is een op zichzelf staand commando. Met de opdracht "su" kunt u wijzigen naar welke gebruikersrechten sudo u verheft. 

Hoewel sudo je tijdelijk tot root verheft, verandert su je in een andere gebruiker met geschikte privileges. Dat lijkt misschien een onbelangrijk onderscheid, maar er zijn goede redenen om het account te wijzigen waar sudo een gebruiker naar verheft. 

Allereerst(First) betekent het wijzigen van het account dat gewone gebruikers het root-wachtwoord niet weten. Ten tweede is er een log van alle sudo-commando's, wat betekent dat de systeembeheerder (root) kan opzoeken wie su-commando's heeft gegeven.

De syntaxis voor su is in wezen hetzelfde als sudo:

Su GEBRUIKERSNAAM -c COMMANDO(Su USERNAME -c COMMAND)

Vervang USERNAME(Replace USERNAME) door de gewenste gebruiker om de opdracht uit te voeren en COMMAND door de Linux- opdracht die u wilt uitvoeren.

Als u meerdere opdrachten als een andere gebruiker wilt uitvoeren, gebruikt u eenvoudig:

Zo GEBRUIKER(Su USER)

Vervang USER(Replace USER) door de gewenste identiteit van het gebruikersaccount.

Als je zelf su gebruikt, zal Linux overschakelen naar het andere gebruikersaccount totdat je het commando "exit" gebruikt. Het is belangrijk om dit te onthouden, anders heeft de volgende gebruiker die in die sessie toegang krijgt tot de terminal nog steeds verhoogde rechten. Daarom is het over het algemeen beter om sudo te gebruiken in plaats van su.

De Sudo-tijdslimiet

De eerste keer dat u een sudo-opdracht gebruikt, moet u een wachtwoord invoeren. Dan blijft dat wachtwoord 15 minuten geldig. U kunt deze standaard wijzigen door de opdracht sudo visudo uit te voeren(sudo visudo) en "timestamp_timeout=" te wijzigen in een langere of kortere waarde. We raden je echter af om dit te doen, tenzij je een goede reden hebt om de geldigheidsduur van een sudo-wachtwoord te verlengen of in te korten.

Sudo-optieschakelaars

Hoewel de sudo-syntaxis eenvoudig is, zijn verschillende schakelaars het waard om te weten. Deze opdrachten openen aanvullende informatie of helpen u bij het besturen van de sudo-sessie:

  • -h toont u syntaxis en opdrachtinformatie voor sudo.
  • -V geeft de huidige versie voor sudo op uw machine weer.
  • -v ververst de sudo-tijdslimiet en start de klok opnieuw.
  • -l geeft een lijst van gebruikersrechten.
  • -k beëindigt de huidige sudo-sessie onmiddellijk en verwijdert verhoogde privileges.

Er zijn veel meer opties ingebouwd in sudo, en je kunt ze allemaal zien met behulp van de eerste -h schakelaar hierboven vermeld.

De bovenstaande schermafbeelding is het resultaat wanneer u de help-optie gebruikt.

Handige Sudo-opdrachten

Dus welke commando's die door sudo worden ondersteund, moet elke Linux- gebruiker kennen? We hebben sudo apt-get update al besproken, maar houd hier ook rekening mee:

  • Sudo apt-get upgrade zal alle geïnstalleerde pakketten upgraden.
  • Sudo apt-get install <package-name> installeert software naar keuze; verander gewoon de pakketnaam in degene die u wilt installeren.
  • Als u de pakketnaam niet weet, gebruik dan dpkg –list .
  • Als u een geïnstalleerd pakket van de terminal wilt verwijderen, gebruikt u sudo apt-get remove <package-name (opnieuw vervangen door de specifieke pakketnaam in kwestie).

Dit zijn waarschijnlijk de eerste sudo-commando's die je moet gebruiken, maar zoals je hierboven hebt geleerd, kan elke opdracht op sudo volgen, maar je moet alleen die gebruiken die hogere privileges nodig hebben.



About the author

Ik ben een computertechnicus met meer dan 10 jaar ervaring, waarvan 3 jaar als a店員. Ik heb ervaring met zowel Apple- als Android-apparaten en ben vooral bedreven in het repareren en upgraden van computers. Ik kijk ook graag films op mijn computer en gebruik mijn iPhone om foto's en video's te maken.



Related posts