在 python 脚本中更改为 sudo 用户

2023-12-21

我有个问题。我正在编写一个软件,需要它来执行需要用户处于 sudo 模式的操作。运行“sudo python filename.py”不是一个选项,这引出了我的问题。有没有办法通过 python 脚本更改为 sudo ,安全性不是问题,因为用户会知道 sudo 密码,程序应该按以下方式运行来说明问题

  1. 程序以普通用户身份运行
  2. ……执行操作
  3. 用户输入 sudo 密码
  4. 用户更改为 sudo
  5. 需要sudo权限的子程序运行
  6. 触发时(子程序结束)用户再次成为普通用户
  7. ……执行操作

我的问题出在第 3 步,您建议的任何指针或框架都会有很大帮助。

Cheers

Chris


最好以提升的权限运行尽可能少的程序。您可以通过以下方式运行需要更多权限的小部分subprocess.call()函数,例如

import subprocess
returncode = subprocess.call(["/usr/bin/sudo", "/usr/bin/id"])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 python 脚本中更改为 sudo 用户 的相关文章

  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX
  • Python 中的 Lanczos 插值与 2D 图像

    我尝试重新缩放 2D 图像 灰度 图像大小为 256x256 所需输出为 224x224 像素值范围从 0 到 1300 我尝试了两种使用 Lanczos 插值来重新调整它们的方法 首先使用PIL图像 import numpy as np
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 使 django 服务器可以在 LAN 中访问

    我已经安装了Django服务器 可以如下访问 http localhost 8000 get sms http 127 0 0 1 8000 get sms 假设我的IP是x x x x 当我这样做时 从同一网络下的另一台电脑 my ip
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • Spark KMeans 无法处理大数据吗?

    KMeans 有几个参数training http spark apache org docs latest api python pyspark mllib html highlight kmeans pyspark mllib clus
  • BeautifulSoup 中的嵌套标签 - Python

    我在网站和 stackoverflow 上查看了许多示例 但找不到解决我的问题的通用解决方案 我正在处理一个非常混乱的网站 我想抓取一些数据 标记看起来像这样 table tbody tr tr tr td td td table tr t
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • 如何使用Python创建历史时间线

    So I ve seen a few answers on here that helped a bit but my dataset is larger than the ones that have been answered prev
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc

