Skip to content

Commit

Permalink
Add local PAM docker-compose
Browse files Browse the repository at this point in the history
  • Loading branch information
bolkedebruin committed Mar 19, 2024
1 parent 46620c8 commit 79f8d8f
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 6 deletions.
6 changes: 4 additions & 2 deletions dev/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,15 @@ RUN apk --no-cache add linux-pam musl
# make tempdir in case filestore is used
ADD tmp.tar /

USER 1001
COPY --chown=0 rdpgw-pam /etc/pam.d/rdpgw

USER 1001
COPY --chown=1001 run.sh run.sh
COPY --chown=1001 --from=builder /opt/rdpgw /opt/rdpgw
COPY --chown=1001 --from=builder /etc/passwd /etc/passwd
COPY --chown=1001 --from=builder /etc/ssl/certs /etc/ssl/certs
#COPY --chown=1001 rdpgw.yaml /opt/rdpgw/rdpgw.yaml

USER 0

WORKDIR /opt/rdpgw
ENTRYPOINT ["/bin/sh", "/run.sh"]
3 changes: 3 additions & 0 deletions dev/docker/rdpgw-pam
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# basic PAM configuration for rdpgw on Alpine
auth include base-auth
auth include base-account
31 changes: 27 additions & 4 deletions dev/docker/run.sh
Original file line number Diff line number Diff line change
@@ -1,11 +1,34 @@
#!/bin/sh

USER=rdpgw

file="/root/createusers.txt"
if [ -f $file ]
then
while IFS=: read -r username password is_sudo
do
echo "Username: $username, Password: **** , Sudo: $is_sudo"

if getent passwd "$username" > /dev/null 2>&1
then
echo "User Exists"
else
adduser -s /sbin/nologin "$username"
echo "$username:$password" | chpasswd
fi
done <"$file"
fi

cd /opt/rdpgw || exit 1

if ! [ -e /opt/rdpgw/rdpgw.yaml ]; then
cp /opt/rdpgw/rdpgw.yaml.default /opt/rdpgw/rdpgw.yaml
if [ -n "${RDPGW_SERVER__AUTHENTICATION}" ]; then
if [ "${RDPGW_SERVER__AUTHENTICATION}" = "local" ]; then
echo "Starting rdpgw-auth"
/opt/rdpgw/rdpgw-auth &
fi
fi

/opt/rdpgw/rdpgw-auth &
/opt/rdpgw/rdpgw &
# drop privileges and run the application
su -c /opt/rdpgw/rdpgw ${USER} &
wait
exit $?

0 comments on commit 79f8d8f

Please sign in to comment.