Как создать пользователя в linux с помощью python

Как создать пользователя в Linux с помощью Python? Я имею в виду, я знаю о модуле подпроцесса и думал о вызове "adduser" и передаче всех параметров сразу, но команда "adduser" задает некоторые вопросы, такие как пароль, полное имя, телефон и прочее. Как бы я ответил на эти вопросы, используя подпроцесс? Я видел модуль под названием pexpect в этом вопросе:могу ли я использовать Python в качестве замены Bash?. Есть ли другой стандартный модуль?

5 ответов


использовать useradd, Он не задает никаких вопросов, но принимает многие параметры командной строки.


на Ubuntu, вы можете использовать python-libuser пакета


вы можете просто использовать встроенные двоичные файлы, поэтому просто вызовите useradd или что-то через модуль подпроцесса, однако я не знаю, есть ли какие-либо другие модули, которые подключаются к Linux для обеспечения такой функциональности.


import os
import crypt

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

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)