add ssh ecryptfs auto mount

This commit is contained in:
Yann Autissier
2022-04-10 02:21:44 +00:00
parent d328ae3e24
commit e6fe7dcf0c
9 changed files with 133 additions and 39 deletions
+26 -9
View File
@@ -1,16 +1,33 @@
#!/bin/sh
[ -n "${DEBUG}" ] && set -x
set -eu
for user in ${USERS:-${USERNAME}}; do
id ${user} > /dev/null 2>&1 || useradd -ms /bin/bash ${user}
usermod -a -G x2gouser ${user}
mkdir -p /home/${user}/.ssh
wget -qO /home/${user}/.ssh/authorized_keys https://gitlab.com/${user}.keys 2>/dev/null \
|| wget -qO /home/${user}/.ssh/authorized_keys https://github.com/${user}.keys 2>/dev/null
chown -R ${user} /home/${user}/.ssh
chmod 0750 /home/${user}
id "${user}" > /dev/null 2>&1 || useradd -s /bin/bash "${user}"
[ ! -d "/home/${user}" ] \
&& mkdir -p "/home/${user}" \
&& chown "${user}" "/home/${user}" \
&& chmod 0750 "/home/${user}"
for file in .bash_logout .bashrc .profile; do
[ ! -f "/home/${user}/${file}" ] \
&& cp "/etc/skel/${file}" "/home/${user}" \
&& chown "${user}" "/home/${user}/${file}"
done
usermod -a -G x2gouser "${user}"
mkdir -p "/home/${user}/.ssh"
wget -qO "/home/${user}/.ssh/authorized_keys" "https://gitlab.com/${user}.keys" 2>/dev/null \
|| wget -qO "/home/${user}/.ssh/authorized_keys" "https://github.com/${user}.keys" 2>/dev/null \
|| echo "WARNING: Unable to fetch ssh public keys for user ${user}."
chown "${user}" "/home/${user}/.ssh" "/home/${user}/.ssh/authorized_keys"
done
for sudoer in ${SUDOERS:-}; do
usermod -a -G sudo ${sudoer}
usermod -a -G sudo "${sudoer}"
done
mkdir -p /home/shared && chmod 1777 /home/shared
for ecrypter in ${ECRYPTERS:-}; do
mkdir -p "/home/${ecrypter}/.ecryptfs"
touch "/home/${ecrypter}/.ecryptfs/auto-mount"
touch "/home/${ecrypter}/.ecryptfs/auto-umount"
chown -R "${ecrypter}" "/home/${ecrypter}/.ecryptfs"
done
ln -s /app/setup_ecryptfs_sshagent.sh /etc/profile.d/
mkdir -p /shared && chmod 1777 /shared