如何为 Linux 中的用户或组授予 sudo 权限,并对某些文件具有有限权限

如何为 Linux 中的用户或组授予 sudo 权限,并对某些文件具有有限权限

我想在我的 CentOS 6.7 服务器上提供具有 sudo 权限的用户或特定组的列表,但无法访问此文件 /root/database.yml 这可能吗?该文件实际上有一个密码,除了我之外,我不希望任何人看到该密码。非常感谢任何建议或帮助。

答案1

是的,该sudo程序允许您限制用户可以执行的操作。该政策在文件中/etc/sudoers。如果您只想允许某些操作,请编写一个仅实现这些操作的脚本,并将它们限制为仅将其作为命令运行。为了确保安全性是您想要的,您可能需要了解sudosudoers手册页。

答案2

不,你不能那样做。如果您向某人授予 root 权限,他们就可以执行所有操作,包括读取和写入每个文件。即使有办法以某种方式排除/root/database.yml,root 仍然可以更改 sudo 配置、替换 sudo 二进制文件、直接访问磁盘等。

如果您不信任其他管理员,请勿在计算机上存储任何机密。

如果您既要存储机密文件,又要让管理员无法读取该文件,则该文件必须存储在与这些人员担任管理员的计算机不同的计算机上。不同的机器当然可以是虚拟机或容器,它们不必是单独的物理机。

因此,将您希望其他管理员管理的所有服务放入虚拟机或容器中,并使它们扎根于虚拟机/容器中。将机密文件保留/root/database.yml在主机上,并且不要授予主机上的任何root权限。

相关内容