From: Bdale Garbee Date: Sat, 29 Aug 2009 08:32:28 +0000 (-0600) Subject: only try to add user backup if it doesn't already exist X-Git-Tag: debian/2.6.1p1-1~2 X-Git-Url: https://git.gag.com/?p=debian%2Famanda;a=commitdiff_plain;h=21170aaf9015a4c519265834456fc309932f24c0 only try to add user backup if it doesn't already exist --- diff --git a/debian/amanda-common.postinst b/debian/amanda-common.postinst new file mode 100644 index 0000000..a85c8fd --- /dev/null +++ b/debian/amanda-common.postinst @@ -0,0 +1,61 @@ +#!/bin/sh -e + +. /usr/share/debconf/confmodule + +if [ "$1" = configure ]; then + if ! getent passwd backup; then + adduser --quiet --system --no-create-home --home /var/backups \ + --shell /bin/sh --uid 34 --gid 34 backup + fi + + if [ ! -f /var/backups/.profile ]; then + echo 'PATH="$PATH:/usr/sbin"' > /var/backups/.profile + fi + + groupadd -f -g 34 backup + groupadd -f -g 26 tape + + adduser backup disk + adduser backup tape + + # in case we get installed first + if [ ! -d /var/lib/amanda ]; then + mkdir -p /var/lib/amanda + fi + + # try to handle a /var/lib/amandates file, since we created it + # incorrectly in previous versions of the amanda packages for Debian + if [ -f /var/lib/amandates ]; then + if [ ! -f /var/lib/amanda/amandates ]; then + mv /var/lib/amandates /var/lib/amanda/amandates + fi + fi + + # make sure amandates exists and has the right perms + if [ ! -f /var/lib/amanda/amandates ]; then + touch /var/lib/amanda/amandates + fi + chown backup:backup /var/lib/amanda/amandates + + # make sure user backup has a home directory + if [ ! -d ~backup ]; then + mkdir -p ~backup + fi + + # make sure there is a .amandahosts symlink + if [ ! -L ~backup/.amandahosts ]; then + ln -sf /etc/amandahosts ~backup/.amandahosts + fi + + # make sure /var/log/amanda exists + if [ ! -d /var/log/amanda ]; then + mkdir -p /var/log/amanda + fi + + chown backup:backup ~backup/.amandahosts /etc/amandahosts \ + /var/log/amanda + chmod 600 ~backup/.amandahosts /etc/amandahosts + chmod 770 /var/log/amanda +fi + +#DEBHELPER# diff --git a/debian/amanda-common.postrm b/debian/amanda-common.postrm new file mode 100644 index 0000000..9014b6f --- /dev/null +++ b/debian/amanda-common.postrm @@ -0,0 +1,48 @@ +#!/bin/sh -e +case "$1" in + purge) + if [ -d /var/log/amanda ]; then + rm -rf /var/log/amanda + fi + if [ -d /var/lib/amanda-gnutar-lists ]; then + rm -rf /var/lib/amanda-gnutar-lists + fi + if [ -d /var/lib/amanda-index ]; then + rm -rf /var/lib/amanda-index + fi + if [ -d /var/lib/amanda ]; then + rm -rf /var/lib/amanda + fi + # keep this around to clean up after old, broken amanda packages + # new packages have amandates in /var/lib/amanda... + if [ -f /var/lib/amandates ]; then + rm -f /var/lib/amandates + fi + + rm -f ~backup/.amandahosts + + if which deluser >/dev/null 2>&1 ; then + for group in disk tape; do + # only call deluser when backup is in $group + if getent group "$group" | + awk -F: '{ print $4 }' | + awk -F, '{ for (i=1; i <= NF; i++ ) print $i }' | + grep '^backup$' > /dev/null; then + deluser backup "$group" || true + fi + done + fi + ;; + remove|upgrade|deconfigure) + ;; + + failed-upgrade) + ;; + + *) + echo "unknown argument --> $1" >&2 + exit 0 + ;; +esac + +#DEBHELPER# diff --git a/debian/amanda-common.preinst b/debian/amanda-common.preinst new file mode 100644 index 0000000..e541f24 --- /dev/null +++ b/debian/amanda-common.preinst @@ -0,0 +1,12 @@ +#!/bin/sh -e + +# if a .amandahosts exists and is not a symlink, move it to /etc +if [ ! -L ~backup/.amandahosts ] +then + if [ -f ~backup/.amandahosts ] + then + mv -f ~backup/.amandahosts /etc/amandahosts + fi +fi + +#DEBHELPER# diff --git a/debian/postinst b/debian/postinst deleted file mode 100644 index be6a549..0000000 --- a/debian/postinst +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh -e - -. /usr/share/debconf/confmodule - -if [ "$1" = configure ]; then - useradd -d /var/backups -c backup -s /bin/sh \ - -u 34 -g 34 backup 2> /dev/null - - if [ ! -f /var/backups/.profile ]; then - echo 'PATH="$PATH:/usr/sbin"' > /var/backups/.profile - fi - - groupadd -g 34 backup 2> /dev/null - groupadd -g 26 tape 2> /dev/null - - adduser backup disk - adduser backup tape - - # in case we get installed first - if [ ! -d /var/lib/amanda ]; then - mkdir -p /var/lib/amanda - fi - - # try to handle a /var/lib/amandates file, since we created it - # incorrectly in previous versions of the amanda packages for Debian - if [ -f /var/lib/amandates ]; then - if [ ! -f /var/lib/amanda/amandates ]; then - mv /var/lib/amandates /var/lib/amanda/amandates - fi - fi - - # make sure amandates exists and has the right perms - if [ ! -f /var/lib/amanda/amandates ]; then - touch /var/lib/amanda/amandates - fi - chown backup:backup /var/lib/amanda/amandates - - # make sure user backup has a home directory - if [ ! -d ~backup ]; then - mkdir -p ~backup - fi - - # make sure there is a .amandahosts symlink - if [ ! -L ~backup/.amandahosts ]; then - ln -sf /etc/amandahosts ~backup/.amandahosts - fi - - # make sure /var/log/amanda exists - if [ ! -d /var/log/amanda ]; then - mkdir -p /var/log/amanda - fi - - chown backup:backup ~backup/.amandahosts /etc/amandahosts \ - /var/log/amanda - chmod 600 ~backup/.amandahosts /etc/amandahosts - chmod 770 /var/log/amanda -fi - -#DEBHELPER# diff --git a/debian/postrm b/debian/postrm deleted file mode 100644 index 9014b6f..0000000 --- a/debian/postrm +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -e -case "$1" in - purge) - if [ -d /var/log/amanda ]; then - rm -rf /var/log/amanda - fi - if [ -d /var/lib/amanda-gnutar-lists ]; then - rm -rf /var/lib/amanda-gnutar-lists - fi - if [ -d /var/lib/amanda-index ]; then - rm -rf /var/lib/amanda-index - fi - if [ -d /var/lib/amanda ]; then - rm -rf /var/lib/amanda - fi - # keep this around to clean up after old, broken amanda packages - # new packages have amandates in /var/lib/amanda... - if [ -f /var/lib/amandates ]; then - rm -f /var/lib/amandates - fi - - rm -f ~backup/.amandahosts - - if which deluser >/dev/null 2>&1 ; then - for group in disk tape; do - # only call deluser when backup is in $group - if getent group "$group" | - awk -F: '{ print $4 }' | - awk -F, '{ for (i=1; i <= NF; i++ ) print $i }' | - grep '^backup$' > /dev/null; then - deluser backup "$group" || true - fi - done - fi - ;; - remove|upgrade|deconfigure) - ;; - - failed-upgrade) - ;; - - *) - echo "unknown argument --> $1" >&2 - exit 0 - ;; -esac - -#DEBHELPER# diff --git a/debian/preinst b/debian/preinst deleted file mode 100644 index e541f24..0000000 --- a/debian/preinst +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -e - -# if a .amandahosts exists and is not a symlink, move it to /etc -if [ ! -L ~backup/.amandahosts ] -then - if [ -f ~backup/.amandahosts ] - then - mv -f ~backup/.amandahosts /etc/amandahosts - fi -fi - -#DEBHELPER#