2014-08-28 38 views
1

我在linux找到一种方法,使无法执行的命令

用户和我有一个问题,因为在Linux用户被许多用户,并在某些时候有人为错误写的crontab访问 - r并删除所有crontabs。

有没有办法锁定命令:“crontab -r”? (我不是用户的根,只有在这个用户这个permisions)

但我需要用户的所有人可以创建crontab(“crontab -e”)或列出crontab(“crontab -l” )

我有一个红帽子服务器。

感谢

+0

我认为你可以改变该程序的权限,只允许某些用户执行它。像“sudo chmod crontab [权限]” – durbnpoisn 2014-08-28 19:43:50

+2

这是否有帮助: - http://unix.stackexchange.com/questions/90998/block-particular-command-in-linux-for-specific-user – 2014-08-28 19:46:48

+6

一旦你已经弄明白了,也许你应该考虑不使用共享帐户...... – twalberg 2014-08-28 19:48:13

回答

1

你不得不做的crontab成一个shell脚本,会赶上这一点,并抛出一个错误。但是,如何确定手术何时适当,取决于您。由于许多不同的用户使用相同的用户名登录,因此没有内在的方式来判断什么时候适合做什么,什么时候不适用。

2

如果您需要防止的是粗心大意,那么只需要/usr/local/bin/crontab中的简单包装即可。

#!/bin/sh 
case $1 in 
-r) echo "$0 -r disabled; aborting" >&2 
    exit 1;; 
esac 
exec /usr/bin/crontab "[email protected]"