- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要监听linux的端口来运行我的服务。所以,我总是运行python程序以sudo特权启动,这使得像pycahee这样的程序创建的文件和.pyc文件也获得 super 用户的权限,文件和目录只能在sudo模式下删除。这是非常不方便的。那么,有没有办法指定python创建普通的文件夹和文件呢?
最佳答案
仅仅为了监听特权端口而以 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 位。
关于Python如何在不使用 super 用户权限的情况下创建pycache文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21334818/
我试图了解这里发生了什么,以便防止类似情况再次发生。 我有一份运行 python 程序的 Jenkins 工作(实际上是 pytest )。它在 virtualenv 中使用 Python 2.7.6
我已经实现了我的项目以及每日提交到 Github,这是一个使用 Flask 和 Python 实现的网站,而每日提交我曾经使用 git add --a,因此它添加了所有文件夹像 __pycache__
我想忽略 Django 项目的 pycache 和 db.sqlite 的变化。我在 .gitignore 中引用它们,但是 git 捕获了它们的变化。如果你知道,你能告诉我什么是问题吗?我在句子末尾
我是一名优秀的程序员,十分优秀!