10

I've put a command sudo do something in my ~/.bashrc, this works but everytime I open the terminal I have to type in my password. How do I make it so there is no password-typing?

1

3 Answers 3

11

You can use the NOPASSWD attribute in the sudoers file to tell sudo not to require a password. A line like the follows in the sudoers file should let you run that command without a password:

yourlogin ALL=(ALL) NOPASSWD: command_here

To edit the sudoers file, run the command sudo visudo.

6
  • 3
    This operation is too risky.
    – Hckr
    Nov 13, 2012 at 18:50
  • That depends on the command run. I assume user19192 actually knows what he's doing and wants to run this :) Nov 13, 2012 at 18:51
  • @Hckr I think there's no risk if you have control over your script. Nov 13, 2012 at 18:53
  • 3
    yeah, NOPASSWD: ALL is a different beast. Wouldn't recommend that. Nov 13, 2012 at 19:06
  • 4
    WARNING: Do not use a regular text editor to edit the sudoers file, always use the visudo command. Because if you mess it up and save it like that, you won't be able to use sudo afterwards: askubuntu.com/questions/73864/…
    – Bloke
    Mar 30, 2017 at 8:04
0

You can edit the sudoers file by executing the following line:

sudo gedit /etc/sudoers

add the following line to the file: your_login ALL=(ALL) NOPASSWD: command

2
  • NOTE: I generally don't encourage this option because the sudo function is built in to protect the user. no longer requiring a password is negating the purpose of it. However if you are confident it will not be a security problem then go ahead. Nov 13, 2012 at 18:51
  • 8
    Using gedit to edit /etc/sudoers is a recipe for disaster. If you make a typo in the sudoers file you can lock yourself out of sudoing. Always use visudo to edit: export EDITOR=gedit; sudo -E visudo
    – mogsie
    Jan 22, 2014 at 12:20
0

You can edit the sudoers file with the command sudo visudo.

As seen here https://unix.stackexchange.com/questions/18830/how-to-run-a-specific-program-as-root-without-a-password-prompt?newreg=fb648518a0b0446e92cb2a685755daca

Your command that you want to authorize should be the path to it or you will get an error.

yourlogin ALL=(ALL) NOPASSWD: /path/to/my/command_here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .