我正在设置一个最小的 chroot 并希望避免其中包含 sudo 或 su 但仍以非 root 身份运行我的进程。这是一个小技巧,因为运行 chroot 需要 root。我可以编写一个程序来执行此操作,如下所示:
uid = LookupUser(args[username]) // no /etc/passwd in jail
chroot(args[newroot])
cd("/")
setuids(uid)
execve(args[exe:])
这是我最好的选择还是有一个标准工具可以为我做到这一点?
我在这里推出了自己的: