I would like to run sudo with my password as parameter so that I can use it for a script. I tried
sudo -S mypassword execute_command
but without any success. Any suggestions?
I would like to run sudo with my password as parameter so that I can use it for a script. I tried
sudo -S mypassword execute_command
but without any success. Any suggestions?
The -S switch makes sudo read the password from STDIN. This means you can do
echo mypassword | sudo -S command
to pass the password to sudo
However, the suggestions by others that do not involve passing the password as part of a command such as checking if the user is root are probably much better ideas for security reasons
sudo chmod -R 0100 myScriptFolder
? Wouldn't that solve the security issues (provided no one uses your computer as root but you)? –
Norward echo pass | sudo -S bash
does not work –
Lichee You can set the s
bit for your script so that it does not need sudo
and runs as root (and you do not need to write your root password in the script):
sudo chmod +s myscript
+s
is the setuid bit. +t
is the sticky bit. –
Stress echo -e "YOURPASSWORD\n" | sudo -S yourcommand
echo -e "YOURPASSWORD\n" | sudo -S "run -x"
. It says sudo: run -x: command not found
. Any idea how to get around this? –
Carpel One option is to use the -A flag to sudo. This runs a program to ask for the password. Rather than ask, you could have a script that just spits out the password so the program can continue.
# Make sure only root can run our script
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
© 2022 - 2024 — McMap. All rights reserved.
sudo
properly that it won't ask password for certain program/users/group to avoid such dirty hacks. – Farinose