mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-08-22 12:38:06 +02:00
docker/root/usr/bin/entrypoint already allows for the specification of USER, USER_UID, USER_GID. But since AllowedUsers is hardcoded in sshd_config, one cannot log in as a user different ftom git. This change substitutes ${USER} for git in the sshd_config template. Signed-off-by: Jeronimo Pellegrini <j_p@aleph0.info>
35 lines
883 B
Bash
Executable file
35 lines
883 B
Bash
Executable file
#!/bin/sh
|
|
|
|
if [ "${USER}" != "git" ]; then
|
|
# rename user
|
|
sed -i -e "s/^git\:/${USER}\:/g" /etc/passwd
|
|
fi
|
|
|
|
if [ -z "${USER_GID}" ]; then
|
|
USER_GID="`id -g ${USER}`"
|
|
fi
|
|
|
|
if [ -z "${USER_UID}" ]; then
|
|
USER_UID="`id -u ${USER}`"
|
|
fi
|
|
|
|
## Change GID for USER?
|
|
if [ -n "${USER_GID}" ] && [ "${USER_GID}" != "`id -g ${USER}`" ]; then
|
|
sed -i -e "s/^${USER}:\([^:]*\):[0-9]*/${USER}:\1:${USER_GID}/" /etc/group
|
|
sed -i -e "s/^${USER}:\([^:]*\):\([0-9]*\):[0-9]*/${USER}:\1:\2:${USER_GID}/" /etc/passwd
|
|
fi
|
|
|
|
## Change UID for USER?
|
|
if [ -n "${USER_UID}" ] && [ "${USER_UID}" != "`id -u ${USER}`" ]; then
|
|
sed -i -e "s/^${USER}:\([^:]*\):[0-9]*:\([0-9]*\)/${USER}:\1:${USER_UID}:\2/" /etc/passwd
|
|
fi
|
|
|
|
for FOLDER in /data/gitea/conf /data/gitea/log /data/git /data/ssh; do
|
|
mkdir -p ${FOLDER}
|
|
done
|
|
|
|
if [ $# -gt 0 ]; then
|
|
exec "$@"
|
|
else
|
|
exec /bin/s6-svscan /etc/s6
|
|
fi
|