您查看的文章来源于http://www.oklinux.cn
在Linux操作系统中,管理员可以通过一定的手段要求系统的工作在一个特定的时间、日期或者当系统平均负荷比较低的时候自动执行某些特定的工作。通常情况下,可以通过at与cron两个命令来实现自动化作业。而且这两个命令无论是管理员用户还是普通用户都可以使用。中,这个两个文件默认保存在/etc文件夹下。这两个存取控制文件的格式是在每一行设置一个用户名,而且两个文件中都不允许有空格符的存在。如果系统管理员出于安全的考虑,需要限制用户使用at命令,则可以在at.deny控制文件中输入对应的用户名字即可。修改存取控制文件后,马上生效。即不需要重新启动系统进程这个限制才会生效。而且对于先前已经设置的at指令,也会失效。这主要是因为这个存取控制文件的生效时间是系统在执行at指令的时候。另外需要注意的是,系统管理员不能够利用这两个文件来限制root帐户的权利。Root帐户随时都可以执行at指令,即使这个帐户已经被列入了at.deny存取控制文件的黑名单。
也许心细的读者会发现,如果一个帐户同时存在与这两个文件中。或者说系统有A、B两个用户。在at.allow帐户中设置为只有A允许使用at指令;而在at.deny存取控制文件中又设置只有A用户禁止使用at命令。那么最终的结果会是如何呢?会不会有相互矛盾的地方呢?系统在这里主要是借鉴了优先级的控制手段来避免这种相互矛盾的情况出现。如当操作系统中管理员同时定义了这两个文件,那么系统就会忽视at.deny存取控制文件的存在。也就是说,此时操作系统只考虑at.allow文件中的内容。就上面两个例子来说,系统将运行A用户执行at命令(包括root用户)。其他用户将无权执行at命令。
而对于cron自动化命令就没有这方面的限制。这主要是因为这两个命令是由不同的设计者实现的。这也是Linux操作系统的一个特性,它是由一个个小的命令所搭建而成的一个操作系统。类似的情况在Linux系统中还有很多。这也是他们两个命令的最大差异所在。