SSL/TLS-Zertifizierung mit cron automatisieren – 2

Im letzten Beitrag wurde alle notwendige shell scripts geschrieben und die Berechtigungen für ihre Ausführung sind konfiguriert. Es bleibt nur noch die Automatisierung dieses Prozesses.

Weil der Befehl für certbot-auto die root-Berechtigung fordert, muss cron mit sudo geführt werden. (Ich gehe hier davon aus, dass man hier nicht als root-user arbeitet.)

$ sudo crontab -e

Dadurch, dass der Befehl mit sudo aufgerufen wird, werden die in crontab aufgelisteten Befehle immer mit sudo ausgeführt.

In der Tabelle trägt man den shell script-Befehl wie folgt:

00 5 1,15 * * /path/to/shell script/createKey_and_restart_sample.sh

Bei default sudo-Einstellung bekommt dieser cron-Befehl ein Problem, weil bei einer sudo-Ausführung das Passwort des users im Terminal verlangt wird. Daher muss die sudo-Einstellung geändert werden.

$ sudo visudo

Mit visudo geht man in die sudo-Einstellung. Dann fügt man die folgenden zwei Zeilen hinzu:

Defaults:[user-Name] !requiretty
[user-Name] ALL=(ALL) NOPASSWD: /path/to/shell script/createKey_and_restart_sample.sh

So kann allein der hier eingetragene user ohne Terminal («tty») den Befehl «[…]/createKey_and_restart_sample.sh» ohne Passwort ausführen.

Jetzt sollte die Automatisierung fertig sein…