python - os.chroot 操作不允许

标签 python linux chroot

我正在尝试编写一个 python 脚本来生成一个 debian 包。 我在临时文件夹中生成所需的文件夹结构。为了将/usr 和子文件夹的 uid 和 gid 更改为 root,我想到了使用 chroot。

但是,在这条线上

os.chroot(tmpdir)

我得到:

OSError: [Errno 1] Operation not permitted: '/tmp/tmpVnTqW7/myproj'

我也试过这个迷你教程,结果相同:http://www.tutorialspoint.com/python/os_chroot.htm

为什么会这样? 谢谢

最佳答案

chroot() 只能由 root 执行。

执行以下操作之一:

  1. 使用 sudo 运行脚本

  2. 使脚本 setuid root,并执行 setuid(geteuid()) 等效的 python 魔术

关于python - os.chroot 操作不允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17973180/

相关文章:

c - fopen 不适用于软链接(soft link)

linux - 如何将文件从AWS服务器传输到AWS服务器位于Bastion服务器后面的本地计算机

linux - 有什么方法可以 chroot Linux 文件管理器吗?

linux - VSFTP - 如何 chroot

python - Beautiful Soup 类型错误和正则表达式

python - pip 如何决定使用哪个 linux wheel?

linux - 创建和收获子进程

python - 为外部/第三方库自定义日志记录

python - 返回具有日期范围的数据框

python - Groupby Pandas 抛出 ValueError : Grouper and axis must be same length