Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- #
- # $Id$
- #
- # this shell script is designed to add new SNMPv3 users
- # to Net-SNMP config file.
- prefix=/usr
- exec_prefix=/usr
- includedir=/usr/include
- libdir=/usr/lib64
- datarootdir=${prefix}/share
- NSC_LDFLAGS="-Wl,-z,relro -Wl,-z,now"
- NSC_INCLUDEDIR=${includedir}
- NSC_LIBDIR=-L${libdir}
- NSC_LIBS=""
- NSC_AGENTLIBS=" -Wl,-E -Wl,-rpath,/usr/lib64/perl5/CORE"
- NSC_PREFIX=$prefix
- NSC_EXEC_PREFIX=$exec_prefix
- NSC_SRCDIR=.
- NSC_INCDIR=${NSC_PREFIX}/include
- NSC_BASE_SUBAGENT_LIBS="-lnetsnmpagent -lnetsnmphelpers -lnetsnmp"
- NSC_BASE_AGENT_LIBS="-lnetsnmpagent -lnetsnmphelpers -lnetsnmpmibs -lnetsnmp"
- NSC_SRC_LIBDIRS="agent/.libs snmplib/.libs agent/helpers/.libs"
- NSC_SRC_LIBDEPS="agent/.libs/libnetsnmpmibs.a agent/.libs/libnetsnmpagent.a agent/helpers/.libs/libnetsnmphelpers.a snmplib/.libs/libnetsnmp.a"
- if test "x$NSC_SRCDIR" = "x." ; then
- NSC_SRCDIR="NET-SNMP-SOURCE-DIR"
- fi
- if /bin/ps -e | 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 5.5
- ;;
- --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)
- 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] [-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="/var/lib/snmp"
- 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
- outfile="/etc/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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement