相关疑难解决方法(0)

如何防止进程写入文件

我想以一种无法创建或打开任何要写入的文件的方式在 Linux 上运行命令。它应该仍然能够正常读取文件(因此空的 chroot 不是一个选项),并且仍然能够写入已经打开的文件(尤其是 stdout)。

如果仍然可以将文件写入某些目录(即当前目录),则可以加分。

我正在寻找一个进程本地的解决方案,即不涉及为整个系统配置 AppArmor 或 SELinux 之类的东西,也不涉及 root 权限。不过,这可能涉及安装他们的内核模块。

我正在研究功能,如果有创建文件的功能,这些功能会很好也很容易。ulimit 是另一种方便的方法,如果它涵盖了这个用例。

linux security selinux apparmor capabilities

13
推荐指数
2
解决办法
6906
查看次数

使用 unshare 模拟 chroot

我正在尝试为最小的源代码 linux 发行版编写引导程序。

我想在一个类似 chroot 的环境中构建。这应该简化包装。在这一点上,我不关心安全性。引导程序不应需要任何非标准的第三方命令。如果不需要 root 那就太好了。

这就是为什么 fakechroot(1) fakeroot(1) chroot(1) 不是我正在寻找的。

是否可以伪造 / 使用 unshare(1) 和 /bin/sh?

chroot not-root-user namespace unshare

13
推荐指数
2
解决办法
5460
查看次数

是否有 linux vfs 工具允许在用户空间中的不同位置(如 mount --bind)绑定目录?

对于用户进程,我想在其他位置挂载一个目录,但在没有 root 权限的用户空间中挂载。类似 mount --bind /origin /dest 的东西,但带有 vfs 包装器。就像一个用户模式微调的 chroot。

该程序会将系统调用包装到文件中以“替换”所需的路径。可以使用如下命令行调用它:

bindvfs /fake-home:/home ls /home

我相信这已经存在了!:)

linux chroot mount not-root-user

7
推荐指数
1
解决办法
2664
查看次数

Linux下如何实现用户空间chroot的效果(不用root)?

目标是在主机 Linux 系统内的置换(重新定位)发行版(其 / 不得与全局 / 重合)中安装和运行程序。这些程序不适用于使用不同的 / 。

fakechroot 不是一个完整的解决方案,因为它使用库替换而不是在系统调用级别上进行操作(因此不适用于静态链接的二进制文件)。

chroot jails not-root-user virtualization

6
推荐指数
1
解决办法
5090
查看次数