ceph/debian/cephadm.postinst
Kefu Chai e74ec0b27d debian/cephadm.postinst: stop using adduser --gecos
--gecos option of adduser is deprecated in debian/bookworm, and
will be removed in debian/trixie,
see https://manpages.debian.org/bookworm/adduser/adduser.8.en.html.
so to be future-proof, let's switch to `usermod --comment`. please
note, since we still need to support ubuntu/jammy which is used in
our CI, and `adduser` shipped by ubuntu/jammy does not support
`--comment` yet, so we cannot use this option.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2024-02-03 22:36:50 +08:00

73 lines
2.0 KiB
Bash

#!/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