python创建用户,设置密码,将用户信息保存在某文件里

#!/root/kl/bin/python3
# author:kl
# 创建用户,设置密码,将用户信息保存在某文件里
import subprocess
import sys
from random import choice
from string import ascii_letters, digits

all_chs = ascii_letters + digits

def randpass(n=8):
    result = ''
    for i in range(n):
        ch = choice(all_chs)
        result += ch
    return result

def adduser(uname, passwd, fname):
    # 先判断用户是否存在
    result = subprocess.run('id %s &> /dev/null' % uname, shell=True)
    if result.returncode == 0:
        print('用户已存在!')
        return
        # 创建用户,设置密码
    subprocess.run('useradd %s' % uname, shell=True)
    subprocess.run('echo %s |passwd --stdin %s' % (passwd, uname), shell=True)
    # 将用户信息保存到文件
    with    open(fname, 'a') as fobj:
        fobj.write('用户名:%s\n密码:%s\n' % (uname, passwd))

if __name__ == '__main__':
    uname = sys.argv[1]
    fname = sys.argv[2]
    passwd = randpass()
    adduser(uname, passwd, fname)
    #使用方法: python aduser.py 用户名 文件名

你可能感兴趣的:(python创建用户,设置密码,将用户信息保存在某文件里)