&引用;sudo“;来自python守护进程的操作
我正在linux上编写一个python管理守护程序,它需要启动/停止其他服务。遵循最小权限原则,我希望以常规用户权限正常运行此服务,但当它需要启动/停止其他服务时,我希望它成为root用户。基本上,我想做sudo在命令行中要做的事情。我无法直接从守护进程执行sudo,因为它没有tty。我希望避免在后台程序不需要以root身份运行时以root身份运行。有没有办法不用sudo就从python实现这一点 先谢谢你&引用;sudo“;来自python守护进程的操作,python,linux,Python,Linux,我正在linux上编写一个python管理守护程序,它需要启动/停止其他服务。遵循最小权限原则,我希望以常规用户权限正常运行此服务,但当它需要启动/停止其他服务时,我希望它成为root用户。基本上,我想做sudo在命令行中要做的事情。我无法直接从守护进程执行sudo,因为它没有tty。我希望避免在后台程序不需要以root身份运行时以root身份运行。有没有办法不用sudo就从python实现这一点 先谢谢你 兰加。在这种情况下,我有一个烧瓶后端,需要做一些特殊的事情。我把它分成了两个后端——一个
兰加。在这种情况下,我有一个烧瓶后端,需要做一些特殊的事情。我把它分成了两个后端——一个是非特权,另一个是小特权,而不是使用sudo
也可以在pty中运行sudo,但我决定反对这种方法,因为它确实存在安全漏洞。仅为该守护程序创建一个新用户,并授予该守护程序用户sudo权限,而不需要密码?请注意,
sudo
提供了不同的方法来控制哪些命令可以被sudoe。尝试过了,但没有效果。我无法从守护进程执行sudo命令,因为sudo需要一个登录shell才能运行。我认为sudo在这方面不应该有帮助,因为如果你的应用程序可以无条件地使用sudo而不使用密码,那么它基本上是以root权限运行的。通常的做法是以root用户身份启动守护进程,但将其拆分并生成一个权限较低的新进程,该进程将完成大部分工作,并仅将需要root权限的请求转发给父进程。父进程的代码可以通过严格的限制保持在最低限度,从而最小化攻击面。我考虑了一下,决定把我的代码分成一个独立的小部分,作为root+所有其他非特权运行。谢谢