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.
Add a comment
|
2 Answers
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 I did not but it on sudo myscript it still ask passwordashim– ashim2012-03-14 20:44:51 +00:00Commented Mar 14, 2012 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'– Gilles 'SO- stop being evil'2012-03-14 23:20:07 +00:00Commented Mar 14, 2012 at 23:20
(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.