scripts: touchups for v12.0.0 (#3144)

This commit is contained in:
Georg Lauterbach 2023-03-04 10:57:42 +01:00 committed by GitHub
parent 5e9849d94f
commit 8ec5dbec74
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 30 additions and 33 deletions

View file

@ -39,7 +39,7 @@ function _register_functions
# ? >> Setup # ? >> Setup
_register_setup_function '_setup_file_permissions' _register_setup_function '_setup_logs_general'
_register_setup_function '_setup_timezone' _register_setup_function '_setup_timezone'
if [[ ${SMTP_ONLY} -ne 1 ]] if [[ ${SMTP_ONLY} -ne 1 ]]

View file

@ -10,7 +10,7 @@ function _register_setup_function
function _setup function _setup
{ {
# requires `shopt -s globstar` because of `**` which in # Requires `shopt -s globstar` because of `**` which in
# turn is required as we're decending through directories # turn is required as we're decending through directories
for FILE in /usr/local/bin/setup.d/**/*.sh for FILE in /usr/local/bin/setup.d/**/*.sh
do do
@ -57,27 +57,6 @@ function _early_supervisor_setup
return 0 return 0
} }
# File/folder permissions are fine when using docker volumes, but may be wrong
# when file system folders are mounted into the container.
# Set the expected values and create missing folders/files just in case.
function _setup_file_permissions
{
_log 'debug' 'Setting file and directory permissions'
mkdir -p /var/log/supervisor
mkdir -p /var/log/mail
chown syslog:root /var/log/mail
touch /var/log/mail/clamav.log
chown clamav:adm /var/log/mail/clamav.log
chmod 640 /var/log/mail/clamav.log
touch /var/log/mail/freshclam.log
chown clamav:adm /var/log/mail/freshclam.log
chmod 640 /var/log/mail/freshclam.log
}
function _setup_timezone function _setup_timezone
{ {
[[ -n ${TZ} ]] || return 0 [[ -n ${TZ} ]] || return 0
@ -110,8 +89,8 @@ function _setup_apply_fixes_after_configuration
_log 'debug' 'Checking /var/mail permissions' _log 'debug' 'Checking /var/mail permissions'
_chown_var_mail_if_necessary || _shutdown 'Failed to fix /var/mail permissions' _chown_var_mail_if_necessary || _shutdown 'Failed to fix /var/mail permissions'
_log 'trace' 'Remove left-over files and directories from older versions' _log 'debug' 'Removing files and directories from older versions'
rm -rf /var/spool/postfix/{dev,etc,lib,usr,private/auth} rm -rf /var/mail-state/spool-postfix/{dev,etc,lib,pid,usr,private/auth}
} }
function _run_user_patches function _run_user_patches

View file

@ -1,5 +1,16 @@
#!/bin/bash #!/bin/bash
function _setup_logs_general
{
_log 'debug' 'Setting up general log files'
# File/folder permissions are fine when using docker volumes, but may be wrong
# when file system folders are mounted into the container.
# Set the expected values and create missing folders/files just in case.
mkdir -p /var/log/{mail,supervisor}
chown syslog:root /var/log/mail
}
function _setup_logrotate function _setup_logrotate
{ {
_log 'debug' 'Setting up logrotate' _log 'debug' 'Setting up logrotate'

View file

@ -82,13 +82,11 @@ function _setup_save_states
chown -R postfix:root /var/mail-state/spool-postfix chown -R postfix:root /var/mail-state/spool-postfix
chown root:root /var/mail-state/spool-postfix chown root:root /var/mail-state/spool-postfix
# These two require the postdrop(103) group: # These two require the postdrop(103) group:
chgrp -R postdrop /var/mail-state/spool-postfix/maildrop chgrp -R postdrop /var/mail-state/spool-postfix/{maildrop,public}
chgrp -R postdrop /var/mail-state/spool-postfix/public elif [[ ${ONE_DIR} -eq 1 ]]
# These all have root ownership at the src location: then
chown -R root /var/mail-state/spool-postfix/dev _log 'warn' "'ONE_DIR=1' but no volume was mounted to '${STATEDIR}'"
chown -R root /var/mail-state/spool-postfix/etc else
chown -R root /var/mail-state/spool-postfix/lib _log 'debug' 'Not consolidating state (because it has been disabled)'
chown -R root /var/mail-state/spool-postfix/pid
chown -R root /var/mail-state/spool-postfix/usr
fi fi
} }

View file

@ -174,6 +174,15 @@ function __setup__security__clamav
if [[ ${ENABLE_CLAMAV} -eq 1 ]] if [[ ${ENABLE_CLAMAV} -eq 1 ]]
then then
_log 'debug' 'Enabling and configuring ClamAV' _log 'debug' 'Enabling and configuring ClamAV'
local FILE
for FILE in /var/log/mail/{clamav,freshclam}.log
do
touch "${FILE}"
chown clamav:adm "${FILE}"
chmod 640 "${FILE}"
done
if [[ ${CLAMAV_MESSAGE_SIZE_LIMIT} != '25M' ]] if [[ ${CLAMAV_MESSAGE_SIZE_LIMIT} != '25M' ]]
then then
_log 'trace' "Setting ClamAV message scan size limit to '${CLAMAV_MESSAGE_SIZE_LIMIT}'" _log 'trace' "Setting ClamAV message scan size limit to '${CLAMAV_MESSAGE_SIZE_LIMIT}'"