cron 是否以 root 身份运行图形应用程序?

cron 是否以 root 身份运行图形应用程序?

我已自动每天重新启动 Firefox(通过运行编辑crontab -e)并忘记考虑程序是否会启动具有管理员权限

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

以 root 身份浏览 Javascript 网页可能会带来极高的安全风险——幸运的是,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.)

甚至网络浏览器也会由 cron 以 root 身份运行吗?如果改用 root 的 crontab 会怎样?

答案1

cron 是否以 root 身份运行图形应用程序?

这里(至少)有两个问题,即使您没有意识到! :-)

  1. 使用什么用户帐户cron来运行作业?

    如果用户使用该crontab命令在自己的 crontab 中创建 cron 条目,则该作业将以该用户身份运行。这甚至适用于 root。

    如果具有适当特权的用户在系统 crontab 之一中创建条目(例如,通过向 中的文件添加条目)/etc/cron.d,则作业必须定义将用于运行它的用户帐户。

  2. cron 运行图形应用程序吗?

    cron 执行环境被刻意削减到最低限度。这里的常见问题是为什么找不到应用程序($PATH不包括其他目录)或为什么文件不会写入预期目录(初始目录是$HOME)。

    您可能会发现设置$DISPLAY就足够了,但通常至少需要一个附加身份验证变量才能运行 GUI 应用程序。看将通知发送与 cron 结合使用举个例子。

相关内容