在 FreeBSD 中使用 unionfs 有多安全?

在 FreeBSD 中使用 unionfs 有多安全?

man mount_unionfs:

BUGS:
THIS FILE SYSTEM TYPE IS NOT YET FULLY SUPPORTED (READ: IT DOESN'T WORK)
AND USING IT MAY, IN FACT, DESTROY DATA ON YOUR SYSTEM. USE AT YOUR OWN
RISK. BEWARE OF DOG. SLIPPERY WHEN WET. BATTERIES NOT INCLUDED.

This code also needs an owner in order to be less dangerous 

有点吓人吧?它继续解释了一些问题,但需要文件系统处理的专业知识才能确定问题的范围和边缘情况。

尽管如此,它可能是众所周知的,或者对于有更多知识的人来说是清楚的:

危险是否被充分定义,只有在某些用途或某些不太可能/容易避免的边缘情况下,才可能出现严重问题?或者更接近于“如果你的数据永远、永远、永远,请使用 unionfs 支架,即使有人用枪指着你的头”

答案1

unionfs在 FreeBSD 上真的那不好吗。

如果下层和上层都存在同名文件,内核将返回两个都,并且必须在用户空间中过滤掉重复项。

引用自来源opendir(3)FreeBSD 中的:

/*
 * The strategy here is to read all the directory
 * entries into a buffer, sort the buffer, and
 * remove duplicate entries by setting the inode
 * number to zero.
 *
 * We reopen the directory because _getdirentries()
 * on a MNT_UNION mount modifies the open directory,
 * making it refer to the lower directory after the
 * upper directory's entries are exhausted.
 * This would otherwise break software that uses
 * the directory descriptor for fchdir or *at
 * functions, such as fts.c.
 */

如果这还不足以让人反胃,那么我不知道还有什么可以;-)

答案2

Mount_unionfs 应仅在两个源之一为只读的环境中使用。

话虽如此,我已经在我的 NAS4Free 服务器上使用它超过 5 年了(将附加软件包安装到我的“嵌入式”安装中)。一直以来我都没有遇到过任何问题。它的设置非常快速且简单,尤其是。与监狱相比。

相关内容