如何从 python 更改 Linux 用户密码

2023-12-03

我在从 python 更改 Linux 用户密码时遇到问题。我已经尝试了很多方法,但无法解决问题,这是我已经尝试过的示例:

sudo_password是sudo的密码,sudo_command是我希望系统运行的命令, user 是从列表中获取的,是我想要更改其密码的用户,而 newpass 是我想要分配给“用户”的通行证

    user = list.get(ANCHOR)
    sudo_command = 'passwd'
    f = open("passwordusu.tmp", "w")
    f.write("%s\n%s" % (newpass, newpass))
    f.close()
    A=os.system('echo -e %s|sudo -S %s < %s %s' % (sudo_password, sudo_command,'passwordusu.tmp', user))
    print A
    windowpass.destroy()

'A' 是 os.system 执行的返回值,在本例中为 256。我也尝试过

    A=os.system('echo  %s|sudo -S %s < %s %s' % (sudo_password, sudo_command,'passwordusu.tmp', user))

但它返回相同的错误代码。我使用“passwd”命令尝试了其他几种方法,但没有成功。 使用“chpasswd”命令我尝试过:

    user = list.get(ANCHOR)
    sudo_command = 'chpasswd'
    f = open("passwordusu.tmp", "w")
    f.write("%s:%s" % (user, newpass))
    f.close()
    A=os.system('echo %s|sudo -S %s < %s %s' % (sudo_password, sudo_command,'passwordusu.tmp', user))
    print A
    windowpass.destroy()

还带有:

    A=os.system('echo %s|sudo -S %s:%s|%s' % (sudo_password, user, newpass, sudo_command))
    @;which returns 32512
    A=os.system("echo %s | sudo -S %s < \"%s\"" % (sudo_password, sudo_command,  "passwordusu.tmp"))
    @;which returns 256

我也尝试过“mkpasswd”和“usermod”,如下所示:

    user = list.get(ANCHOR)
    sudo_command = 'mkpasswd -m sha-512'
    os.system("echo %s | sudo -S %s %s > passwd.tmp" % (sudo_password,sudo_command, newpass))
    sudo_command="usermod -p"
    f = open('passwd.tmp', 'r')
    for line in f.readlines():
        newpassencryp=line
    f.close()
    A=os.system("echo %s | sudo -S %s %s %s" % (sudo_password, sudo_command, newpassencryp, user))
    @;which returns 32512

但是,如果你去https://www.mkpasswd.net,对“newpass”进行散列并替换“newpassencryp”,它返回 0,理论上意味着它已经正确,但到目前为止它还没有更改密码。

我在互联网和 stackoverflow 上搜索了这个问题或类似问题,并尝试了公开的解决方案,但再次没有成功。

我非常感谢任何帮助,当然,如果您需要更多信息,我将很乐意提供!

提前致谢。


您运行此命令的用户必须具有 sudo 权限才能运行此命令passwd没有密码的命令。

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

