在chrootenvironment OpenBSD中配置设备

2024-06-07 09:00:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我绞尽脑汁已经有一段时间了,找不到一个办法让它发挥作用。。。在

我想在我的OpenBSD服务器上运行一些cgi脚本(用Python编写)。由于OpenBSD上的web服务器运行在一个监狱中,我重新创建了整个文件夹结构(/bin/dev/usr/usr/local/lib等),但是当我试图导入一些需要访问/dev/urandom设备的Python模块时,仍然会遇到“500服务器内部错误”。在

我用mknod创建了设备专用文件。在

ls -la /dev/*random
ls -la /dev/{null,zero}

我得到以下输出

^{pr2}$

以及

crw-rw-rw-  1 root  wheel    2,   2 Sep 16 01:30 /dev/null
crw-rw-rw-  1 root  wheel    2,  12 Jul 15 19:02 /dev/zero

所以我在/var/www/dev文件夹中执行了以下命令(OpenBSD web服务器运行在chroot-uwww/var/www中)

mknod -m 666 null c 2 2
mknod -m 666 zero c 2 12
mknod -m 644 random 45 0
mknod -m 644 srandom 45 1
mknod -m 644 urandom 45 2
mknod -m 644 arandom 45 3

但是,Python仍然报告说

OSError: [Errno 6] Device not configured '/dev/urandom'

同样的代码在非chroot环境中也能正常工作。在

import os
import cgitb
cgitb.enable()

如有任何帮助,我们将不胜感激!在


Tags: dev服务器文件夹webusrrandomurandomnull

热门问题