now that adduser allows us to set its home directory, we can do
this using adduser instead of using usermod. this change also
silences the warning from lintian
"maintainer-script-lacks-home-in-adduser". lintian complains if
`adduser --system` is called without passing `--home` option.
also, take this opportunity to s/-c/--comment/ in the command line
of `usermod`, for better readability.
Fixes: https://tracker.ceph.com/issues/64069
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit
a1a857698cad4f2feeea0b56fd781350e44078b7)
(cherry picked from commit
776a089b09c70ee45f2c84eec05279d6826abf15)
--system \
--no-create-home \
--disabled-password \
+ --home $SERVER_HOME \
--uid $SERVER_UID \
--gid $SERVER_GID \
$SERVER_USER 2>/dev/null || true
echo "..done"
fi
# 3. adjust passwd entry
+ # NOTE: we should use "adduser --comment" if we don't need to
+ # support adduser <3.136. "adduser --gecos" is deprecated,
+ # and will be removed, so we don't use it. the first distro
+ # using --comment is debian/trixie or ubuntu/mantic.
echo -n "Setting system user $SERVER_USER properties.."
- usermod -c "$SERVER_NAME" \
- -d $SERVER_HOME \
- -g $SERVER_GROUP \
+ usermod --comment "$SERVER_NAME" \
+ --gid $SERVER_GROUP \
$SERVER_USER
# Unlock $SERVER_USER in case it is locked from an uninstall
if [ -f /etc/shadow ]; then