summaryrefslogtreecommitdiffstats
path: root/debian/cephadm.postinst
blob: 50aa6f8dd5106e594b2a873200c112bf24cce74d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/sh
# vim: set noet ts=8:
# postinst script for cephadm
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#
# 	postinst configure <most-recently-configured-version>
# 	old-postinst abort-upgrade <new-version>
# 	conflictor's-postinst abort-remove in-favour <package> <new-version>
# 	postinst abort-remove
# 	deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
#

# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package


case "$1" in
    configure)
       # create cephadm user
       # 1. create user if not existing
       if ! getent passwd | grep -q "^cephadm:"; then
         echo -n "Adding system user cephadm.."
         adduser --quiet \
                 --system \
                 --disabled-password \
                 --home /home/cephadm \
                 --shell /bin/bash cephadm 2>/dev/null || true
         usermod --comment "cephadm user for mgr/cephadm" cephadm
         echo "..done"
       fi

       # 2. make sure user is unlocked
       if [ -f /etc/shadow ]; then
           usermod -U -e '' cephadm
       else
           usermod -U cephadm
       fi

       # set up (initially empty) .ssh/authorized_keys file
       if ! test -d /home/cephadm/.ssh; then
           mkdir /home/cephadm/.ssh
           chown --reference /home/cephadm /home/cephadm/.ssh
           chmod 0700 /home/cephadm/.ssh
       fi
       if ! test -e /home/cephadm/.ssh/authorized_keys; then
           touch /home/cephadm/.ssh/authorized_keys
           chown --reference /home/cephadm /home/cephadm/.ssh/authorized_keys
           chmod 0600 /home/cephadm/.ssh/authorized_keys
       fi

    ;;
    abort-upgrade|abort-remove|abort-deconfigure)
       :
    ;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0