在 Ubuntu 里“定时器”通常分两种情况,权限设置方式不一样:
如果你用的是 systemd timer(.timer + .service 文件):
定时器文件一般放在:
/etc/systemd/system/(系统级)~/.config/systemd/user/(用户级)设置权限示例:
sudo chown root:root /etc/systemd/system/xxx.timer
sudo chmod 644 /etc/systemd/system/xxx.timer
在 .service 文件里设置:
[Service]
User=www-data
Group=www-data
这样定时器就以指定用户权限运行。
如果是普通用户定时器:
systemctl --user enable xxx.timer
不需要 sudo,只对该用户生效。
/etc/cron.d/
/etc/cron.daily/
/etc/cron.hourly/
设置权限:
sudo chmod 755 /etc/cron.daily/myscript
sudo chown root:root /etc/cron.daily/myscript
/etc/cron.allow/etc/cron.deny示例:
echo "alice" | sudo tee /etc/cron.allow
crontab -e # 当前用户
sudo crontab -e # root
777journalctl -u xxx.timer
如果你能说清楚是 systemd timer 还是 cron,以及 想限制谁运行/谁能改,我可以给你更精确的命令。