
Ich habe ein Bash-Skript so eingerichtet, dass es automatisch (von crontab) mit sudo
Berechtigungen ausgeführt wird.Das visudo
Lösung.
Da das Skript mehrere Durchläufe erfordert, verunreinigt es meine /var/log/auth.log
, also habe ich die TTY
Ausgabe deaktiviert (nur für das spezifische Skript, das ich invisudo
) folgendDasLösung erfolgreich. Mit TTY
meine ich diese Art von Protokolleintrag: [user] : TTY=unknown ; PWD=... ; USER=root ; COMMAND=...
.
Aber ich habe noch die folgenden 2 Zeilen übrig/var/log/auth.log
jedejedes Mal, wenn das Skript ausgeführt wird (es wird mit Privilegien ausgeführt sudo
). Da es viele Male ausgeführt wird, erhalte ich diese Ausgabe viele, viele Male, was ärgerlich ist:
Nov 01 00:00:00 1234567 sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Nov 01 00:00:00 1234567 sudo: pam_unix(sudo:session): session closed for user root
Diese Frage ist mir bekannt:Wie stoppe ich Sudo-PAM-Nachrichten in auth.log für einen bestimmten Benutzer?, die das Deaktivieren von PAM-Nachrichten zu ermöglichen scheintpro Benutzer.
Ich konnte jedoch keine Lösung finden, um die obige PAM-Nachricht zu deaktivieren in/var/log/auth.log
nur für ein bestimmtes Skript. Im Grunde suche ich nach dem Äquivalent zu dem, was ich für die TTY
Ausgabe mit gemacht habe visudo
, die aus der Protokollierung herausschneidetnur das spezifische Skript, das ich angegeben habe.
Irgendwelche Ideen?
(Auf dem System läuft Ubuntu 18.04 LTS)
Antwort1
Wenn das Skript von einem Root-Benutzer (oder dem System-Benutzer) ausgeführt wird, crontab
besteht die Möglichkeit, es vom Root-Benutzer crontab
(oder dem System-Benutzer) aus auszuführen. Dies sudo
ist also nicht mehr erforderlich.