如何在chroot监狱中以root身份而不是sudo来运行命令?

我正在设置最小的chroot,并希望避免在其中包含sudo或su,但仍以非root用户身份运行我的进程。当运行chroot要求root时,这有点技巧。我可以编写一个执行以下操作的程序:

uid = LookupUser(args[username])  // no /etc/passwd in jail

chroot(args[newroot])

cd("/")

setuids(uid)

execve(args[exe:])

这是我最好的选择吗?或者是否有标准工具可以为我做到?

回答:

如果chroot从超级用户调用,该chroot选项--userspec=USER:GROUP将在非超级用户UID / GID下运行命令。

顺便说一句,选项’–userspec’首先是根据git仓库在coreutils-7.5中引入的git://git.sv.gnu.org/coreutils

以上是 如何在chroot监狱中以root身份而不是sudo来运行命令? 的全部内容, 来源链接: utcz.com/qa/412681.html

回到顶部