This article will describe how to omit sudo password. This will enable scripts with sudo be automated.
Table of Contents
1 Omit sudo password
Run visudo and edit /etc/sudoers. This needs sudo password yet.
$ sudo visudo [sudo] password for hiroom2:
Add "NOPASSWD:" at sudo group.
$ sudo diff -uprN /etc/sudoers.orig /etc/sudoers --- /etc/sudoers.orig 2017-06-19 00:41:29.421047745 +0900 +++ /etc/sudoers 2017-06-19 00:41:41.481044752 +0900 @@ -20,7 +20,7 @@ Defaults secure_path="/usr/local/sbin:/u root ALL=(ALL:ALL) ALL # Allow members of group sudo to execute any command -%sudo ALL=(ALL:ALL) ALL +%sudo ALL=(ALL:ALL) NOPASSWD:ALL # See sudoers(5) for more information on "#include" directives:
Then it does not need sudo password.
2 Redirect with sudo
This is not how to omit sudo password. But scripts with sudo often needs the redirect with sudo.
For below example, command can run as privilege user but the redirect cannot be executed as privilege user.
$ sudo command > /etc/file
Using "sudo su -c" enable running the redirect as privilege user.
$ sudo su -c 'command > /etc/file'
Or tee command can be excuted as privilege user.
$ sudo command | sudo tee /etc/file