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

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

本文介绍如何使用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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。