Search code examples
linuxbashshellubuntunagios

How to grant Nagios permissions to run some commands in custom script?


I have been making some custom shell scripts for my nagios machine. I was able to make them run just fine but for some reason some commands in the script don't seem to be working.

For instance commands like echo, cut , ps , grep work fine but commands like touch, useradd dont seem to work, even with sudo. If I run the script from the terminal, all the commands in the script work.

How can I give nagios permissions to run these commands?

I'm running nagios3 on ubuntu 14.04.5 lts

Edit: Added a few lines of code which aren't being run

sudo useradd -m $USERNAME
(echo $PASSWORD; echo $PASSWORD) | sudo smbpasswd -s -a $USERNAME

Solution

  • Standard way is setup permission for Nagios user on monitored server, for instance NRPE, in /etc/sudoers file.

    1. method

    Try add something like this in your sudoers file.

    Defaults:nrpe   !requiretty
    nrpe  ALL= NOPASSWD: useradd -m
    nrpe  ALL= NOPASSWD: smbpasswd -s -a
    

    PS: For easy editing sudoers file you can use visudo command ;-)

    2. method

    Or you can try add Nagios user to sudo group via sudo usermod -aG sudo <username>

    -a stands for add

    G is for group