mirror of
				https://github.com/linuxserver/docker-swag.git
				synced 2025-11-04 15:02:38 +09:00 
			
		
		
		
	Merge pull request #346 from linuxserver/crontab-perms
Format cron init and set permissions
This commit is contained in:
		@@ -336,6 +336,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Versions
 | 
					## 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.
 | 
					* **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.
 | 
					* **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.
 | 
					* **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.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -154,6 +154,7 @@ app_setup_block: |
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# changelog
 | 
					# changelog
 | 
				
			||||||
changelogs:
 | 
					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: "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: "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." }
 | 
					  - { 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." }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,30 +1,38 @@
 | 
				
			|||||||
#!/usr/bin/with-contenv bash
 | 
					#!/usr/bin/with-contenv bash
 | 
				
			||||||
# shellcheck shell=bash
 | 
					# shellcheck shell=bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# if root crontabs do not exist in config
 | 
					# make folders
 | 
				
			||||||
# copy root crontab from system
 | 
					mkdir -p \
 | 
				
			||||||
if [[ ! -f /config/crontabs/root ]] && crontab -l -u root; then
 | 
					    /config/crontabs
 | 
				
			||||||
    crontab -l -u root >/config/crontabs/root
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# if root crontabs still do not exist in config (were not copied from system)
 | 
					## root
 | 
				
			||||||
# copy root crontab from included defaults
 | 
					# if crontabs do not exist in config
 | 
				
			||||||
if [[ ! -f /config/crontabs/root ]]; then
 | 
					if [[ ! -f /config/crontabs/root ]]; then
 | 
				
			||||||
    cp /etc/crontabs/root /config/crontabs/
 | 
					    # copy crontab from system
 | 
				
			||||||
fi
 | 
					    if crontab -l -u root; then
 | 
				
			||||||
 | 
					        crontab -l -u root >/config/crontabs/root
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# if abc crontabs do not exist in config
 | 
					    # if crontabs still do not exist in config (were not copied from system)
 | 
				
			||||||
# copy abc crontab from system
 | 
					    # copy crontab from included defaults (using -n, do not overwrite an existing file)
 | 
				
			||||||
if [[ ! -f /config/crontabs/abc ]] && crontab -l -u abc; then
 | 
					    cp -n /etc/crontabs/root /config/crontabs/
 | 
				
			||||||
    crontab -l -u abc >/config/crontabs/abc
 | 
					 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					# set permissions and import user crontabs
 | 
				
			||||||
# if abc crontabs still do not exist in config (were not copied from system)
 | 
					lsiown root:root /config/crontabs/root
 | 
				
			||||||
# copy abc crontab from included defaults
 | 
					 | 
				
			||||||
if [[ ! -f /config/crontabs/abc ]]; then
 | 
					 | 
				
			||||||
    cp /etc/crontabs/abc /config/crontabs/
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# import user crontabs
 | 
					 | 
				
			||||||
crontab -u root /config/crontabs/root
 | 
					crontab -u root /config/crontabs/root
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## abc
 | 
				
			||||||
 | 
					# if crontabs do not exist in config
 | 
				
			||||||
 | 
					if [[ ! -f /config/crontabs/abc ]]; then
 | 
				
			||||||
 | 
					    # copy crontab from system
 | 
				
			||||||
 | 
					    if crontab -l -u abc; then
 | 
				
			||||||
 | 
					        crontab -l -u abc >/config/crontabs/abc
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 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
 | 
					crontab -u abc /config/crontabs/abc
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user