[Pkg-net-snmp-commits] [pkg-net-snmp] 01/12: fix bug#610630

Hideki Yamane henrich at moszumanska.debian.org
Sun Mar 30 10:01:30 UTC 2014


This is an automated email from the git hooks/post-receive script.

henrich pushed a commit to branch master
in repository pkg-net-snmp.

commit d96adf57b662ca601f9c4deb0a7a43e679272fcb
Author: Hideki Yamane <henrich at debian.org>
Date:   Wed Mar 5 19:48:39 2014 +0900

    fix bug#610630
---
 debian/changelog      |  2 ++
 debian/snmpd.postinst | 30 ++++++++++++++++++++++++++----
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 6d3e937..822a274 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,8 @@ net-snmp (5.7.2~dfsg-9) UNRELEASED; urgency=medium
     - check upstream PGP key
   * debian/rules
     - add etherlike-mib/dot3StatsTable (Closes: #729732, LP#1251847)
+  * debian/snmpd.postinst
+    - fix weird user creation (Closes: #482041, #589040, #606784, #610630)
 
  -- Hideki Yamane <henrich at debian.org>  Sun, 08 Dec 2013 10:51:58 +0900
 
diff --git a/debian/snmpd.postinst b/debian/snmpd.postinst
index d8add08..3bcd8eb 100644
--- a/debian/snmpd.postinst
+++ b/debian/snmpd.postinst
@@ -1,5 +1,7 @@
 #! /bin/sh
 
+SNMPDIR=/var/lib/snmp
+
 set -e
 
 case "$1" in
@@ -8,11 +10,31 @@ case "$1" in
 	. /usr/share/debconf/confmodule
 	db_version 2.0
 
-	if ! getent group snmp >/dev/null ; then
-	    deluser --quiet --system snmp
+	if [ ! getent passwd snmp >/dev/null ]; then
+
+	  if [ ! getent group snmp >/dev/null ]; then
+	     # no snmp user & group
+	     adduser --quiet --system --group --home $SNMPDIR \
+	             --shell /usr/sbin/nologin snmp
+	  else
+	     # no snmp user, but snmp group exists
+	     adduser --quiet --system --ingroup snmp --home $SNMPDIR \
+	             --shell /usr/sbin/nologin snmp
+	  fi
+
+	elif [ ! getent group snmp >/dev/null ]; then
+
+	  # snmp user exists but no snmp group
+	  addgroup --quiet --system snmp
+
+	  # if user is local system user (not LDAP or so), then exec usermod
+	  # see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=482041#25
+	  if [ ! `getent passwd snmp | cut -d':' -f3` -ge 1000 ]; then
+	    mkdir -p $SNMPDIR || true
+	    usermod -d $SNMPDIR -m -g snmp -s /usr/sbin/nologin snmp
+	  fi
+
 	fi
-	adduser --quiet --system --group --no-create-home --home /var/lib/snmp snmp
-	chown -R snmp:snmp /var/lib/snmp
 
 	# Bug#709087
         DOCDIR=/usr/share/doc/snmpd

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-net-snmp/pkg-net-snmp.git



More information about the Pkg-net-snmp-commits mailing list