2024-10-01 19:28:17 发布
网友
我需要监听linux的端口来运行我的服务。所以,我总是从sudo previlage开始运行python程序,这使得程序创建的pycahee和.pyc文件也获得了超级用户的权限,文件和目录只能在sudo模式下删除。那很不方便。那么,有没有一种方法可以指定python来创建普通的文件夹和文件?在
以root用户身份运行脚本只是为了监听特权端口,这不是一个好的实践(除非脚本确实需要root)。在
如果您的脚本不需要root,那么我建议您在设置了特权端口套接字之后使用setuid/setgid删除特权
setuid/setgid
这里已经详细回答过了
Dropping Root Permissions In Python
编辑:OP提到创建的pyc文件仍然具有根权限。您可以使用suid位(chmod u+s script.py)然后setuid(0)在运行时获得根权限,确保文件所有权不是root。只为文件所有者设置suid位也意味着其他用户不能滥用suid位。在
pyc
chmod u+s script.py
setuid(0)
以root用户身份运行脚本只是为了监听特权端口,这不是一个好的实践(除非脚本确实需要root)。在
如果您的脚本不需要root,那么我建议您在设置了特权端口套接字之后使用
setuid/setgid
删除特权这里已经详细回答过了
Dropping Root Permissions In Python
编辑:OP提到创建的
pyc
文件仍然具有根权限。您可以使用suid位(chmod u+s script.py
)然后setuid(0)
在运行时获得根权限,确保文件所有权不是root。只为文件所有者设置suid位也意味着其他用户不能滥用suid位。在相关问题 更多 >
编程相关推荐