如何快速检测被安装的文件系统遮盖的文件?

由于安装失败,有些情况下文件被写入挂载点。

有一个简单的方法来检测这样的文件(可以轻松自动化)?

(我知道有可能使用类似于以下的方式将文件系统挂载到新的挂载点上:

mount --bind / /tmp/tmp 

然后在所有挂载点中查找文件。

但我希望更快一点

将来,您可以运行chattr +i /mountpoint (未安装mount)。 这会将安装点的目录更改为不可变的。 结果是,你会错误的新的写作活动。 在其他情况下也保护挂载点。

阿斐,

我不知道如何实现你所要求的,但是我有你的build议:)

在准备安装点时,将其权限设置为最严格的掩码。 将文件系统挂载到挂载点,并将挂载点(使用挂载的文件系统)的权限设置为所需的设置。 让我说明一下:

 # mkdir -m0 /mnt/mountpoint # mount -t ext4 /dev/sdb1 /mnt/mountpoint # chown -h user:group /mnt/mountpoint # chmod 0750 /mnt/mountpoint 

问题是文件系统保留所有者/权限信息,因此每次挂载该文件系统时,挂载点都将从挂载的文件系统inheritance所有者/组/权限。

这个技巧可以帮助您保护和轻松检测文件系统何时未安装。 如果您的应用程序在根目录下运行,它将能够写入一个权限设置为000的目录,但这是一个很好的检查(检查挂载点的权限),意识到我们正在写错误的地方。

我希望这将有所帮助。

PS @ewwhite提供了一个更好的select,用“chattr + i”保护挂载点,而不是将其设置为“chmod 0”。