当前位置: 首页 > 面试题库 >

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

晋功
2023-03-14
问题内容

我正在设置最小的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



 类似资料:
  • 问题内容: 我在Linux(Debian)上开发了C代码。有时,我需要通过执行一些命令 我想知道是否可以通过root用户执行命令。如果不是这种情况,是否有任何功能可以我在C代码上以root身份执行命令(或运行二进制文件)? 问题答案: 在遇到普通用户要执行root命令之前,我们遇到了这种情况,这是我们的解决方案(使用setuid / SUID): 假使,假设: 用户名 : 组别 : C程序文件 :

  • 问题内容: 我有一些bash脚本,它们会在指定的时间添加到cron作业中,但是需要以root用户身份执行。我正在尝试运行那些脚本,即crob作业,但是它需要root用户权限,因为我在受限root用户的ubuntuec2实例中运行此作业。以root用户身份运行那些脚本的解决方法是什么。 谢谢 问题答案: 有几种可能性: 1)将脚本添加到root的crontab中。为此,您必须要做或成为root用户,

  • 问题内容: 我最近开始使用Jenkins进行集成。一切都很好,直到我在没有shell命令的情况下在主节点上运行作业,但是我必须在包含shell命令的主节点和从属节点上运行作业。我无法以root用户身份运行这些Shell命令。我努力了 使用。 在shell命令中设置用户名。 使用。 我得到我每次使用任何上述方法时错误。 问题答案: 您需要修改用户的权限,以便您可以运行shell命令。您可以将jenk

  • 我最近开始使用Jenkins进行集成。在没有shell命令的情况下在主节点上运行作业之前,一切都很好,但我必须在主节点和从节点上运行作业,从节点包含要运行的shell命令。我无法以root用户身份运行这些shell命令。我试过了 使用 在shell命令中设置用户名 使用 每次使用上述任何一种方法时,我都会遇到错误。

  • 问题内容: 简而言之… 首先,为什么npm建议仅以非root用户身份运行它?我不相信高,每一个其他的包管理器(,,,)是错误的,需要sudo的。 其次,当我遵循他们的建议(并以非超级用户身份运行)时,它将不起作用(因为非超级用户没有对/ usr / local / lib的许可)。我如何遵循他们的建议?我不会去,因为这对我来说似乎是个坏主意。 详细描述… 我通过(自述文件中的说明)安装了npm。

  • 问题内容: 我正在使用Python在系统级别的Linux中进行项目。因此,我想知道,如果我以普通用户身份运行代码,并且正在访问系统文件,那么它应该具有root权限,那么我如何提示输入root密码并以超级用户身份运行其他代码。我想知道,如何以超级用户身份以密码提示运行python脚本。 任何帮助将不胜感激。先感谢您.. 问题答案: 您可以做的另一件事是,如果脚本不是以root身份执行的,则脚本会自动