从非root进程运行jailkit

发布于 2024-11-04 02:13:45 字数 266 浏览 3 评论 0原文

我有一个网络服务器,它会经常生成一个乳胶解释器(用 python 编写)。该解释器位于使用 jailkit 制作的 chroot 监狱内,因此必须以 root 身份启动。

我不希望服务器以 root 身份运行,并且无法设置 bash 脚本的 uid。我可以编写一个 setuid c 程序来调用该脚本,但我很确定这会导致很大的安全漏洞。

到目前为止,我想到的最好的办法是以 root 身份运行一个单独的网络服务器,其唯一的工作是生成解释器进程。

这样做的正确方法是什么?

I have a webserver which will frequently spawn a latex interpreter (written in python). This interpreter lives inside a chroot jail made using jailkit so it has to be started as root.

I don't want the server to run as root and I can't setuid the bash script. I could write a setuid c program that calls the script but I'm pretty sure that leads to big security holes.

The best I have come up with so far is running a separate webserver as root whose sole job is spawning interpreter processes.

What is the right way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

安静被遗忘 2024-11-11 02:13:45

最好的选择是创建一个非常小的脚本,它只需设置环境并调用 Latex 解释器并使该脚本成为 SUID 根。

这是最好的,因为:

  • 作为 root 花费的时间最少
  • 只需要一个脚本 SUID
  • 小脚本 == 做错事的机会更小
  • BASH 作为 root 使用是相当安全的,而运行整个 Web 服务器则不然。

Your best bet is to create a very small script which simply set the environment and calls the latex interpreter and make that script SUID root.

This is best because:

  • The least amount of time is spent as root
  • Just a single script needs to be SUID
  • Small script == smaller chance to do something wrong
  • BASH is pretty safe to use as root while running a whole web server is not.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文