基于Python新建用户并产生随机密码过程解析

yipeiwu_com5年前Python基础

说明:本次代码是在Linux下执行的,windows也可以用,把添加用户密码的命令改成windows的就ok了

用Python新建用户并产生随机密码

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网络编程 使用UDP、TCP协议收发信息详解

UDP UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。 UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB...

python实现NB-IoT模块远程控制

本来想尝试下如果不使用运营商网络应用平台情况下,只是在服务商服务器上是否可以实现对终端完全控制,如果这样可行,那么物联网应用服务端更有灵活性。实际情况下,很难实现和运营商网络对等的处理,...

Python实现高效求解素数代码实例

素数是编程中经常需要用到的。 作为学习Python的示例,下面是一个高效求解一个范围内的素数的程序,不需要使用除法或者求模运算。 #coding:utf-8 #设置python...

python线程池threadpool使用篇

最近在做一个视频设备管理的项目,设备包括(摄像机,DVR,NVR等),包括设备信息补全,设备状态推送,设备流地址推送等,如果同时导入的设备数量较多,如果使用单线程进行设备检测,那么由于设...

python3.6、opencv安装环境搭建过程(图文教程)

python3.6、opencv安装环境搭建过程(图文教程)

我需要使用tesseract-OCR的模块,vs的配置有点麻烦,所以采用py的环境,搭建。 1.在python.org网站下载python3.6版本 我下载的3.6.8的python的...