0

我想在 Ubuntu 的 /usr/bin 文件夹中放置一个特殊文件。基本上我正在尝试在 python 中编写一个安装文件来完成这项工作。

但是完成这项工作需要管理权限,如何为我的设置提供这些权限(前提是我有密码并且可以在我的程序中使用它)?

4

2 回答 2

1

您需要以升级的权限运行该程序。在 Ubuntu 下,这通常使用sudo命令完成,该命令将提示用户输入密码。

于 2012-04-30T15:22:38.230 回答
0

你不能只升级已经运行的脚本的权限(好吧,除非你使用一些本地漏洞)。

最好的方法是遵循@Lattyware 的建议,并强制用户以 root 权限(通过sudo或通过任何其他方式)运行脚本。这是安装人员非常普遍的做法。

但是,如果您真的需要在中途升级权限(我无法想象为什么),您可以执行以下操作:

import os
cpstr = 'echo %(pass)s | sudo -S cp "%(from)s" "%(to)s"'
os.system(cpstr % {'pass':'userpassword', 'from':'./build/bin/myapp', 'to':'/bin/myapp'})
于 2012-04-30T15:40:40.687 回答