我无法理解CAP_CHROOT给定以下模板的根等价。
我理解 1) 意味着创建一个目录结构,包含所有依赖项(例如共享对象),其根将是chroot(2).
我的问题涉及模板中的后面步骤:
为什么需要后门ld.so或libc在 2) 中?
为什么需要在 3) 中从 chroot 环境创建到 setuid-root 二进制文件的硬链接?
为什么chroot(2)在 4) 中调用启动 setuid-root 二进制文件?
可能的重复:
创建一个只执行一个命令的 UNIX 帐户
我正在尝试设置一个只有尽可能少权限的用户帐户。
用户应该能够通过 SSH 登录,然后使用“su”命令获取 root 访问权限,但没有其他任何内容。
这甚至可能吗?所以没有像“cd”、“ls”或“mkdir”这样的基本命令应该可用!用户应该只能看到一个空文件夹,然后才能使用“su”命令来获得真实操作系统的完整系统访问权限(如果使用 chroot 来实现这一点)。
任何想法如何实现?
提前致谢!
是否可以使用不同的根运行 SystemD 服务?例如,如果我用来debootstrap安装并行发行版,并且该发行版内有一个我想运行的 systemd 服务,是否有办法在主机中配置 systemd 来执行此操作?
WorkingDirectory我目前在剧本中看到。
我在我的 VPS 服务器和访客系统中使用 centos。访客系统有两个登录名。一种是根,一种是常规。我把guest系统和chroot挂载到挂载目录后,切换到挂载的guest系统中的普通账户。然后括号丢失,如下所示:
[root@server image]# chroot /mnt/guest34
[root@server /]# su - regular
-bash-4.1$ sd
-bash: sd: command not found
Run Code Online (Sandbox Code Playgroud)