【问题标题】:find a way to make a command not possible to execute找到一种方法使命令无法执行
【发布时间】:2014-08-28 19:42:01
【问题描述】:

我有一个linux用户

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

有没有办法锁定命令:“crontab -r”? (我不是root用户,只有这个用户有这个权限)

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

我有一个红帽服务器。

谢谢

【问题讨论】:

  • 我认为您可以更改该程序的权限以仅允许某些用户执行它。类似“sudo chmod crontab [权限]”
  • 一旦你弄清楚了,也许你应该考虑不使用共享帐户...
  • 当您当前的混乱需要不断的救火时,没有时间去发现诸如部署过程和版本控制之类的东西。让我们希望他们能找到更好的工作来学习。

标签: linux shell command


【解决方案1】:

如果您需要防止的只是粗心大意,那么/usr/local/bin/crontab 中的一个简单包装器就足够了。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-19
      • 2016-08-20
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多