有什么方法可以更改应用程序可以看到的文件(特别是文件内容)?
我知道您可以使用 DAC 或 MAC 阻止访问文件,但我不想阻止访问。相反,我想更改应用程序可以看到的内容。例如,当我使用应用程序访问文件时,我/home/user/.profile
在浏览器上输入,但我不希望应用程序看到真实内容,而是看到具有相同文件路径的欺骗版本。如果我从终端或其他应用程序打开文件,它应该会看到正确的内容。这有可能吗?这可以扩展到更改特定用户的内容吗?
答案1
您可以使用 Linux 挂载命名空间在文件系统上设置修改视图。 LXC 等容器框架在幕后使用它。它也可以很容易地从 shell 中使用,但需要 root 访问权限才能安装。
unshare -m
mount --make-rprivate /
mount --bind /spoof/x /target/x
sudo -u {YOUR USER} {COMMAND}
绑定挂载用于通过挂载到原始路径来隐藏部分原始文件系统树。mount --make-rprivate
防止任何新的挂载在挂载命名空间之间传播。
pam_namespace
模块可用于在自己的挂载命名空间中配置用户并配置绑定挂载。