This means you not prompted for your password when typing sudo …

Apart from ease of use, I’ve got a scenario where I’m calling a bash command from C# which requires sudo, so don’t want to be prompted for a password.

# switch to vim
# vim.basic
# https://askubuntu.com/questions/539243/how-to-change-visudo-editor-from-nano-to-vim
sudo update-alternatives --config editor

sudo visudo

# dave isn't prompted for password when typing sudo
# put at the end of the visudo file
dave ALL=(ALL) NOPASSWD:ALL

www-data ALL=(ALL) NOPASSWD:ALL

Recovery

If you make a mistake using sudo visudo and save it, it means you can’t use sudo anymore. It happened to me using nano as the editor, and I still have no idea how.

https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903

# terminal 1 get PID
echo $$

# terminal 2
pkttyagent --process PID_FROM_STEP_1

# terminal 1
pkexec vim /etc/sudoers

Here is an example of a clean visudo file from ubuntu20.04

Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d