我已自动每天重新启动 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 身份运行图形应用程序?
这里(至少)有两个问题,即使您没有意识到! :-)
使用什么用户帐户
cron
来运行作业?如果用户使用该
crontab
命令在自己的 crontab 中创建 cron 条目,则该作业将以该用户身份运行。这甚至适用于 root。如果具有适当特权的用户在系统 crontab 之一中创建条目(例如,通过向 中的文件添加条目)
/etc/cron.d
,则作业必须定义将用于运行它的用户帐户。cron 运行图形应用程序吗?
cron 执行环境被刻意削减到最低限度。这里的常见问题是为什么找不到应用程序(
$PATH
不包括其他目录)或为什么文件不会写入预期目录(初始目录是$HOME
)。您可能会发现设置
$DISPLAY
就足够了,但通常至少需要一个附加身份验证变量才能运行 GUI 应用程序。看将通知发送与 cron 结合使用举个例子。