如何从 python 更改 Linux 用户密码 的相关文章

  • 如何在 Ubuntu 上安装 Python 模块

    我刚刚用Python写了一个函数 然后 我想将其做成模块并安装在我的 Ubuntu 11 04 上 这就是我所做的 创建 setup py 和 function py 文件 使用 Python2 7 setup py sdist 构建分发文
  • Python 中的六边形自组织映射

    我在寻找六边形 自组织映射 http en wikipedia org wiki Self organizing map在Python上 准备好模块 如果存在的话 绘制六边形单元格的方法 将六边形单元作为数组或其他方式使用的算法 About
  • 如何从外部模块导出符号?

    我在内核源代码树之外进行编码 有两个模块 第一个printt有一个功能printtty 将字符串打印到当前 tty 以及第二个模块hello这会调用printtty 在初始化期间 我已经添加了EXPORT SYMBOL printtty 在
  • Sorted(key=lambda: ...) 背后的语法[重复]

    这个问题在这里已经有答案了 我不太明白背后的语法sorted 争论 key lambda variable variable 0 Isn t lambda随意的 为什么是variable在看起来像的内容中陈述了两次dict 我认为这里的所有
  • 将一个时间序列插入到 pandas 中的另一个时间序列中

    我有一组定期测量的值 说 import pandas as pd import numpy as np rng pd date range 2013 01 01 periods 12 freq H data pd Series np ran
  • python ttk treeview:如何选择并设置焦点在一行上?

    我有一个 ttk Treeview 小部件 其中包含一些数据行 如何设置焦点并选择 突出显示 指定项目 tree focus set 什么也没做 tree selection set 0 抱怨 尽管小部件明显填充了超过零个项目 但未找到项目
  • 将 subprocess.Popen 的输出通过管道传输到文件

    我需要启动一些长时间运行的进程subprocess Popen 并希望拥有stdout and stderr从每个自动管道到单独的日志文件 每个进程将同时运行几分钟 我想要两个日志文件 stdout and stderr 每个进程当进程运行
  • 如何使用 openpyxl 对工作簿中的 Excel 工作表/选项卡进行排序

    我需要按字母数字对工作簿中的选项卡 工作表进行排序 我在用openpyxl https openpyxl readthedocs io en default 操作工作表 您可以尝试排序workbook sheets list workboo
  • 如何在 Windows 上使用 Python 3.6 来安装 Python 2.7

    我想问一下如何使用pip install对于 Python 2 7 当我之前安装并使用 Python 3 6 时 我现在必须使用 Windows 上的 Python 版本 pip install 继续安装 Python 3 6 我需要使用以
  • 在 Windows 上使用 IPython 笔记本时出现 500 服务器错误

    我刚刚在 Windows 7 Professional 64 位上全新安装了 IPython 笔记本 我采取的步骤是 从以下位置安装 Python 3 4 1http python org http python org gt pip in
  • Python int 太大,无法放入 SQLite

    我收到错误 OverflowError Python int 太大 无法转换为 SQLite INTEGER 来自以下代码块 该文件约25GB 因此必须分部分读取 length 6128765 Works on partitions of
  • urllib2.urlopen() 是否实际获取页面?

    当我使用 urllib2 urlopen 时 我在考虑它只是为了读取标题还是实际上带回整个网页 IE 是否真的通过 urlopen 调用或 read 调用获取 HTML 页面 handle urllib2 urlopen url html
  • 如何逐像素绘制正方形(Python,PIL)

    在空白画布上 我想使用 Pillow 逐像素绘制一个正方形 我尝试使用 img putpixel 30 60 155 155 55 绘制一个像素 但它没有执行任何操作 from PIL import Image def newImg img
  • bash "&" 不打印 "[1]+ Done "

    我在 bashrc 中调用一个脚本来打印打开终端时收到的新消息数 我希望该调用在访问网络时是非阻塞的 有时需要几秒钟 这意味着我无法使用终端直到完成 但是如果我输入 mailcheck 在我的 bashrc 中 它工作正常 但然后打印一个空
  • WindowsError:[错误 5] 访问被拒绝

    我一直在尝试终止一个进程 但我的所有选项都给出了 Windows 访问被拒绝错误 我通过以下方式打开进程 一个python脚本 test subprocess Popen sys executable testsc py 我想杀死那个进程
  • 使用 lambda 函数更改属性值

    我可以使用 lambda 函数循环遍历类对象列表并更改属性值 对于所有对象或满足特定条件的对象 吗 class Student object def init self name age self name name self age ag
  • 是否可以强制浮点数的指数或有效数匹配另一个浮点数(Python)?

    这是我前几天试图解决的一个有趣的问题 是否可以强制一个的有效数或指数float与另一个人一样float在Python中 出现这个问题是因为我试图重新调整一些数据 以便最小值和最大值与另一个数据集匹配 然而 我重新调整后的数据略有偏差 大约小
  • Scrapy 蜘蛛无法工作

    由于到目前为止没有任何效果 我开始了一个新项目 python scrapy ctl py startproject Nu 我完全按照教程操作 创建了文件夹和一个新的蜘蛛 from scrapy contrib spiders import
  • 将此 MATLAB 代码转换为 Python 时我做错了什么?

    我正在努力将生成波形的 MATLAB 代码转换为 Python 就上下文而言 这是原子力显微镜带激发响应的模拟 与代码错误无关 在 MATLAB 中从 r vec 生成的图形与我在 Python 中生成的图形不同 我是否正确地将 MATLA
  • 使用 numpy 加速 for 循环

    下一个 for 循环如何使用 numpy 获得加速 我想这里可以使用一些奇特的索引技巧 但我不知道是哪一个 这里可以使用 einsum 吗 a 0 for i in range len b a numpy mean C d e f b i

