0

Is it possible to write a shell script in which we can include the root commands, and execute it without entering the root password over the terminal.

Rumesh
  • 1,439
BeginnersSake
  • 769
  • 1
  • 7
  • 15
  • You may use "expect" - http://askubuntu.com/questions/307067/how-to-execute-sudo-commands-with-expect-send-commands-in-bash-script – Panther May 02 '15 at 22:25

2 Answers2

0

Yes.

Some may recommend marking the script as setUID and owned by root. I would discourage this. Instead, put the user under whose ID the script will run into the sudoers group and configure sudo to allow that user to run the specifically required commands as root without requiring that user to enter a password. This provides audibility and keeps things well controlled.

More information on sudo and its configuration can be found here.

  • I am going to downvote this as it is a huge security risk and there are several alternate more secure options . From a security perspective, any file that runs all or in part as root should be owned by root and ro or rx by other users without w privilges. – Panther May 02 '15 at 22:27
  • Hey @bodhi.zazen, it's generally a better idea to give an account the rights it needs to do something than it is to just be lazy and run things as root. It is better in the long run to create actual separation of duties rather than just fall back on root. This is precisely why so many administrators never log in as anything other than root and fight security management trying to require them to use reduced privilege accounts. – David Hoelzer May 02 '15 at 23:40
  • Also, I notice that you didn't downvote the other person recommending precisely what I am. – David Hoelzer May 02 '15 at 23:40
0

You can do this by editing your sudoer file.

Open a terminal (ctrl+alt+T)

enter the following command

sudo visudo

Once the file opens enter the following command

username ALL=(ALL) NOPASSWD: /path/to/command

Replace username with the your own username

You can find the path to the command by running

which command

For more information on editing the sudoer file visit this site.

muru
  • 197,895
  • 55
  • 485
  • 740
Rumesh
  • 1,439