linux:sudo
Table of Contents
sudo
context
dit document beschrijft de werking van sudo. Hiermee laat je gebruikers toe om bepaalde acties uit te voeren met andere privileges (vaak: root) zonder het wachtwoord uit handen te geven.
werking
- laat je commando voorafgaan door su om cmd met root-rechten uit te voeren
sudo useradd -c "New kid" -m kid01
- als een wachtwoord wordt gevraagd, geef dan je gebruikerswachtwoord in
het commando wordt uitgevoerd als een andere gebruiker. - om je verleende rechten na te kijken:
sudo -l
- als je een commando probeert uit te voeren waarvoor je geen rechten hebt, wordt opnieuw een wachtwoord prompt gegeven:
We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for jveys:
Dit geldt ook voor commando's die niet correct werden gedefinieerd in de configuratie.
configuratie
- bij voorkeur via
visudo
omdat er dan een syntax controle wordt uitgevoerd. - toegangrechten kan je instellen op volgende niveaus:
- gebruiker/groep
- host waarop je commando mag uitvoeren
- gebruiker waaronder je het commando mag uitvoeren
- commando dat je mag uitvoeren
- voorbeeld:
%ApacheAdmin node02=(www-data) /usr/bin/systemctl restart apache2
leden van de groep ApacheAdmin mogen op node02 een herstart van Apache doen als gebruiker www-data
- hosts, gebruikers, commando's kan je bundelen in aliassen
- voorbeeld:
Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
- let erop steeds het volledige (en correcte!) pad naar het uitvoerbaar bestand te vermelden. Anders faalt je commando.
- met de optie
NOPASSWD:
moet de gebruiker niet bijkomend aanmelden.
voorbeeld:user.name ALL=(ALL:ALL) NOPASSWD:ALL
- om wat onderverdeling in verschillende configs te maken, kan je best je configuratie bewaren onder /etc/sudoers.d/.
Je kan die dan bewerken ahvvisudo -f /etc/sudoers.d/<naamVanBestand>
.
Als je een programma verdeelt via een pacakge manager kan je je sudo configuratie op die manier meesturen.
voorbeeld
- standaard CentOS configuratie vind je hier in github.
logging
- bemerk hoe er tijdelijk een sessie als een andere gebruiker wordt gestart:
session opened for user root by …
problemen, problemen
- de meeste problemen zijn gevolg van 2 fouten:
- commando wordt uitgevoerd waarvoor de gebruiker geen rechten heeft
- het commando staat niet correct gedefinieerd in de configuratie.
- wachtwoord prompt wordt getoond ook al staat
NOPASSWD:
in de configuratie.- controleer dat pad naar het commando correct gedefinieerd staat in de configuratie.
meer info
voeg hier linken toe naar verdere uitleg
linux/sudo.txt · Last modified: 2024/11/16 18:14 by 127.0.0.1