如何使用python在linux中创建用户

How to create a user in linux using python

如何使用python在Linux中创建用户?我的意思是,我知道子过程模块,我想立刻调用"adduser"并传递所有参数,但是"adduser"命令会问一些问题,比如密码、全名、电话等等。我如何使用子流程回答这些问题?在这个问题中,我见过名为pexpect的模块:我可以使用python作为bash替换吗?.是否有其他标准模块?


使用useradd,它不提问,但接受许多命令行选项。


在Ubuntu上,可以使用python libuser包


1
2
3
4
5
6
import os
import crypt

password ="p@ssw0rd"
encPass = crypt.crypt(password,"22")
os.system("useradd -p"+encPass+" johnsmith")


您可以使用内置的二进制文件,所以只需通过子进程模块调用useradd或其他东西,但是我不知道是否有其他模块可以连接到Linux来提供这种功能。


1
2
3
def createUser(name,username,password):
    encPass = crypt.crypt(password,"22")  
    return  os.system("useradd -p"+encPass+" -s"+"/bin/bash"+"-d"+"/home/" + username+" -m"+" -c ""+ name+""" + username)