我想做一些事情。 我想有一个sudoers文件,可以访问除“sudo su – ”之外的所有命令以及“sudo rm {var in log中的所有内容}”。 第二个是纯粹的,所以有人不能删除他们一直在做的事情。 这样,我有pipe理员作为根运行的所有命令的历史…..有时间戳甚至会更好,如果可能的话?
然后,我们用一个名为serveruser的用户运行我们的服务器。 我宁愿任何有人希望以该用户身份运行的命令也必须每次都做类似sudo的事情,并且将每个命令都logging为实际运行该命令的用户。 我不希望有人在执行“sudo su – serveruser”,然后运行命令,因为我无法访问谁运行命令。
如何locking服务器,以便我可以看到所有这些信息并具有可追溯性。 我们只是希望能够看到当一个系统坏了的时候正在做什么,这样我们就可以扭转这个错误,并和正在从事这个工作的人交谈。
谢谢,Dean
简短的回答:你不能这样做(以任何可行的方式)sudo没有使用如果你拿走sudo su -
function,那么你必须指定他们可以单独运行。 而我通过葡萄藤听到的,sudo不是防弹的。 你可以欺骗它,让它做一些pipe理员试图阻止你做的事情。
您需要的是一个审计系统,它需要login到远程主机,而远程主机无法使用本地服务器的root权限访问。 否则,你把这个王国的钥匙交给你(显然)不信任的人,并希望得到最好的结果。
如果这是一个工作场所的要求,我强烈build议花钱,从Beyond Trust(以前称为Symark)获得PowerBroker。 这并不便宜,但它可以满足您的需求:提供细化的权限并logging它们。
我发现有一些像rootsh和其他一些体面的东西,以及可能会写一个简短的脚本。 这不是100%的安全,但我不需要…如果我们的pipe理员之一想要摧毁我们的系统,他们可以反正….我们都只是想追溯,所以我们的pipe理员可能会开始运行“fakesudo.sh用户“,为我们完成工作。