diff --git a/README.md b/README.md index b01f011c..e691258c 100644 --- a/README.md +++ b/README.md @@ -336,6 +336,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **02.03.23:** - Set permissions on crontabs during init. * **09.02.23:** - [Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) proxy.conf, authelia-location.conf and authelia-server.conf - Add Authentik configs, update Authelia configs. * **06.02.23:** - Add porkbun support back in. * **21.01.23:** - Unpin certbot version (allow certbot 2.x). !!BREAKING CHANGE!! We are temporarily removing the certbot porkbun plugin until a new version is released that is compatible with certbot 2.x. diff --git a/readme-vars.yml b/readme-vars.yml index 5c4f7f5a..9aa2f824 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -154,6 +154,7 @@ app_setup_block: | # changelog changelogs: + - { date: "02.03.23:", desc: "Set permissions on crontabs during init." } - { date: "09.02.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) proxy.conf, authelia-location.conf and authelia-server.conf - Add Authentik configs, update Authelia configs." } - { date: "06.02.23:", desc: "Add porkbun support back in." } - { date: "21.01.23:", desc: "Unpin certbot version (allow certbot 2.x). !!BREAKING CHANGE!! We are temporarily removing the certbot porkbun plugin until a new version is released that is compatible with certbot 2.x." } diff --git a/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run b/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run index aec275cc..88593652 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run +++ b/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run @@ -1,30 +1,38 @@ #!/usr/bin/with-contenv bash # shellcheck shell=bash -# if root crontabs do not exist in config -# copy root crontab from system -if [[ ! -f /config/crontabs/root ]] && crontab -l -u root; then - crontab -l -u root >/config/crontabs/root -fi +# make folders +mkdir -p \ + /config/crontabs -# if root crontabs still do not exist in config (were not copied from system) -# copy root crontab from included defaults +## root +# if crontabs do not exist in config if [[ ! -f /config/crontabs/root ]]; then - cp /etc/crontabs/root /config/crontabs/ -fi + # copy crontab from system + if crontab -l -u root; then + crontab -l -u root >/config/crontabs/root + fi -# if abc crontabs do not exist in config -# copy abc crontab from system -if [[ ! -f /config/crontabs/abc ]] && crontab -l -u abc; then - crontab -l -u abc >/config/crontabs/abc + # if crontabs still do not exist in config (were not copied from system) + # copy crontab from included defaults (using -n, do not overwrite an existing file) + cp -n /etc/crontabs/root /config/crontabs/ fi +# set permissions and import user crontabs +lsiown root:root /config/crontabs/root +crontab -u root /config/crontabs/root -# if abc crontabs still do not exist in config (were not copied from system) -# copy abc crontab from included defaults +## abc +# if crontabs do not exist in config if [[ ! -f /config/crontabs/abc ]]; then - cp /etc/crontabs/abc /config/crontabs/ -fi + # copy crontab from system + if crontab -l -u abc; then + crontab -l -u abc >/config/crontabs/abc + fi -# import user crontabs -crontab -u root /config/crontabs/root + # if crontabs still do not exist in config (were not copied from system) + # copy crontab from included defaults (using -n, do not overwrite an existing file) + cp -n /etc/crontabs/abc /config/crontabs/ +fi +# set permissions and import user crontabs +lsiown abc:abc /config/crontabs/abc crontab -u abc /config/crontabs/abc