如何阻止root用户删除文件?


8

我想知道是否可以阻止root用户删除文件。可能吗?


2
关闭电脑。无法采取任何措施阻止这种情况!
slm

2
Root在Windows世界中被称为“超级管理员”,它是一个专门用于该帐户的帐户,因为它可以执行所需的任何操作。即使您要阻止root做某事,也没有办法这样做。只有使用权限/ acls / setuid /功能/ sudo无法完成任何事情,或者这样做的时间多于其应得的时间,人们才应该获得root用户的访问权限。如果您对此感到担心,请编写一个脚本来执行他们需要root的操作,并为他们提供该脚本的sudo权限。
Bratchley

为什么要这样做?
Nils 2013年

Answers:


13

不,这是不可能的。您可以使用设置不可变属性chattr +i,这至少会使它变得烦人且不明显,要写入文件必须做些什么,但他们可以再次取消设置。另外,您的文件系统必须支持此功能并启用功能。

SELinux也可以做一些限制,但是再次可以将其禁用。

更好的解决方案是通过限制用户和程序的访问来适当地控制它们,除非绝对必要,否则不允许它们以root用户身份运行。


1
但是,当然,SELinux等可以阻止root禁用它。:-)
Hauke Laging

@HaukeLaging Root可以通过不同的配置来修改任意内存,因此每个障碍都会使它变得越来越困难。用root玩猫和老鼠并没有多大意义(但是是的,从理论上讲,可以阻止root这样做)。
克里斯·唐纳

@ ChrisDown,SELinux当然可以将root减少为“普通用户”,这是基于权限的。实际上,这是整个想法的一部分。
vonbrand

1
@vonbrand虽然这可能是SELinux 想要做的事情,但实际上很难做到。就像我说的,理论上是可能的,但实际上是不可能的。
克里斯·

@ChrisDown,很有可能,但是非常非Unixy,所以很少这样做。手指实在太习惯了某些事情……此外,它仅对于最终偏执的配置才有意义。
vonbrand 2013年

6

就像其他人所说的那样,通常,root用户的想法是允许用户使计算机执行计算机可以执行的任何操作。因此,没有一个简单的标志可以防止root 故意删除文件(chattr +i可以防止意外删除)。

但是,尽管如此,还是有一些解决方案:

  1. 将文件放在文件服务器上,并配置文件服务器不允许删除。之所以可行,是因为本地根目录不是文件服务器上的根目录。
  2. 将文件放在WORM介质上。之所以可行,是因为硬件不允许覆盖,因此数据受到保护。(覆盖不是机器可以做的。)便宜的选择是CD-R和DVD-R。确保驱动器确实不能覆盖(销毁)已写入的部分。也有WORM SD卡。

0

没有。

任何具有“ sudo”特权的用户或root用户都可以查看和删除所有内容。

但是,在理想的系统中,您不必担心,因为只有一个用户具有超级特权,并且只有在必要时才使用它,并且始终保持响应。


0

在非常特殊的情况下是可能的:

您可以在发生更改的地方拔下USB驱动器,或断开计算机和NAS之间的以太网电缆。但是很有可能该文件将被破坏或无法访问,或者两者都有。

除了基于硬件的操作之外,您还可以从以前的备份中还原文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.