gpt4 book ai didi

python - 如何通过Python脚本向Linux添加用户?

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:12 24 4
gpt4 key购买 nike

我一直在尝试通过 Python 脚本运行 Linux 终端命令,但到目前为止我似乎无法对我发现的内容执行任何操作。

这是我到目前为止所做的:

import os
import crypt

def addnewuser():

uname=raw_input("Select Username")
upass=raw_input("Select Password")

#The encryption module seems to solve the obvious security leak,
#but I still don't know whether even the exposed encrypted password is safe or not.
ucrypt=crypt.crypt(upass,"123")
os.system("useradd -m -p "+upass+" "+uname)

addnewuser()

This has been asked before ,但我似乎找不到解决方案,因为每当我运行脚本时,当我尝试在输入

时显示所有用户时,没有任何变化
compgen -u

在终端上。

更新 1:我想确保该过程的安全,并且我发现可以使用 stdout 文件来保护 sudo 密码不被记录在终端历史记录中。我如何用 python 编写来创建用户?

更新 2:我通过在代码中使用加密模块对用户密码进行加密,成功避免了一些安全漏洞。但如果入侵者有加密后的密码,那不是同样的事情吗?

<小时/>

这样做的主要目的是让我学习如何开发管理工具,最好是使用 Python。

<小时/>

我在 Ubuntu 16.04 上使用 Python 2.7 以及 PythonIDLE。

感谢您的帮助。

最佳答案

最肮脏的解决方案之一是运行

os.system("sudo useradd -m -p "+upass+" "+uname)

并添加到/etc/sudoers

user ALL=NOPASSWD: useradd

其中 user 是运行脚本的用户名。

同样非常不安全,强烈不推荐

关于python - 如何通过Python脚本向Linux添加用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42895671/

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