linux批量添加10个用户并将其随机密码和用户名写入文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux批量添加10个用户并将其随机密码和用户名写入文件相关的知识,希望对你有一定的参考价值。

需求:

  批量新建10个测试用户,并且让其密码随机,把用户名和密码写入一个文件,并有创建时间和创建者

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import random
import time
import io


def deluser(nums):
    ‘‘‘删除用户测试用户‘‘‘
    for i in range(nums):
        username = ‘stu‘ + str(i)
        linux_cmd = ‘userdel -r {username}‘.format(username=username)
        cmd_stat = os.system(linux_cmd)
        if cmd_stat == 0:
            print(username + " userdel: OK")
        else:
            print(username + " userdel: FAIL")


def create_user(nums, record_adduser):
    ‘‘‘添加用户测试用户‘‘‘
    if isinstance(nums, str):
        nums = int(nums)
    symbol = ‘1234567890‘
    if not os.path.exists(os.path.dirname(record_adduser)):
        # 没有这个目录创建
        os.mkdir(os.path.dirname(record_adduser))
    # 这个文件直接打开,没有就创建
    f = io.open(record_adduser, ‘a+‘, encoding=‘utf-8‘)
    for i in range(nums):
        passwd = ‘‘.join(random.sample(symbol, 6))
        username = ‘stu‘ + str(i)
        linux_cmd = ‘useradd {username} && echo "{passwd}" | passwd {username} --stdin{linesep}‘.format(username=username,
                                                                                               passwd=passwd, linesep=os.linesep)
        current_user = os.popen(‘whoami‘).read().strip()
        cmd_stat = os.system(linux_cmd)
        tmp = str(time.strftime(‘%Y-%m-%d %H:%M ‘, time.localtime()) +                   ‘ ‘ + current_user + ‘ ‘ + linux_cmd + ‘ {stat}‘)
        if cmd_stat == 0:
            print(username + " useradd: OK")
            tmp = tmp.format(stat=‘OK‘).decode(‘utf-8‘)
            # 创建成功写一句
            f.write(tmp)
        else:
            print(username + " useradd: FAIL")
            tmp = tmp.format(stat=‘FAIL‘).decode(‘utf-8‘)
            f.write(tmp)
        # f.flush()
    f.close()

if __name__ == ‘__main__‘:
    record_adduser = ‘/root/adduser{sep}useradd.log‘.format(sep=os.path.sep)
    create_user(10, record_adduser)
    # deluser(10)

# python 2 下,str 是 bytes类型,文件通过 io模块打开

 

  

 

  

以上是关于linux批量添加10个用户并将其随机密码和用户名写入文件的主要内容,如果未能解决你的问题,请参考以下文章

Linux 批量创建用户及设置随机密码

写一个脚本,实现批量添加20个用户,用户名为user1-20,密码为user后面跟5个随机字符

纯linux命令批量创建用户并设置随机密码且显示用户和密码的脚本

批量创建用户添加随机密码

linux实战考试题:批量创建用户和密码-看看你会么

Linux下如何批量创建用户并设置8位随机密码