Linux 找到一种使命令无法执行的方法

Linux 找到一种使命令无法执行的方法,linux,shell,command,Linux,Shell,Command,我有一个linux用户 我有一个问题,因为linux中的用户被许多用户访问,有时有人会因为错误而写入crontab-r并删除所有crontab 有没有办法锁定命令:“crontab-r”?(我不是用户root,仅在此用户中具有此权限) 但是我需要用户中的所有人都可以创建crontab(“crontab-e”)或列出crontab(“crontab-l”) 我有一个红帽服务器 谢谢您必须将crontab制作成一个shell脚本,该脚本将捕获此内容并抛出一个错误。但是,如何判断手术是否正确取决于你自

我有一个linux用户

我有一个问题,因为linux中的用户被许多用户访问,有时有人会因为错误而写入crontab-r并删除所有crontab

有没有办法锁定命令:“crontab-r”?(我不是用户root,仅在此用户中具有此权限)

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

我有一个红帽服务器


谢谢

您必须将crontab制作成一个shell脚本,该脚本将捕获此内容并抛出一个错误。但是,如何判断手术是否正确取决于你自己。由于许多不同的人使用相同的用户名登录,因此没有内在的方法来判断什么时候做某件事是合适的,什么时候不合适。

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

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

我认为您可以更改该程序的权限,只允许某些用户执行它。类似于“SudoChimd CrutabA[Purvest]”这样做有帮助:一旦你明白了,也许你应该考虑不要使用共享帐户…当你当前的混乱需要持续的灭火时,没有时间去发现诸如部署过程和版本控制之类的事情。让我们希望他们找到更好的工作,在那里他们可以学习。