天天看点

Python脚本:创建用户并生成随机密码

  1. 使用Python编写一个程序,实现创建用户的功能
  2. 提示用户输入用户名
  3. 随机生成8位密码
  4. 创建用户并设置密码
  5. 将用户相关信息写入指定文件
import random
import subprocess

#获取用户名
def get_username():
    while True:
        user_name = input("请输入用户名:")
        rc = subprocess.run('id ' + user_name + '&> /dev/null', shell=True)
        if rc.returncode != 0:
            break
        print("用户已经存在!")
    return user_name

#生成随机密码
def randpass():
    randps = ''
    n = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    for i in range(8):
        randps = randps + random.choice(n)
    return randps

#创建用户
def create_user(user_name, randps):
    subprocess.run('useradd ' + user_name, shell=True)
    subprocess.run('echo ' + randps + ' | passwd --stdin ' + user_name, shell=True)

#写入文件
def wuser(user_name, randps):
    with open('/root/passwd', 'a') as fobj:
        fobj.writelines('%-15s%-8s\n' % (user_name, randps))

if __name__ == '__main__':
    username = get_username()
    passwd = randpass()
    create_user(username, passwd)
    wuser(username, passwd)