Startpagina > Pakket- en systeembeheer > sudo

sudo Command Gids: Voer opdrachten uit met beheerdersrechten

`sudo`-commando (afkorting van substitute user do of superuser do) is een hulpmiddel dat gebruikers in Linux- en Unix-achtige besturingssystemen in staat stelt om programma's uit te voeren met de rechten van een andere gebruiker (meestal de root-gebruiker). Dit helpt bij het uitvoeren van beheertaken terwijl de systeembeveiliging behouden blijft en is veel veiliger dan alle taken rechtstreeks met het root-account uit te voeren. Leer de basisprincipes van het gebruik van `sudo` en belangrijke beveiligingsoverwegingen met deze gids.

Overzicht van sudo

In Linux-systemen heeft de root-gebruiker alle rechten. Echter, alle taken als root uitvoeren kan risico's met zich meebrengen die schadelijk kunnen zijn voor het systeem. `sudo` is een belangrijk beveiligingsmechanisme dat gewone gebruikers tijdelijk de benodigde beheerdersrechten geeft, zodat systeembeheer kan plaatsvinden met minimale beveiligingsrisico's.

Hoe sudo werkt

`sudo` vraagt om het wachtwoord (het wachtwoord van de gebruiker, niet het root-wachtwoord) wanneer een gebruiker het `sudo`-commando uitvoert, en als dit wachtwoord correct is, voert het het commando uit met de rechten van de root of een andere gebruiker volgens de regels die in het `sudoers`-bestand zijn gedefinieerd. Eenmaal geverifieerd, kan `sudo` gedurende een bepaalde tijd (standaard 5 minuten) worden gebruikt zonder opnieuw het wachtwoord in te voeren.

Belangrijkste functies van sudo

  • **Verbeterde beveiliging**: Voorkomt onnodig inloggen op het root-account en vermindert beveiligingsrisico's.
  • **Verantwoordelijkheid traceren**: Alle commando's die via `sudo` worden uitgevoerd, worden gelogd, zodat kan worden getraceerd wie wanneer welke beheerderscommando's heeft uitgevoerd.
  • **Geselecteerde rechtenbeheer**: Met het `sudoers`-bestand kan nauwkeurig worden beheerd welke specifieke gebruikers of groepen bepaalde commando's met root-rechten kunnen uitvoeren.
  • **Vermindering van wachtwoordverzoeken**: Eenmaal geverifieerd, kan `sudo` gedurende een bepaalde tijd zonder wachtwoord worden gebruikt, wat handig is.

🔑 sudoers-bestand

/etc/sudoers

`sudo`-rechten worden gedefinieerd in het `/etc/sudoers`-bestand. Dit bestand is zeer gevoelig, dus **moet je het altijd bewerken met het `visudo`-commando.** `visudo` controleert automatisch op syntaxisfouten, zodat de functionaliteit van `sudo` niet wordt verstoord door onjuiste instellingen.

Belangrijkste sudo-commando-opties

`sudo`-commando kan naast het verhogen van rechten ook verschillende opties hebben om de uitvoeringswijze te beheren.

1. Basisgebruik

2. Gebruikers- en shellgerelateerde opties

3. Authenticatie en lijstgerelateerde opties

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`sudo` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Instellingen van het sudoers-bestand (gebruik visudo)

`sudo`-rechten worden beheerd via het `/etc/sudoers`-bestand. In plaats van dit bestand rechtstreeks te bewerken, moet je het `visudo`-commando gebruiken om het veilig te bewerken. `visudo` controleert op syntaxisfouten om te voorkomen dat de functionaliteit van `sudo` wordt verstoord.

Bewerken van het sudoers-bestand

sudo visudo

Bewerk het sudoers-bestand veilig met root-rechten. De standaardeditor kan `vi` zijn.

Algemene indeling van het sudoers-bestand

De items in het `sudoers`-bestand zijn gedefinieerd in het formaat `User Host=(RunAs) NOPASSWD: Command`. De meest gebruikelijke instelling is om gebruikers die tot een bepaalde groep behoren alle commando's met `sudo`-rechten te geven.

Voorbeeldinstellingen

Hier zijn voorbeelden van instellingen die je vaak kunt tegenkomen in het `sudoers`-bestand.

  • `%sudo ALL=(ALL:ALL) ALL`: Sta alle gebruikers die tot de `sudo`-groep behoren toe om, vanaf elke host (ALL), met de rechten van elke gebruiker (ALL) en groep (ALL), alle commando's (ALL) uit te voeren. (Wachtwoord vereist)
  • `username ALL=(ALL) NOPASSWD: /usr/bin/apt update`: Sta de gebruiker `username` toe om het commando `apt update` zonder wachtwoord in te voeren, alleen met root-rechten.

Voorbeelden van gebruik

Leer hoe je met het `sudo`-commando systeemtaken kunt uitvoeren met beheerdersrechten aan de hand van verschillende gebruiksvoorbeelden.

Systeempakketupdate

sudo apt update

Het commando voor het bijwerken van de pakketlijst van het systeem vereist beheerdersrechten, dus gebruiken we `sudo`.

Bestand kopiëren naar een specifieke map

sudo cp my_config.conf /etc/

Kopieert het bestand `my_config.conf` naar de `/etc/`-map, waar normaal gesproken geen schrijfrechten zijn.

Commando uitvoeren als een andere gebruiker

sudo -u www-data ls /var/www/html

Voert het commando `ls /var/www/html` uit met de rechten van de gebruiker `www-data` (meestal de webserverprocessen) om de bestandsrechten van deze gebruiker te testen.

Overschakelen naar root-shell

sudo -i

Voer het wachtwoord van de huidige gebruiker in om een shell te krijgen die volledig is overgeschakeld naar de omgeving van de root-gebruiker. Nadat je klaar bent met werken, kun je `exit` invoeren om terug te keren naar de oorspronkelijke gebruiker.

Controleer sudo-rechten van de huidige gebruiker

sudo -l

Controleer welke commando's de momenteel ingelogde gebruiker kan uitvoeren via `sudo`, en of er een wachtwoord nodig is.


Hétzelfde categoriecommando