diff options
Diffstat (limited to 'testing/tests/T030snmpv3usercreation')
-rw-r--r-- | testing/tests/T030snmpv3usercreation | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/testing/tests/T030snmpv3usercreation b/testing/tests/T030snmpv3usercreation new file mode 100644 index 0000000..6b619de --- /dev/null +++ b/testing/tests/T030snmpv3usercreation @@ -0,0 +1,114 @@ +#!/bin/sh + +. ../eval_tools.sh + +HEADER SNMPv3 agent USM user management with snmpusm + +SKIPIF NETSNMP_DISABLE_SET_SUPPORT +SKIPIFNOT USING_SNMPV3_USMUSER_MODULE +SKIPIFNOT NETSNMP_USE_OPENSSL +SKIPIFNOT NETSNMP_ENABLE_SCAPI_AUTHPRIV + +# +# Begin test +# + +# standard SNMPv3 USM agent configuration +DEFSECURITYLEVEL=authPriv +. ./Sv3usmconfigagent + +# test user +NEWUSER=newtestuser +NEWAUTHPASS=newauthpass +NEWPRIVPASS=newprivpass +NEWAUTHPRIVPASS=newauthprivpass + +# configure agent +CONFIGAGENT rwuser $NEWUSER + +# Start the agent +STARTAGENT + +## usmUserTable management + +## 1) create, clone, test, delete + +# create new (vanilla) user +CAPTURE "snmpusm $SNMP_FLAGS $TESTPRIVARGS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT create $NEWUSER" +CHECKORDIE "User successfully created" + +# clone +CAPTURE "snmpusm $SNMP_FLAGS $TESTPRIVARGS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT cloneFrom $NEWUSER $TESTPRIVUSER" +CHECKORDIE "User successfully cloned" + +# test (authPriv) +CAPTURE "snmpget -On $SNMP_FLAGS -v 3 -u $NEWUSER -l ap -a $DEFAUTHTYPE -A $TESTAUTHPASS -x $DEFPRIVTYPE -X $TESTPRIVPASS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT .1.3.6.1.2.1.1.3.0" +CHECKORDIE ".1.3.6.1.2.1.1.3.0 = Timeticks:" + +# delete +CAPTURE "snmpusm $SNMP_FLAGS $TESTPRIVARGS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT delete $NEWUSER" +CHECKORDIE "User successfully deleted" + +## 2) create w/ clone, passwd (auth), passwd (priv), test (authPriv+authNoPriv) + +# create+clone template user +CAPTURE "snmpusm $SNMP_FLAGS $TESTPRIVARGS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT create $NEWUSER $TESTPRIVUSER2" +CHECKORDIE "User successfully created" + +# change auth passphrase of new user +CAPTURE "snmpusm $SNMP_FLAGS $TESTPRIVARGS -Ca $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT passwd $TESTAUTHPASS2 $NEWAUTHPASS $NEWUSER" +CHECKORDIE "SNMPv3 Key(s) successfully changed" + +# change priv passphrase of new user +CAPTURE "snmpusm $SNMP_FLAGS $TESTPRIVARGS -Cx $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT passwd $TESTPRIVPASS2 $NEWPRIVPASS $NEWUSER" +CHECKORDIE "SNMPv3 Key(s) successfully changed" + +# test (authNoPriv) +CAPTURE "snmpget -On $SNMP_FLAGS -v 3 -u $NEWUSER -l anp -a $DEFAUTHTYPE -A $NEWAUTHPASS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT .1.3.6.1.2.1.1.3.0" +CHECKORDIE ".1.3.6.1.2.1.1.3.0 = Timeticks:" + +# test (authPriv) +CAPTURE "snmpget -On $SNMP_FLAGS -v 3 -u $NEWUSER -l ap -a $DEFAUTHTYPE -A $NEWAUTHPASS -x $DEFPRIVTYPE -X $NEWPRIVPASS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT .1.3.6.1.2.1.1.3.0" +CHECKORDIE ".1.3.6.1.2.1.1.3.0 = Timeticks:" + +## 3) passwd (priv), passwd (auth+priv), test + +# change priv passphrase (to auth passphrase) by the user himself +CAPTURE "snmpusm $SNMP_FLAGS -v 3 -u $NEWUSER -l ap -a $DEFAUTHTYPE -A $NEWAUTHPASS -x $DEFPRIVTYPE -X $NEWPRIVPASS -Cx $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT passwd $NEWPRIVPASS $NEWAUTHPASS" +CHECKORDIE "SNMPv3 Key(s) successfully changed" + +# change both passphrases at once +CAPTURE "snmpusm $SNMP_FLAGS -v 3 -u $NEWUSER -l ap -a $DEFAUTHTYPE -A $NEWAUTHPASS -x $DEFPRIVTYPE -X $NEWAUTHPASS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT passwd $NEWAUTHPASS $NEWAUTHPRIVPASS" +CHECKORDIE "SNMPv3 Key(s) successfully changed" + +# test (authPriv) +CAPTURE "snmpget -On $SNMP_FLAGS -v 3 -u $NEWUSER -l ap -a $DEFAUTHTYPE -A $NEWAUTHPRIVPASS -x $DEFPRIVTYPE -X $NEWAUTHPRIVPASS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT .1.3.6.1.2.1.1.3.0" +CHECKORDIE ".1.3.6.1.2.1.1.3.0 = Timeticks:" + +## 5) persistency I: reconfigure (SIGHUP), re-test + +HUPAGENT +DELAY + +# test (authPriv) +CAPTURE "snmpget -On $SNMP_FLAGS -v 3 -u $NEWUSER -l ap -a $DEFAUTHTYPE -A $NEWAUTHPRIVPASS -x $DEFPRIVTYPE -X $NEWAUTHPRIVPASS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT .1.3.6.1.2.1.1.3.0" +CHECKORDIE ".1.3.6.1.2.1.1.3.0 = Timeticks:" + +## 5) persistency II: stop, start, re-test + +STOPAGENT +DELAY +# make sure it picks up persistent config and uses a new logfile +SNMPCONFPATH="${SNMP_TMPDIR}${SNMP_ENV_SEPARATOR}${SNMP_TMP_PERSISTENTDIR}" +export SNMPCONFPATH +SNMP_CONFIG_FILE="does-not-exist" +SNMP_SNMPD_LOG_FILE=${SNMP_TMPDIR}/snmpd2.log +STARTAGENT + +# test (authPriv) +CAPTURE "snmpget -On $SNMP_FLAGS -v 3 -u $NEWUSER -l ap -a $DEFAUTHTYPE -A $NEWAUTHPRIVPASS -x $DEFPRIVTYPE -X $NEWAUTHPRIVPASS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT .1.3.6.1.2.1.1.3.0" +CHECKORDIE ".1.3.6.1.2.1.1.3.0 = Timeticks:" + +## stop agent and finish +STOPAGENT +FINISHED |