我想做几件事。我想要一个 sudoers 文件,它可以访问除“sudo su -”和“sudo rm {var log 中的任何内容}”之外的所有命令。第二个纯粹是为了让某人无法删除他们一直在做的事情。这样我就有了管理员以 root 身份运行的所有命令的历史记录.....如果可能的话,带有时间戳会更好吗?
然后,我们使用名为 serveruser 的用户运行我们的服务器。我更喜欢某人想要运行的任何命令,因为该用户每次也必须执行类似 sudo 的操作,并且我们将每个命令记录为实际运行该命令的用户。我不希望有人执行“sudo su - serveruser”然后运行命令,因为我无权访问谁运行了这些命令。
如何锁定服务器以便我可以看到所有这些信息并具有可追溯性。我们只是希望能够在系统出现问题时查看对系统做了什么,这样我们就可以扭转错误并与正在做这项工作的人交谈。
谢谢,院长
简短的回答:你不能这样做(以任何可行的方式)不使用 sudo 如果你拿走了
sudo su -
功能,那么你必须指定它们可以单独运行的内容。而且我通过小道消息听到的是,sudo 不是防弹的。你可以愚弄它,让它做管理员试图阻止你做的事情。您需要的是一个审计系统,它需要登录到远程主机,而您无法使用本地服务器的 root 权限访问远程主机。否则,你就是把王国的钥匙交给了你(显然)不信任的人,并希望得到最好的结果。
如果这是工作场所的要求,我强烈建议花钱从 Beyond Trust(以前称为 Symark)购买 PowerBroker。它并不便宜,但它可以满足您的需要:提供精细的权限并记录它们。
我发现那里有一些不错的东西,比如 rootsh 和其他一些东西,也有可能写一个简短的脚本。它不是 100% 安全的,但我不需要那个……如果我们的一位管理员想要破坏我们的系统,他们无论如何都可以……我们都只想要可追溯性,这样我们的管理员可能会开始运行“fakesudo.sh用户”,它为我们完成了工作。