I have freeBSD 5.4 and using Apache2.0.54

in sudoers www user is allowed to run ntop.sh script

I can run sudo as www user from command line without any password :
# sudo -u www sudo /usr/local/www/cgi-bin/ntop/ntop.sh stop ntopbsd# sudo -u www sudo /usr/local/www/cgi-bin/ntop/ntop.sh start ntopbsd# ps aux | grep ntop root 2904 0.0 20.5 30424 25136 ?? Rs 12:14AM 0:00.05 /usr/l +ocal/bin/ntop -d -L --set-pcap-nonblocking --skip-versi root 2906 0.0 0.2 352 208 p2 R+ 12:14AM 0:00.00 grep n +top
ntop.sh looks:
#!/bin/sh #--------------------------------------------------------------------- +- # The following variables may be changed # # Network interface(s) to be monitored; # may be blank, or comma-separated list interfaces='' # User to run ntop as; leave blank for root userid='nobody' # [IP:]port for serving HTTP; set to '0' to disable http_port='0' # [IP:]port for serving HTTPS; set to '0' to disable # The certificate is /usr/local/etc/ntop/ntop-cert.pem https_port='10.41.3.77:3001' # Directory for ntop.access.log logdir='/var/log' # Specify any additional arguments here - see ntop(8) additional_args='' # # End of user-configurable variables #--------------------------------------------------------------------- +- args='-d -L --set-pcap-nonblocking --skip-version-check' [ ! -z $interfaces ] && args="$args -i $interfaces" [ ! -z $http_port ] && args="$args -w $http_port" [ ! -z $https_port ] && args="$args -W $https_port" [ ! -z $logdir ] && args="$args -a ${logdir}/ntop.access.log" [ ! -z $userid ] && args="$args -u $userid" [ ! -z "$additional_args" ] && args="$args $additional_args" case "$1" in start) # is it the first time we run ntop [ ! -e /var/db/ntop/ntop_pw.db ] && { # just in case... [ ! -d /var/db/ntop ] && { echo "Reinstalling database directory" mkdir -p /var/db/ntop chown -R $userid:$userid /var/db/ntop } /usr/local/bin/ntop -u $userid -A || exit 1 echo "Now we can start ntop!" } if [ -d $logdir ]; then touch ${logdir}/ntop.access.log chown $userid ${logdir}/ntop.access.log fi if [ -x /usr/local/bin/ntop ]; then /usr/local/bin/ntop $args > /dev/null 2>&1 & echo -n ' ntop' fi ;; stop) killall ntop > /dev/null 2>&1 && echo -n ' ntop' ;; *) echo "Usage: `basename $0` {start|stop}" >&2 exit 64 ;; esac exit 0

I should be able to execute my perl script from command line without errors.

greetings
cc

In reply to Re^2: perl script using sudo by cc
in thread perl script using sudo by cc

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.