34 lines
1.3 KiB
Bash
Executable File
34 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
# entrypoint.sh - Custom entrypoint für Dovecot mit UMASK-Einstellung
|
|
|
|
# UMASK aus Umgebungsvariable setzen (Standard ist 002, wenn nicht anders angegeben)
|
|
CUSTOM_UMASK=${UMASK:-002}
|
|
echo "Setting umask to $CUSTOM_UMASK"
|
|
umask $CUSTOM_UMASK
|
|
|
|
# UMASK auch in /etc/login.defs setzen für zukünftige Logins
|
|
sed -i "s/^UMASK\s*[0-9]\+/UMASK $CUSTOM_UMASK/" /etc/login.defs
|
|
# Falls UMASK noch nicht existiert, hinzufügen
|
|
grep -q "^UMASK" /etc/login.defs || echo "UMASK $CUSTOM_UMASK" >> /etc/login.defs
|
|
|
|
# Dovecot-Einstellungen anwenden (falls nötig)
|
|
if [ -n "$DOVECOT_UID" ] && [ -n "$DOVECOT_GID" ]; then
|
|
echo "Configuring Dovecot with UID=$DOVECOT_UID, GID=$DOVECOT_GID"
|
|
sed -i "s/^mail_uid\s*=.*/mail_uid = $DOVECOT_UID/" /etc/dovecot/dovecot.conf
|
|
sed -i "s/^mail_gid\s*=.*/mail_gid = $DOVECOT_GID/" /etc/dovecot/dovecot.conf
|
|
fi
|
|
|
|
# Wenn nicht genügend Berechtigungen für Mail-Verzeichnisse, automatisch korrigieren
|
|
echo "Checking mail directory permissions..."
|
|
find /var/mail -type d -exec chmod 775 {} \; 2>/dev/null || true
|
|
find /var/mail -type f -exec chmod 664 {} \; 2>/dev/null || true
|
|
|
|
# Original Docker-Entrypoint ausführen
|
|
# oder direkter Start von Dovecot, je nach Image
|
|
if [ -f "/docker-entrypoint.sh" ]; then
|
|
echo "Executing original docker-entrypoint.sh"
|
|
exec /docker-entrypoint.sh "$@"
|
|
else
|
|
echo "Starting dovecot"
|
|
exec dovecot -F
|
|
fi |