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>tags/v1.10.0-rc1
PasswordAuthentication no | PasswordAuthentication no | ||||
PermitEmptyPasswords no | PermitEmptyPasswords no | ||||
AllowUsers git | |||||
AllowUsers ${USER} | |||||
Banner none | Banner none | ||||
Subsystem sftp /usr/lib/ssh/sftp-server | Subsystem sftp /usr/lib/ssh/sftp-server |
if [ "${USER}" != "git" ]; then | if [ "${USER}" != "git" ]; then | ||||
# rename user | # rename user | ||||
sed -i -e "s/^git\:/${USER}\:/g" /etc/passwd | sed -i -e "s/^git\:/${USER}\:/g" /etc/passwd | ||||
# switch sshd config to different user | |||||
sed -i -e "s/AllowUsers git$/AllowUsers ${USER}/g" /etc/ssh/sshd_config | |||||
fi | fi | ||||
if [ -z "${USER_GID}" ]; then | if [ -z "${USER_GID}" ]; then |