| 12345678910111213141516171819202122232425262728 |
- #!/usr/bin/env bash
- SFTPGO_PUID=${SFTPGO_PUID:-1000}
- SFTPGO_PGID=${SFTPGO_PGID:-1000}
- if [ "$1" = 'sftpgo' ]; then
- if [ "$(id -u)" = '0' ]; then
- for DIR in "/etc/sftpgo" "/var/lib/sftpgo" "/srv/sftpgo"
- do
- DIR_UID=$(stat -c %u ${DIR})
- DIR_GID=$(stat -c %g ${DIR})
- if [ ${DIR_UID} != ${SFTPGO_PUID} ] || [ ${DIR_GID} != ${SFTPGO_PGID} ]; then
- echo '{"level":"info","time":"'`date +%Y-%m-%dT%H:%M:%S.000`'","sender":"entrypoint","message":"change owner for \"'${DIR}'\" UID: '${SFTPGO_PUID}' GID: '${SFTPGO_PGID}'"}'
- if [ ${DIR} = "/etc/sftpgo" ]; then
- chown -R ${SFTPGO_PUID}:${SFTPGO_PGID} ${DIR}
- else
- chown ${SFTPGO_PUID}:${SFTPGO_PGID} ${DIR}
- fi
- fi
- done
- echo '{"level":"info","time":"'`date +%Y-%m-%dT%H:%M:%S.000`'","sender":"entrypoint","message":"run as UID: '${SFTPGO_PUID}' GID: '${SFTPGO_PGID}'"}'
- exec su-exec ${SFTPGO_PUID}:${SFTPGO_PGID} "$@"
- fi
- exec "$@"
- fi
- exec "$@"
|