Eigentlich führe Clawloon mich zur Antwort, aber lassen Sie mich meine eigene, umfassendere Antwort erstellen, damit sie nach oben schweben kann.
Ich weiß nicht, wie üblich es ist, aber einige Online-Ubuntu-Dokumentation besagt, dass / etc / crontab beim Upgrade überschrieben werden kann. Die bevorzugte Lösung ist das Erstellen einer Datei mit dem Namen /etc/cron.d/anything (wo alles sein kann) (alles gut. Jeder Dateiname)
Ich habe eine Datei mit dem Namen /etc/cron.d/nobody erstellt und setze die Skripts als nicht privilegierten Benutzer ein. Beispielzeilen:
# run the following every day at 01:02 AM 02 01 * * * nobody /usr/local/bin/script-to-run-as-nobody.sh
Ich habe einen Kommentar in root's Crontab eingefügt, den andere verfolgen können, da die täglichen Crontab-Jobs derzeit alle von dort ausgeführt werden. Nicht gerade die beste Praxis.
Zu Testzwecken muss ich den Job zuerst über die Befehlszeile ausführen. Da ich Sudo-Privilegien habe, verwende ich:
$ sudo -u root sudo -u nobody /usr/local/bin/script-to-run-as-nobody.sh
Wenn dieses Skript in / dev / stderr oder / dev / stdout ausgegeben werden muss, gehen Sie wie folgt vor:
$ chmod o+w /dev/ttyp1
und mache ein:
$ chmod o-w /dev/ttyp1
Wenn Sie mit dem Testen fertig sind, verhindern Sie, dass nur jemand Junk an den Bildschirm Ihres Terminals sendet. (Das tatsächliche Terminal, das Sie verwenden, kann sich von / dev / tty1 unterscheiden. Verwenden Sie daher einen $ ls -ltr / dev / tty * | grep-Benutzernamen, um herauszufinden, welcher der von Ihnen ist.)