删除特定文件的 sudo 访问权限

删除特定文件的 sudo 访问权限

我在 ubuntu 服务器上有一个文件,该文件只能由一个用户访问。服务器上还有其他具有 sudo 权限的用户。我试图限制此文件的访问权限,尽管另一个用户只需使用 sudo 即可查看/修改内容。

我查看了visudo禁用的chmod命令chown。因此用户无法更改文件权限。我查看了访问控制列表,据我了解,可以使用 sudo 绕过它。

所以我的问题是,如何才能限制一个文件只能由一个用户访问。而无需使用 sudo 来绕过权限。

答案1

唯一的办法就是拒绝sudo其他用户的访问。如果有多个拥有sudo管理员权限的人,您就无法限制对sudo/ 的访问root,最好不要将此文件保留在服务器上。特别是如果您不相信系统上拥有管理员权限的每个人都不会窥探您的数据。

以任何身份运行任何内容的权限sudo本质上等同于拥有root访问权限,但无需root解锁帐户。 root可以访问所有内容。您将无法阻止该访问权限。

除了删除sudo这些用户或添加特殊sudoers行来定义确切地sudo其他具有该权限的用户可以通过哪些命令运行sudo(没有别的,在这个意义上,他们是“受限制的”管理员权限,因为他们不能用他们的权限做任何事情sudo),你没有选项来防止sudo/root查看文件。


其他替代方案是在上传之前在系统本地对文件进行加密,例如使用gpg加密等。在这种情况下,即使他们可以访问文件,他们也无法编辑或查看内容,因为文件已加密,并且不会拥有读取文件所需的解密代码,即使如此root。但是这更复杂,有点超出了您提出的问题的范围。

答案2

我首先要问一个不同的问题:其他用户需要 sudo 的哪些权限?如果他们只需要执行特定操作(例如重新启动服务器)和访问特定文件夹,那么您可以配置 sudo 以仅授予他们以 root 身份执行这些特定操作的权限。您的文件将是安全的,事实上整个系统将具有更强大的安全性。

另一方面,如果用户需要 sudo 才能获得除此文件之外的完全 root 访问权限,那么在将文件存储在该服务器上的同时,没有办法限制他们的访问权限,因此解决问题的正确方法是将文件(或至少是文件的主副本)存储在其他地方,并且只允许其他用户在需要查看时下载临时副本。毕竟,用户有能力更改服务器上的任何内容,包括您试图对他们施加的任何限制。

然而,这些都只是在拐弯抹角。如果这些人不值得信任,他们为什么一开始就拥有 root 权限?

相关内容