diff options
author | Hideki Yamane <henrich@debian.org> | 2014-03-05 19:48:39 +0900 |
---|---|---|
committer | Hideki Yamane <henrich@debian.org> | 2014-03-05 19:48:39 +0900 |
commit | d96adf57b662ca601f9c4deb0a7a43e679272fcb (patch) | |
tree | 41a34943123c013b801b908f7efeff9ed0df7717 | |
parent | 3de0e471f655b1479a796cc7fd9d3e14779bc98c (diff) | |
download | pkg-net-snmp-d96adf57b662ca601f9c4deb0a7a43e679272fcb.tar.gz |
fix bug#610630
-rw-r--r-- | debian/changelog | 2 | ||||
-rw-r--r-- | 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@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 |