gpt4 book ai didi

python - 更改密码,python,linux

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:21:33 25 4
gpt4 key购买 nike

如何通过 python 脚本更改 ubuntu root 用户的密码?谢谢。

最佳答案

有两种主要方法可以解决这个问题 -

一个正在调用 passwd来自 python 的命令行工具(例如通过 stdlib 的 subprocess 模块)。如果您的脚本未以 root 用户身份运行,则需要使用“su”或“sudo”命令进行换行以提升至 root 权限。将预期数据写入 stdin 应该就足够了,但如果您发现需要根据 sudo/passwd 提示的确切内容执行不同的操作,pexpect模块可能会有帮助。

第二种是直接写入 /etc/shadow存储密码哈希的文件。这将绝对要求您的脚本以 root 身份运行,以便在/etc/shadow 上具有读/写权限。 Stdlib 提供 spwd用于访问/etc/shadow 的模块,但它是只读的,因此您必须推出自己的读取器/写入器... csv模块可能有用,/etc/shadow 接近 是一个带有“:”分隔符的 csv 文件,但有一些细微差别。

如果您选择第二条路线,您需要能够生成替换密码的新哈希值,并将它们插入到影子文件中。在 Linux 上最快的方法是使用标准库 crypt模块,但您必须负责盐的生成,并设置适当的密码哈希前缀(“$5$”、“$6$”等)。或者,host_context Passlib 库中的对象可以为您处理大部分(免责声明:我是该库的作者)。

一般来说,如果可能的话,我会推荐第一种方法——直接修改/etc/shadow 充满了危险——如果你弄乱了/etc/shadow 文件,你将无法登录。如果你走这条路,大量备份文件

关于python - 更改密码,python,linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5706597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com