cronはグラフィカルアプリケーションをrootとして実行しますか?

cronはグラフィカルアプリケーションをrootとして実行しますか?

毎日 Firefox を自動的に再起動しました(実行して編集crontab -e)プログラムを起動するかどうかを検討するのを忘れました。管理者権限があります

killall -s SIGTERM firefox; sleep 15
export DISPLAY=:0.0
firefox -P "user" &

Javascript Webページをrootに移動すると、非常に高いセキュリティリスクが発生する可能性があります。幸いなことに、Firefoxは(仮想マシンの)要求を拒否しているようです。

    restorecon: restorecon: SELinux: Could not get canonical path for /root/.mozilla/firefox/* restorecon: No such file or directory.
    SELinux: Could not get canonical path for /root/.mozilla/firefox/* restorecon: No such file or directory.
    Running Firefox as root in a regular user's session is not supported.  ($XAUTHORITY is /run/user/1000/.mutter-Xwaylandauth.<a potential ID string> which is owned by user.)

Webブラウザもcronによってrootとして実行されますか?代わりにルートのcrontabを使用するとどうなりますか?

答え1

cronはグラフィカルアプリケーションをrootとして実行しますか?

気付かなくても、ここには(少なくとも)2つの問題があります! :-)

  1. cronジョブの実行にはどのユーザーアカウントが使用されますか?

    ユーザーがこのcrontabコマンドを使用してcrontabにcronエントリを作成すると、そのユーザーとしてジョブが実行されます。これはルートでも機能します。

    適切な権限を持つユーザーがシステムcrontabの1つにエントリを作成する場合(ファイルにエントリを追加するなど)、/etc/cron.dアクションは実行するユーザーアカウントを定義する必要があります。

  2. cronはグラフィカルアプリケーションを実行しますか?

    cron 実行環境は意図的に最小限に保たれます。ここでよくある質問は、アプリケーションが見つからない理由($PATH他のディレクトリは含まれていません)、またはファイルが予想ディレクトリ(初期ディレクトリ$HOME)に書き込まれない理由です。

    設定だけで$DISPLAY十分ですが、通常、GUIアプリケーションを実行するには少なくとも1つ以上の追加認証変数が必要です。バラよりcronに通知を送信する例えば。

関連情報