Python实现Linux用户批量创建与随机密码生成

小满
小满
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍如何使用Python脚本在Linux环境下批量创建用户并生成随机密码。通过自定义模块生成符合规范的用户名和密码,利用os.system调用系统命令执行useradd及密码设置,并将结果写入文件后通过邮件发送给管理员。该方案适用于需要快速部署多个测试账户的场景,支持Windows环境下的命令替换。

Python批量创建Linux用户与随机密码方案

注意事项:本文示例代码基于Linux环境编写,若需在Windows系统中使用,只需将添加用户和设置密码的系统命令替换为Windows对应的命令即可实现相同功能。

本节演示如何利用Python语言实现Linux用户的批量新建,并自动为每个用户生成随机密码。

主脚本逻辑与用户创建流程


import passwd_name as pn  #导入随机产生名字密码模块
import os

f = open("/tmp/userlist.txt","w")  将用户名、密码写入该文件中

for i in range(0,3):  #添加3位用户
  username=pn.random_name()
  os.system("useradd %s" %username)
  passwd = pn.random_passwd()
  os.system("echo %s | passwd --stdin %s" %(passwd,username))
  f.write("uesrname:%s password:%s\n" %(username,passwd))
  
f.close()

os.system("mail -s 'send user mail' root < /tmp/userlist.txt")  #最后将文件E-mail给root用户

核心模块passwd_name.py负责生成随机用户名及随机密码,具体实现逻辑如下。

随机用户名与密码生成模块实现


import string
from random import choice

passwordrange=string.ascii_letters+string.digits  #密码包括数字大小写
usernamerange=string.ascii_uppercase  #名字只取大写字母
def random_passwd(num=8):  #密码默认取八位数,可以自定义
  letter=""
  for i in range(num):
    letter +=choice(passwordrange)
  print(letter)
  return letter

def random_name(num=5):  #名字默认取八位数,可以自定义
  letter=""
  for i in range(num):
    letter +=choice(usernamerange)
  print(letter)
  return letter  
if __name__=="__main__":
  random_passwd();
  random_name();

以上内容涵盖了使用Python进行用户批量创建与密码生成的完整流程,希望能为读者的学习提供有益参考,同时也欢迎读者持续关注本站以获取更多技术分享。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表