@@ -31,6 +31,12 @@ if [[ "${VALIDATION}" = "dns" ]] && ! echo "${CERTBOT_DNS_AUTHENTICATORS}" | gre
3131 sleep infinity
3232fi
3333
34+ # set owner of certbot's CONFIG_DIR, WORK_DIR, and LOGS_DIR to abc
35+ lsiown -R abc:abc \
36+ /etc/letsencrypt \
37+ /var/lib/letsencrypt \
38+ /var/log/letsencrypt
39+
3440# set_ini_value logic:
3541# - if the name is not found in the file, append the name=value to the end of the file
3642# - if the name is found in the file, replace the value
@@ -46,6 +52,7 @@ function set_ini_value() {
4652
4753# ensure config files exist and has at least one value set (set_ini_value does not work on empty files)
4854touch /config/etc/letsencrypt/cli.ini
55+ lsiown abc:abc /config/etc/letsencrypt/cli.ini
4956grep -qF 'agree-tos' /config/etc/letsencrypt/cli.ini || echo 'agree-tos=true' >>/config/etc/letsencrypt/cli.ini
5057
5158# copy dns default configs
@@ -192,9 +199,9 @@ if [[ ! "${URL}" = "${ORIGURL}" ]] ||
192199 REV_ACMESERVER=("https://acme-v02.api.letsencrypt.org/directory")
193200 fi
194201 if [[ -f /config/etc/letsencrypt/live/"${ORIGDOMAIN}"/fullchain.pem ]]; then
195- certbot revoke --non-interactive --cert-path /config/etc/letsencrypt/live/"${ORIGDOMAIN}"/fullchain.pem --server "${REV_ACMESERVER[@]}" || true
202+ s6-setuidgid abc certbot revoke --non-interactive --cert-path /config/etc/letsencrypt/live/"${ORIGDOMAIN}"/fullchain.pem --server "${REV_ACMESERVER[@]}" || true
196203 else
197- certbot revoke --non-interactive --cert-name "${ORIGDOMAIN}" --server "${REV_ACMESERVER[@]}" || true
204+ s6-setuidgid abc certbot revoke --non-interactive --cert-name "${ORIGDOMAIN}" --server "${REV_ACMESERVER[@]}" || true
198205 fi
199206 rm -rf /config/etc/letsencrypt/{accounts,archive,live,renewal}
200207fi
@@ -207,9 +214,9 @@ if [[ -f "/config/keys/letsencrypt/chain.pem" ]] && { [[ "${CERTPROVIDER}" == "l
207214 echo "The cert seems to be using the old LE root cert, which is no longer valid. Deleting and revoking."
208215 REV_ACMESERVER=("https://acme-v02.api.letsencrypt.org/directory")
209216 if [[ -f /config/etc/letsencrypt/live/"${ORIGDOMAIN}"/fullchain.pem ]]; then
210- certbot revoke --non-interactive --cert-path /config/etc/letsencrypt/live/"${ORIGDOMAIN}"/fullchain.pem --server "${REV_ACMESERVER[@]}" || true
217+ s6-setuidgid abc certbot revoke --non-interactive --cert-path /config/etc/letsencrypt/live/"${ORIGDOMAIN}"/fullchain.pem --server "${REV_ACMESERVER[@]}" || true
211218 else
212- certbot revoke --non-interactive --cert-name "${ORIGDOMAIN}" --server "${REV_ACMESERVER[@]}" || true
219+ s6-setuidgid abc certbot revoke --non-interactive --cert-name "${ORIGDOMAIN}" --server "${REV_ACMESERVER[@]}" || true
213220 fi
214221 rm -rf /config/etc/letsencrypt/{accounts,archive,live,renewal}
215222fi
@@ -342,7 +349,7 @@ if [[ ! -f "/config/keys/letsencrypt/fullchain.pem" ]]; then
342349 set_ini_value "eab-hmac-key" "${ZEROSSL_EAB_HMAC_KEY}" /config/etc/letsencrypt/cli.ini
343350 fi
344351 echo "Generating new certificate"
345- certbot certonly --non-interactive --renew-by-default
352+ s6-setuidgid abc certbot certonly --non-interactive --renew-by-default
346353 if [[ ! -d /config/keys/letsencrypt ]]; then
347354 if [[ "${VALIDATION}" = "dns" ]]; then
348355 echo "ERROR: Cert does not exist! Please see the validation error above. Make sure you entered correct credentials into the ${DNSCREDENTIALFILE} file."
0 commit comments