Linux/UNIX仅限于/cron使用授权用户

时间:2020-01-09 10:40:38  来源:igfitidea点击:

cron和at服务用于允许以后执行命令。
如何将他们限制为选定的用户,例如root,opt1,opt2等?
如何确保用户php可以运行php脚本但不能修改或安装新作业?
几乎所有UNIX/Linux/BSD操作系统都需要cron服务来执行必要的维护任务。

cron和anacron都使用许多配置文件和目录。
普通用户可以修改和安装自己的cron配置或作业。

  • /etc/cron.allow放置允许使用cron的用户。
  • /etc/at.allow将允许使用的用户放在。

如果这些文件存在并且相应的文件/etc/cron.deny和/etc/at.deny不存在,则只有在相关允许文件中列出的用户才能运行crontab和at命令来提交其作业。

如何限制并仅授权用户使用?

首先,删除/etc/cron.deny和/etc/at.deny文件。

# rm /etc/cron.deny /etc/at.deny

现在,打开/etc/cron.allow,执行:

# vi /etc/cron.allow

为每个允许使用crontab命令创建cron作业的用户添加一行。
最后,使用诸如vi的文本编辑器编辑/etc/at.allow,执行:

# vi /etc/at.allow

为每个允许使用at命令创建at作业的用户添加一行:

Hyman
shri
krish
tom
root
foo
bar
php

请注意,即使cron.allow,cron作业中未列出名为jerry的用户,他仍可以作为该用户运行。

cron.allow文件仅控制对crontab命令的管理访问,以计划和修改cron作业。
换句话说,您可以代表jerry设置/修改cron作业。

Jerry只能运行它,但不能设置或修改作业。