随机推荐

  • 处理 EINTR(使用 goto?)

    背景 这是一个后续问题这个线程 https stackoverflow com questions 2957759 using gprof with sockets关于在 C Linux GCC 中处理系统调用的 EINTR 无论我是否打算
  • 即使使用 User-Agent 标头,如何修复 Python 请求的“403 Forbidden”错误?

    我正在向某个 URL 发送请求 我将curl命令复制到python中 因此 所有标头都包含在内 但我的请求不起作用 并且我在 HTML 输出中收到状态代码 403 和错误代码 1020 代码是 import requests headers
  • 生成数字范围内的 N 个随机数的列表

    我想生成一个 n length 列表 其中包含定义范围内随机生成的数字 我想知道的是我是否缺少一些内置的东西 这些东西可以让我在未来以更Pythonic和更干净的方式做到这一点 感谢您的任何想法 In 59 from random impo
  • Python sympy无法求解多项式函数

    我在用 sympy 求解多项式函数时遇到问题 以下示例显示了一个给出我无法管理的错误消息的情况 如果多项式变得更简单 则求解器可以正常工作 请复制并粘贴代码以检查系统上的错误 import sympy from sympy import I
  • 销毁通过 Serverless 创建的资源而不销毁 Lambda 端点

    我在 serverless yml 文件中定义了以下资源 为我所有不同的发展阶段创建资源非常有用 resources Resources uploadBucket Type AWS S3 Bucket Properties BucketNa
  • Google Chrome PDF 查看器复选框不起作用

    我们在生成 PDF 的 Chrome PDF 查看器中遇到问题 其中复选框未更改状态 即被选中 并且当您按 TAB 键退出某些字段时 某些字段会丢失值 但当它们获得焦点时 值会再次显示 还有其他人经历过吗 如果是这样 对如何解决这个问题有什
  • mkdir() 在内部闪存中起作用,但在 SD 卡中不起作用?

    我目前正在构建一个文件管理应用程序 允许用户浏览其设备的文件系统 用户从根目录开始 的设备 但可以浏览到他们想要的任何位置 例如内部闪存或 SD 卡 该应用程序的关键要求之一是允许用户在任何地方创建新文件夹 像这样的功能对于应用程序来说非常
  • CSS - 悬停时平滑按钮渐变颜色过渡

    我有以下按钮 上面按钮的 CSS 是这样的 cta btn display inline block margin 20px 0 0 20px color fff background color FF8F1B background ima
  • Twitter 引导下拉菜单超出屏幕范围

    我想实现 twitter bootstrap 下拉菜单 这是我的代码 span class dropdown a href menu1 class dropdown toggle img class left src static img
  • 如何在 Dialogflow 中的 webhook 中执行槽验证?

    如何使用后端代码 webhook 在意图中执行插槽验证 我已经了解了如何使用 webhooks 执行槽填充 但我想知道如何验证槽数据并在验证失败时重新提示用户 Example 用户 我想了解你们在伦敦的服务 Bot 我们不在伦敦提供服务 请
  • python、matplotlib、svg 和文本标签中的超链接

    In 绘图库 http matplotlib sourceforge net 有可能使用超链接创建 SVG 图形 http matplotlib sourceforge net examples pylab examples hyperli
  • Android 上 GZIPInputStream 的截断输出

    我一定做错了什么 在 Android 上运行以下代码会生成截断的文件 items 日志中没有任何异常或问题 使用 OpenJDK 7 运行相同的代码 它可以正确解压缩文件 try final InputStream fis new GZIP
  • C - 测量计算时间

    有没有简单的方法来测量C中的计算时间 我在执行时尝试了时间实用程序 但我需要测量程序的特定部分 Thanks 您可以使用clock函数于
  • 如何使用NAudio的BiQuadFilter?

    我使用 NAudio 录制麦克风的声音并将其保存在文件中 我用这个 public WaveFileWriter m WaveFile null m WaveFile new WaveFileWriter strFile m WaveSour
  • Windows cmd 模拟控制台输入命令

    我需要编写一个批处理脚本 当用户名和密码保存在某处 例如 在文件中 时 该脚本会自动连接到 VPN VPN 客户端是 openconnect 它提供了 CLI 但问题是需要以交互方式向命令提供用户输入才能完成 当我运行时请参阅下面的输出 o
  • 为 Spring MVC/AOP 应用程序实现动态菜单

    我希望为我的 Spring MVC 应用程序实现动态可更改的菜单 每当添加注释方法或控制器时更新 我想要的是引入新的注释 RequestMenuMapping 这将去 Controllerbeans 及其方法 就像 RequestMappi
  • 如何将 TLS 1.0 与 Python 3.8 结合使用?

    我有一个使用 Jira 连接的代码jira module 不幸的是 Jira 服务器仅支持SSLv3 and TLS1 我知道它们是旧协议 今年年底前主办方将接受新的 但在那之前我需要我的 python 代码来使用 Jira 连接TLS1
  • 将文件上传到 FTP 一旦到达目的地就会损坏

    我正在创建一个简单的拖动文件并自动上传到 ftp Windows 应用程序 我正在使用MSDN代码 http msdn microsoft com en us library ms229715 aspx将文件上传到 FTP 代码非常简单 G
  • Rails 5、Gmaps4Rails - 设置

    多年来我一直在尝试找出如何将 gmaps4rails 合并到 Rails 应用程序中 我制作了一个全新的应用程序并尝试了新的 我不知道出了什么问题 我正在寻找完整且最新的设置说明 许多 SO 帖子都提到了旧版本的依赖项 最终表明该问题已在更
  • 在 python 脚本中更改为 sudo 用户

    我有个问题 我正在编写一个软件 需要它来执行需要用户处于 sudo 模式的操作 运行 sudo python filename py 不是一个选项 这引出了我的问题 有没有办法通过 python 脚本更改为 sudo 安全性不是问题 因为用