【发布时间】:2016-11-04 17:18:04
【问题描述】:
我有一个在林间空地制作的 gui,但被困在一件事上。
我有一个更改所有权和权限的按钮;除了 root 拥有的文件夹和文件之外,它工作正常。
是否有调用 root 权限来运行此命令而无需在终端中输入 root 密码的方法?即在脚本中预定义它或激活密码的弹出提示并隐含它。
以下代码示例:
def on_button_clicked(self, widget):
path = {defined from combobox}
os.chdir(path)
uid = os.getuid()
gid = os.getgid()
for root, dirs, files in os.walk(path):
for d in dirs:
os.chown(os.path.join(root, d), uid, gid)
os.chmod(os.path.join(root, d), 0o755)
for f in files:
os.chown(os.path.join(root, f), uid, gid)
os.chmod(os.path.join(root, f), 0o755)
【问题讨论】:
-
有什么理由只以 root 身份运行脚本对您不起作用?您的“终端无密码输入”要求对我来说有点不清楚。你的意思是你永远不想输入它永远,或者你只是不希望脚本被提示输入密码而中断?
-
我猜你可以使用Envoy
-
原因,@skrrgwasme,是脚本在 gui 中运行良好,如果我使用 os.system('sudo chown .....') 命令,它看起来好像发生了崩溃,实际上它正在等待用户输入 root 密码。
-
感谢@intrepidhero,这正是我所需要的。