diff --git a/root/etc/cont-init.d/50-config b/root/etc/cont-init.d/50-config index 5ec1509..27433ad 100644 --- a/root/etc/cont-init.d/50-config +++ b/root/etc/cont-init.d/50-config @@ -39,8 +39,28 @@ done # set queue driver to database sed -i 's/QUEUE_DRIVER=sync/QUEUE_DRIVER=database/' /config/www/.env +# function to randomly sample 50 files for their owner and only chown if not abc +chowner () { +files=(${1}/*) +for i in {1..50}; do + user=$(stat -c '%U' $(printf "%s\n" "${files[RANDOM % ${#files[@]}]}")) + if [ "${user}" != "abc" ]; then + chown -R abc:abc ${1} + break + fi +done +} + # permissions echo "Setting permissions" -chown -R abc:abc \ - /config \ - /var/www/localhost/heimdall +abc_dirs=( \ +/config \ +/var/www/localhost/heimdall \ +) +for i in "${abc_dirs[@]}"; do + if [ "$(ls -A ${i})" ]; then + chowner ${i} + else + chown -R abc:abc ${i} + fi +done