summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHideki Yamane <henrich@debian.org>2014-03-05 19:48:39 +0900
committerHideki Yamane <henrich@debian.org>2014-03-05 19:48:39 +0900
commitd96adf57b662ca601f9c4deb0a7a43e679272fcb (patch)
tree41a34943123c013b801b908f7efeff9ed0df7717
parent3de0e471f655b1479a796cc7fd9d3e14779bc98c (diff)
downloadpkg-net-snmp-d96adf57b662ca601f9c4deb0a7a43e679272fcb.tar.gz
fix bug#610630
-rw-r--r--debian/changelog2
-rw-r--r--debian/snmpd.postinst30
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@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