diff --git a/net-snmp-create-v3-user.in b/net-snmp-create-v3-user.in index e5ae928..b346b65 100644 --- a/net-snmp-create-v3-user.in +++ b/net-snmp-create-v3-user.in @@ -137,7 +137,7 @@ fi echo $line >> $outfile prefix="@prefix@" datarootdir="@datarootdir@" -outfile="@datadir@/snmp/snmpd.conf" +outfile="/etc/snmp/snmpd.conf" line="$token $user" echo "adding the following line to $outfile:" echo " " $line diff --git a/net-snmp-create-v3-user.in.dir-fix b/net-snmp-create-v3-user.in.dir-fix new file mode 100644 index 0000000..e5ae928 --- /dev/null +++ b/net-snmp-create-v3-user.in.dir-fix @@ -0,0 +1,147 @@ +#!/bin/sh +# +# $Id$ +# +# this shell script is designed to add new SNMPv3 users +# to Net-SNMP config file. + +if @PSCMD@ | egrep ' snmpd *$' > /dev/null 2>&1 ; then + echo "Apparently at least one snmpd demon is already running." + echo "You must stop them in order to use this command." + exit 1 +fi + +Aalgorithm="MD5" +Xalgorithm="DES" +token=rwuser + +while test "x$done" = "x" -a "x$1" != "x" -a "x$usage" != "xyes"; do +case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; +esac + +unset shifted +case $1 in + --version|--ver*) + echo @VERSION@ + ;; + --help) + usage="yes" + ;; + + -A|-a) + shift + if test "x$1" = "x" ; then + echo "You must specify an authentication algorithm or pass phrase" + exit 1 + fi + case $1 in + MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224) + Aalgorithm=$1 + shift + ;; + md5|sha) + Aalgorithm=`echo $1 | tr a-z A-Z` + shift + ;; + *) + apassphrase=$1 + shift + ;; + esac + ;; + -X|-x) + shift + if test "x$1" = "x" ; then + echo "You must specify an encryption algorithm or pass phrase" + exit 1 + fi + case $1 in + DES|AES|AES128) + Xalgorithm=$1 + shift + ;; + des|aes|aes128) + Xalgorithm=`echo $1 | tr a-z A-Z` + shift + ;; + *) + xpassphrase=$1 + shift + ;; + esac + ;; + -ro) + token="rouser" + shift + ;; + -*) + echo "unknown suboption to $0: $1" + usage=yes + done=1 + ;; + *) + done=1 + ;; + esac +done + +if test "x$usage" = "xyes"; then + echo "" + echo "Usage:" + echo " net-snmp-create-v3-user [-ro] [-A authpass] [-X privpass]" + echo " [-a MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224] [-x DES|AES] [username]" + echo "" + exit +fi + +if test "x$1" = "x" ; then + prompt=yes + echo "Enter a SNMPv3 user name to create: " + read user +else + user=$1 + shift +fi +if test "x$user" = "x" ; then + echo "You must specify a user name" + exit 1 +fi +if test "x$apassphrase" = "x" ; then + prompt=yes + echo "Enter authentication pass-phrase: " + read apassphrase +fi +if test "x$apassphrase" = "x" ; then + echo "You must specify an authentication pass-phrase" + exit 1 +fi + if test "x$prompt" = "xyes" -a "x$xpassphrase" = "x" ; then + echo "Enter encryption pass-phrase: " + echo " [press return to reuse the authentication pass-phrase]" + read xpassphrase +fi +outdir="@PERSISTENT_DIRECTORY@" +outfile="$outdir/snmpd.conf" +line="createUser $user $Aalgorithm \"$apassphrase\" $Xalgorithm \"$xpassphrase\"" +echo "adding the following line to $outfile:" +echo " " $line +# in case it hasn't ever been started yet, start it. +if test ! -d $outdir ; then + mkdir $outdir +fi +if test ! -d $outfile ; then + touch $outfile +fi +echo $line >> $outfile +prefix="@prefix@" +datarootdir="@datarootdir@" +outfile="@datadir@/snmp/snmpd.conf" +line="$token $user" +echo "adding the following line to $outfile:" +echo " " $line +if test ! -d $outfile ; then + touch $outfile +fi +echo $line >> $outfile