相关疑难解决方法(0)

使用shutil.copy复制文件时获取管理员密码?

我正在使用 python 中的 shutil.copy 来复制文件列表。但是当我将文件复制到 /usr/lib/ 位置时,我的权限被拒绝,因为我需要成为管理员才能这样做。

那么我怎样才能复制具有管理员权限的文件,或者我怎样才能从用户那里获得管理员密码来复制文件呢?

想法将不胜感激

python file-permissions

5
推荐指数
1
解决办法
6751
查看次数

我的Python脚本可以区分是以root用户运行还是通过sudo运行?

[root@hostname ~]# python script.py                  # allow this

[user@hostname ~]$ sudo python script.py             # deny this
[user@hostname ~]$ sudo -E python script.py          # deny this
[user@hostname ~]$ sudo PATH=$PATH python script.py  # deny this
[user@hostname ~]$ python script.py                  # kindly refuse this
Run Code Online (Sandbox Code Playgroud)

我正在尝试实现上述行为。如果您担心原因或示例不够充分,请进一步阅读。抱歉,我的舌头很锋利,但我的大多数Stack Exchange问​​题都返回了敌对问题,而不是答案。

这个问题源于要求管理员运行我的脚本,但是脚本的性质需要root环境变量(而不是环境变量sudo)。

我已经对此进行了深入研究... 以下是此答案的

if os.geteuid() == 0:
    pass  # sufficient to determine if elevated privileges
Run Code Online (Sandbox Code Playgroud)

但是后来我开始需要访问PATH脚本内部。我注意到

sudo -E env | grep PATH; env | grep PATH
Run Code Online (Sandbox Code Playgroud)

打印不同的PATH值。我发现这是因为的安全政策所致PATH …

python sudo rhel environment-variables python-2.x

5
推荐指数
1
解决办法
180
查看次数