I need to run a shell script in Jenkins as root instead of the default user. What do I need to change?
My sudoers file is like this:
# User privilege specification root ALL=(ALL) ALL igx ALL=(ALL) ALL %wheel ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move %sudo ALL=(ALL) ALL # #includedir /etc/sudoers.d # Members of the admin group may gain root privileges %admin ALL=(ALL) NOPASSWD:ALL root ALL=(ALL) ALL jenkins ALL=NOPASSWD: /var/lib/jenkins/workspace/ing00112/trunk/source/ jenkins ALL=(ALL) NOPASSWD:ALL #Defaults:jenkins !requiretty
To give root privileges to a user while executing a shell script, we can use the sudo bash command with the shebang. This will run the shell script as a root user. Example: #!/usr/bin/sudo bash ....
You must run the script using sudo
:
sudo /path/to/script
But before you must allow jenkins
to run the script in /etc/sudoers
.
jenkins ALL = NOPASSWD: /path/to/script
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With