I need execute script that have commands which should be run in root mode.
If I put sudo
before command then when I run script I see permission denied ( I don't have a chance to write password).
If I run script with sudo then it writes - command not found.
If I put sudo su
in the beginning of the script then after I inter password nothing happens. Script executes only when exit root mode.
How can make such script? Thank you.
Asked
Active
Viewed 3,364 times
3

ashim
- 1,017
2 Answers
4
You can set a script to not require a password via sudo with e.g. the following in /etc/sudoers
:
user ALL=(ALL:ALL) NOPASSWD: /path/to/your/script

jmtd
- 9,305
-
@:jmtd I did not but it on sudo myscript it still ask password – ashim Mar 14 '12 at 20:44
-
@user16610 See How to run a specific program as root without a password prompt? : the more specific rule needs to come after the more general rule. – Gilles 'SO- stop being evil' Mar 14 '12 at 23:20
3
(Posted as a new answer since I can't comment & the edit is too small)
You can end the command with ""
to prevent the user from running the command with arbitrary arguments.
user ALL=(ALL:ALL) NOPASSWD: /path/to/your/script ""
Now sudo /path/to/your/script
works but sudo /path/to/your/script foo bar
fails.

Sam Morris
- 1,012