79 lines
1.9 KiB
Bash
Executable File
79 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
case $1 in
|
|
preinst)
|
|
exit 0
|
|
;;
|
|
postinst)
|
|
if [[ ${TARGET} ]]; then
|
|
if ! chroot ${TARGET} 'getent group sshd 2>&1' > /dev/null; then
|
|
if chroot ${TARGET} 'groupadd -g 50 sshd'; then
|
|
echo 'Created group sshd'
|
|
else
|
|
echo 'Failed to create group sshd!'
|
|
exit 1
|
|
fi
|
|
fi
|
|
if ! chroot ${TARGET} 'getent passwd sshd 2>&1 > /dev/null'; then
|
|
if chroot ${TARGET} 'useradd -c "sshd PrivSep" \
|
|
-d /var/lib/sshd -g sshd -s /bin/false -u 50 sshd'; then
|
|
echo 'Created user sshd'
|
|
else
|
|
echo 'Failed to create user sshd!'
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ ! -f ${TARGET}/etc/ssh/ssh_host_rsa_key ]; then
|
|
chroot ${TARGET} 'ssh-keygen -A'
|
|
fi
|
|
|
|
if [ ! -f ${TARGET}/etc/ssh/ssh_config ]; then
|
|
cp ${TARGET}/usr/share/openssh/ssh_config ${TARGET}/etc/ssh
|
|
fi
|
|
|
|
if [ ! -f ${TARGET}/etc/ssh/sshd_config ]; then
|
|
cp ${TARGET}/usr/share/openssh/sshd_config ${TARGET}/etc/ssh
|
|
fi
|
|
else
|
|
if ! getent group sshd 2>&1 > /dev/null; then
|
|
if groupadd -g 50 sshd; then
|
|
echo 'Created group sshd'
|
|
else
|
|
echo 'Failed to create group sshd!'
|
|
exit 1
|
|
fi
|
|
fi
|
|
if ! getent passwd sshd 2>&1 > /dev/null; then
|
|
if useradd -c 'sshd PrivSep' -d /var/lib/sshd -g sshd \
|
|
-s /bin/false -u 50 sshd; then
|
|
echo 'Created user sshd'
|
|
else
|
|
echo 'Failed to create user sshd!'
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then
|
|
ssh-keygen -A
|
|
fi
|
|
|
|
if [ ! -f /etc/ssh/ssh_config ]; then
|
|
cp /usr/share/openssh/ssh_config /etc/ssh
|
|
fi
|
|
|
|
if [ ! -f /etc/ssh/sshd_config ]; then
|
|
cp /usr/share/openssh/sshd_config /etc/ssh
|
|
fi
|
|
fi
|
|
;;
|
|
prerm)
|
|
exit 0
|
|
;;
|
|
postrm)
|
|
exit 0
|
|
;;
|
|
esac
|