Ga naar inhoud

Workflow: Sudo zonder wachtwoord

In sommige situaties wil je dat sudo geen wachtwoord meer vraagt. Dit kan handig zijn in ontwikkelomgevingen of automatisering. Hieronder staan de belangrijkste methodes om dit in te stellen.


Methode 1: Per gebruiker (/etc/sudoers.d/)

Maak een apart bestand voor een specifieke gebruiker:

sudo visudo -f /etc/sudoers.d/exampleuser

Zet daarin:

exampleuser ALL=(ALL) NOPASSWD:ALL

Test

$ sudo -l
Matching Defaults entries for exampleuser on ubuntu:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

User exampleuser may run the following commands on ubuntu:
    (ALL) NOPASSWD: ALL
$ sudo id
uid=0(root) gid=0(root) groups=0(root)

Terugdraaien

Verwijder simpelweg het bestand:

sudo rm /etc/sudoers.d/exampleuser

Controleer daarna of de configuratie weer geldig is:

sudo visudo -c

En test opnieuw:

$ sudo -l
User exampleuser may run the following commands on ubuntu:
    (ALL : ALL) ALL

→ Je krijgt nu weer een wachtwoordprompt bij sudo.


Methode 2: In de hoofd /etc/sudoers file

Open:

sudo visudo

Zoek de regel:

%sudo   ALL=(ALL:ALL) ALL

Vervang door:

%sudo   ALL=(ALL:ALL) NOPASSWD:ALL

Test

$ sudo -l
Matching Defaults entries for exampleuser on ubuntu:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

User exampleuser may run the following commands on ubuntu:
    (ALL : ALL) NOPASSWD: ALL

$ sudo ls /
bin  boot  dev  etc  home ...
→ Geen wachtwoordprompt meer.

Terugdraaien

Herstel de regel naar de originele versie:

%sudo   ALL=(ALL:ALL) ALL

Opslaan en afsluiten. Daarna:

sudo visudo -c

en opnieuw testen:

$ sudo -l
User exampleuser may run the following commands on ubuntu:
    (ALL : ALL) ALL

→ Nu wordt er weer om een wachtwoord gevraagd.


⚠️ Belangrijk

Let op: wachtwoord blijft nodig voor su

Het commando su werkt niet met sudoers.
su vraagt altijd het wachtwoord van de gebruiker waar je naartoe wilt wisselen (bijvoorbeeld root).

Voorbeeld:

$ su -
Password:

Gebruik in plaats daarvan sudo -i als je een root-shell wilt openen zonder wachtwoord.