ro ko ro ko - 4 months ago 12x
Linux Question

Shell script calls sudo; how do I suppress the password prompt

I am writing a simple shell script which changes the mac address of the network hardware.
One of the line is :

sudo ifconfig eth0 hw ether 00:99:99:00:00:00

My problem is with sudo the script prompts for password. Is there any way that I could do this without prompting the user for password ???


Most definitely, if you don't mind making that particular command 'free for use' for that particular user:

See basically my other answer here: Shell script - Sudo-permissions lost over time

The simplest thing that may work is

myuser = NOPASSWD: /sbin/ifconfig

Also, you could sudo an arbitrary command on the same terminal (tty/vty), and sudo will cache the authentication for a while (or until sudo -k), so you may start the script and it will 'remember' the credentials from your earlier sudo invocation. I sometimes do this when composing pipes with sudo (just preceded them with sudo true)