【问题标题】:Python how to create pycache folder without using super user's authority?Python如何在不使用超级用户权限的情况下创建pycache文件夹?
【发布时间】:2014-02-15 13:46:20
【问题描述】:

我需要监听 linux 的端口来运行我的服务。所以,我总是运行python程序以sudo previlage开头,这使得pycahee等程序创建的文件和.pyc文件也获得了超级用户的权限,文件和目录只能在sudo中删除模式。这是非常不便的。那么,有没有办法指定python来创建普通的文件夹和文件呢?

【问题讨论】:

    标签: python linux filesystems


    【解决方案1】:

    以 root 身份运行脚本只是为了监听特权端口并不是一个好习惯(除非脚本确实需要 root)。

    如果您的脚本不需要root,那么我建议您在设置特权端口套接字后使用setuid/setgid 删除特权;

    这里已经详细回答了;

    Dropping Root Permissions In Python

    编辑:OP 提到创建的pyc 文件仍然具有root 权限。您可以使用 suid 位 (chmod u+s script.py) 然后 setuid(0) 在运行时获得 root 权限,确保文件所有权不是 root。仅为文件所有者设置 suid 位也意味着其他用户不能滥用 suid 位。

    【讨论】:

    • 删除权限可能有效,但是第一个 py 文件呢?pyc 仍然是在 root 权限下创建的,对吧?
    • 这最终解决了您的问题吗?如果它对您有用,请不要忘记投票:)
    猜你喜欢
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    相关资源
    最近更新 更多