随机推荐

  • 示例套接字应用程序不起作用

    我正在学习java net并尝试制作一个简单的应用程序 这是代码 EDIT 我的错 抱歉 但主要问题仍然存在 这是更正后的代码 public static void main String args try Socket s new Soc
  • 从列表链接到实体

    我有一个咨询页面 其中列出了数据存储区中的咨询 列表循环是这样的 for consult in consults tr td a href consults consult consult date a td td consult cons
  • 在按钮操作上传递参数:@selector

    我想将动态生成的按钮中的电影 url 传递给 MediaPlayer button addTarget self action selector buttonPressed withObject speakers mp4 objectAtI
  • OCP(开闭原则)与IoC(控制反转)有何关系?

    我能想到的一个例子是模板模式 它 是一种执行 IoC 的方法 也是 OCP 的一个例子 因为在模板模式中 我们定义了不能被子类更改的基本算法 但可以覆盖该算法继承的步骤方法 所以将来如果我们 想要更改某个步骤的实现 我们可以创建另一个子类并
  • Swift coreData - 格式化日期并在谓词中使用它

    H 我有一个名为 Agendadate 的实体和一个名为 AgendaEvent 的实体 AgendaEvent 与 AgendaDate agendaDates 具有多对多关系 在我的 AgendaDate 中 我有一个对象日期 日期类型
  • 带有比较运算符的布尔表达式的 typeof

    if typeof foo undefined Now we know that foo is defined we are good to go The typeof评估为true or false基于变量是否foo已定义或未定义 但是
  • 将控件数组添加到 aspx 页面

    我正在尝试将控件数组添加到 aspx 页面 后面是 C 代码 这些是类似的控件 不同字段的搜索条件 但具有相同的值 下拉控件值当前在 Page Load 方法中设置 如下所示 protected void Page Load object
  • C# 中的 [....] 是什么

    我在一些 Net Framework 代码中遇到了这个问题 我以前从未见过它 有人知道这意味着什么吗 switch msgFlags case Message lt never seen this before do some stuff
  • 在列表中使用 .index 时,仅返回它第一次出现在数组中的时间

    sentence ask not what your country can do for you ask what you can do for your country sentList sentence split print sen
  • C++ 为 POD 对象赋值 [重复]

    这个问题在这里已经有答案了 所以我读到了普通旧数据类 POD 并决定让我的结构 POD 来保存数据 例如 我有 struct MyClass int ID int age double height char 8 Name 显然 要为结构体
  • 在 C# 中在服务器上使用 StreamWriter

    我尝试使用以下代码写入远程计算机 StreamWriter remoteMachine admin fileName 我收到以下错误登录失败 用户名未知或密码错误 我得到了用户名 域名和密码 我怎样才能用凭据写信 如果我已经在本次会话中访问
  • Google 的 OpenIDConnect 返回无法解析的 Base64 令牌

    作为理解 OpenIDConnect 的练习 我试图按照本指南在我的网络应用程序中使用 Google 进行身份验证 问题是我无法读取 Google 发送到我的应用程序的令牌 gt var bytes Convert FromBase64St
  • XMLHTTPRequest 响应标头中不包含 Location 字段

    我试图修改 adblockplus 代码以进行测试 我正在修改代码以在 URL 上发送 http get 请求并从响应中获取最终 URL 我尝试使用以下代码 但响应在标头响应中不包含位置字段 我是在 Firefox 扩展中执行此操作 所以我
  • 将 DateTimeindex 转换为仅包含年、小时和日,而不包含时间信息

    我有一个带有索引的数据框 该索引还包含小时 秒 但我只想它包含日期作为年 月 日 索引是否有可能仍然是 DateTimeIndex 但只包含年 月 日 当前索引如下所示 my index DatetimeIndex 2017 08 25 2
  • 如何在Python中实现异或链表?

    鉴于Python对象只是对实际内存对象的引用并且 无法检索对象的内存地址 是否可以在Python中实现XOR链表 如果是的话怎么办 您无法在 Python 中构建 XOR 链表 因为 Python 不允许您弄乱指针中的位 无论如何你都不想实
  • 检查数组 VBA 的值

    我试图确保我构建的数组具有我期望的值 Cards 数组应该填充 Shoe 数组 当我计算数组的值时 我得到了预期的 104 但是当我将这些值粘贴到 Excel 工作表中时 只填充了 13 个单元格 有没有一种简单的方法来检查数组的内容 Su
  • 更新 JPA 或 Hibernate 中的多对多关系

    我有两个Entity就像下面 Entity Table name USER public class User Id private Long id private String name ManyToMany fetch FetchTyp
  • 在ggplot2中的条形图顶部添加不带标签的刻度

    正如标题所说 我想在 ggplot2 条形图的顶部添加刻度 输出看起来像这样 由于机密信息隐藏了实际情节 ggplot2 中有一个函数可以做到这一点吗 我已经在链接中调整了巴蒂斯特的解决方案分面时显示每个子图的 y 轴 想法 我认为 是提取
  • 这是在 JavaScript 中检查有效日期的好方法吗?

    请纠正或解释我的过度简化是错误的 因为我不是 JavaScript 专家 但我只需要知道一个对象是否是有效日期 这仅来自用户输入 即文本框 var is valid date function date try var d new Date
  • 如何从 python 更改 Linux 用户密码

    我在从 python 更改 Linux 用户密码时遇到问题 我已经尝试了很多方法 但无法解决问题 这是我已经尝试过的示例 sudo password是sudo的密码 sudo command是我希望系统运行的命令 user 是从列表中获取的