sudo
次の権限を使用して(crontabで)自動的に実行するようにbashスクリプトを設定しました。これ visudo
解決策。
スクリプトを複数回実行する必要があるため、スクリプトが汚染される可能性があるため、出力を/var/log/auth.log
無効にしました(TTY
私が指定した特定のスクリプトでのみ機能します。visudo
)指示に従うこれ正常に解決されました。私が言うのは、TTY
次の種類のログエントリです[user] : TTY=unknown ; PWD=... ; USER=root ; COMMAND=...
。
しかし、次の2行が残りました。/var/log/auth.log
各スクリプトが実行された時間(sudo
権限で実行されます)。複数回実行されたため、この出力は複数回表示されますが、これは面倒です。
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
私はこの質問を知っています:特定のユーザーのauth.logでsudo PAMメッセージをどのように停止しますか?、PAMメッセージを無効にできるようです。ユーザーごと。
しかし、上記のPAMメッセージを無効にする解決策が見つかりません。/var/log/auth.log
特定のスクリプトでのみ機能します。。デフォルトでは、私はロギングからTTY
出力を削除するのと同じ作業を探しています。visudo
ただ 私が指定した特定のスクリプト。
どんなアイデアがありますか?
(システムはUbuntu 18.04 LTSを実行しています。)
答え1
crontab
オプションでスクリプトを実行している場合は、crontab
ルートディレクトリ(またはシステムディレクトリ)で実行でき、もはやsudo
必要ありません。