I cannot su to the smokeping user for some reason. Perhaps this is because the smokeping user&#39;s shell is set to /bin/false.<br><br>The script is to switch GPIO pins on my new Raspberry Pi (see <a href="http://www.raspberrypi.org">www.raspberrypi.org</a>). The script needs to run as root so that it can access the GPIO pins.<br>
<br>I tried running a shell script on the same alert using sudo and without sudo. It only works without sudo. Here is the relevant line from /etc/sudoers:<br><br>smokeping ALL=(ALL) NOPASSWD: ALL<br><br>Thanks<br><br>Andrew.<br>
<br><div class="gmail_quote">On 27 July 2012 00:13, Jim Long <span dir="ltr">&lt;<a href="mailto:smokeping@museum.rain.com" target="_blank">smokeping@museum.rain.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Thu, Jul 26, 2012 at 11:56:41PM +0100, Andrew Pattison wrote:<br>
&gt; I tried that but it still doesn&#39;t work. The alert is triggered as it is<br>
&gt; logged in /var/messages but either smokeping is not calling the script or<br>
&gt; the call is failing. Any ideas?<br>
&gt;<br>
&gt; Andrew.<br>
<br>
</div>Once again, please pardon the basics.<br>
<br>
Using su, change your effective user ID to the smokeping user,<br>
whatever user you run smokeping under (the user account under<br>
which the alerts get invoked).  Verify that this is so:<br>
<br>
$ touch /tmp/foo<br>
$ ls -l /tmp/foo<br>
(should show zero bytes, ownership by smokeping user)<br>
$ rm /tmp/foo<br>
<br>
Then manually invoke the same sudo command line that you&#39;re using<br>
in the alerts.  Does it ask you for a password?  If so, your<br>
sudoers file is not set up correctly.<br>
<br>
Set your script aside, and try this script &#39;test.sh&#39; instead:<br>
<br>
#!/bin/sh<br>
rm -rf /tmp/smokeping-sudo.log<br>
( date; set; echo &#39;--&#39; ) &gt; /tmp/smokeping-sudo.log<br>
<br>
Does that write data into /tmp/smokeping-sudo.log?  Examine the<br>
set output to confirm that the effective user ID is root/UID 0.<br>
Since that script runs under sudo as root, you should also see<br>
that /tmp/smokeping-sudo.log is owned by root.<br>
<br>
Lastly, consider whether your entire alert script really needs to<br>
run under sudo or just one specific command (or only a small<br>
number).  Think about whether it is feasible to call the script<br>
directly, and use sudo only from within the script, on only those<br>
few commands where it is necessary.  Are there any weird<br>
characters in your sudo command line that should be quoted or<br>
escaped?  Can you share the contents of your alert command and<br>
the pertinent line of your sudoers file, and some &#39;ps&#39; output<br>
that shows the username you use to run smokeping under?<br>
<br>
Hope this helps.<br>
<span class="HOEnZb"><font color="#888888"><br>
Jim<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
&gt; On 25 July 2012 17:23, Ryan Becker &lt;<a href="mailto:rb14060@gmail.com">rb14060@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; Try using the absolute path to the script in the sudoers file.  Also, the<br>
&gt; &gt; /etc/sudoers file should NOT be edited directly, you should be using the<br>
&gt; &gt; visudo command as root.<br>
&gt; &gt;<br>
&gt; &gt; On Wed, Jul 25, 2012 at 4:41 AM, Andrew Pattison &lt;<a href="mailto:andrum99@gmail.com">andrum99@gmail.com</a>&gt;wrote:<br>
&gt; &gt;<br>
&gt; &gt;&gt; I&#39;ve got something similar in in /etc/sudoers already.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Thanks<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Andrew.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On 24 July 2012 23:15, Ryan Becker &lt;<a href="mailto:rb14060@gmail.com">rb14060@gmail.com</a>&gt; wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt; Make sure that the user is allowed to execute the script without a<br>
&gt; &gt;&gt;&gt; password.  Here&#39;s an example that you can modify to suit your<br>
&gt; &gt;&gt;&gt; needs: techbnc ALL = NOPASSWD: /usr/sbin/csf<br>
&gt; &gt;&gt;&gt; In this example the user techbnc is allowed to call /usr/sbin/csf<br>
&gt; &gt;&gt;&gt; without needing a password.  What&#39;s happening is that normally when sudo is<br>
&gt; &gt;&gt;&gt; called, it asks for the password and Smokeping has no way to provide that<br>
&gt; &gt;&gt;&gt; password.  By adding the user to the file with NOPASSWD, they are allowed<br>
&gt; &gt;&gt;&gt; to execute the script without being password prompted and therefore<br>
&gt; &gt;&gt;&gt; Smokeping will be able to complete the action.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; On Tue, Jul 24, 2012 at 5:35 PM, Andrew Pattison &lt;<a href="mailto:andrum99@gmail.com">andrum99@gmail.com</a>&gt;wrote:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; I am trying to set up smokeping with an alert script. The alert script<br>
&gt; &gt;&gt;&gt;&gt; is called like this entry in /etc/smokeping/config.d/Alerts:<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; to = |sudo script.py<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; When called as simply |script.py this works fine, but with sudo the<br>
&gt; &gt;&gt;&gt;&gt; script does not get called. How can I get this working?<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; Thanks<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; Andrew.<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; _______________________________________________<br>
&gt; &gt;&gt;&gt;&gt; smokeping-users mailing list<br>
&gt; &gt;&gt;&gt;&gt; <a href="mailto:smokeping-users@lists.oetiker.ch">smokeping-users@lists.oetiker.ch</a><br>
&gt; &gt;&gt;&gt;&gt; <a href="https://lists.oetiker.ch/cgi-bin/listinfo/smokeping-users" target="_blank">https://lists.oetiker.ch/cgi-bin/listinfo/smokeping-users</a><br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;<br>
<br>
&gt; _______________________________________________<br>
&gt; smokeping-users mailing list<br>
&gt; <a href="mailto:smokeping-users@lists.oetiker.ch">smokeping-users@lists.oetiker.ch</a><br>
&gt; <a href="https://lists.oetiker.ch/cgi-bin/listinfo/smokeping-users" target="_blank">https://lists.oetiker.ch/cgi-bin/listinfo/smokeping-users</a><br>
<br>
</div></div></blockquote></div><br>