我想允许非 root 用户创建定期任务,但我不想通过授予他们访问 crontab 的权限来间接授予他们 root 访问权限。他们是否有其他选择来创建没有 root 访问权限的 cron 任务?
我可以在 crontab 中自己创建一个脚本,检查所有用户主文件夹并运行他们提供的具有用户权限的类似 crontab 的文件。但是......这基本上是重新发明 crontab 并且我确信我的实现很容易出现安全问题。
有没有办法在不重新发明轮子的情况下做到这一点?很奇怪的是Linux 还没有提供这种机制。
答案1
默认情况下,每个用户都可以创建一个 crontab。用户所需要的只是能够通过 ssh 登录系统。用户登录后,所要做的就是
crontab -e
这将打开一个 crontab 文件供它们填充。用户使用完 crontab 后,该文件将保存在每个用户的 /var/spool/cron/* 中。
将运行计划的作业作为用户,具有用户的权限不像root
。
如果您想为不同的用户创建 crontab,您可以自己为每个用户创建它们,然后检查它们。用户不需要 root 访问权限来执行此操作
在 RHEL 系统上,用户的 crontab乔会有路径/var/spool/cron/joe
答案2
在许多Linux系统上,每个用户都有自己的cron表,他们可以使用命令进行管理crontab
;它不会以root
的权限执行,而是以他们自己的权限执行。