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个用户并将其随机密码和用户名写入文件的更多相关文章
- 实现批量添加10个用户,用户名为user01-10,密码为user后面跟3个随机字符
#!/bin/bash ` do user="user$i" password=$( | md5sum | ) useradd user$i echo "$user$pa ...
- 批量创建10个用户stu01-stu10
1.批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell循环(例如:for,while等),只能用命令及管道实现. ##方法1: [root@server tmp]# ...
- linux批量添加用户和批量修改密码
一.批量创建用户通过命令newusers可以实现批量的创建用户.这个命令的用法为 newusers file.txt(一个文本文件)文本文件内存放需要批量添加的用户信息但是对格式有要求格式:pw_na ...
- Linux 批量添加用户
#!/bin/bashfor i in $(seq 1 50) #会建立1-50的用户douseradd student$i -g studentecho student$i |passwd ...
- linux (RHEL) 添加和删除用户
linux添加新用户使用 useradd -----create a new user or update default new user information 删除用户使用userdel -- ...
- linux mysql添加、删除用户、用户权限及mysql最大字段数量
1. 登录: mysql -u username -p 显示全部的数据库: show databases; 使用某一个数据库: use databasename; 显示一个数据库的全部表: show ...
- Linux(7):用户管理
用户管理 让一个脚本或命令开机自启动的方法: # 方法一: 把脚本放到 /etc/rc.local 中 # 方法二: 把脚本或命令通过 chkconfig 管理 # 如何让一个脚本被 chkconfi ...
- Linux实现批量添加用户及随机密码小脚本
通过chpasswd命令可实现迅速为用户批量设置密码 实例:写一个脚本,实现批量添加20个用户user1-20,密码为用户名和后面跟5个随机字符 #!/bin/sh # 思路:通过for循环, ...
- Linux运维六:用户管理及用户权限设置
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...
随机推荐
- ES6 Generators的异步应用
ES6 Generators系列: ES6 Generators基本概念 深入研究ES6 Generators ES6 Generators的异步应用 ES6 Generators并发 通过前面两篇文 ...
- Canvas-图片旋转
Canvas-图片旋转 众所周知canvas是位图,你可以在里面渲染你要的东西,不过你只能操作canvas的属性来进行编辑.就是说你并不能操作画进canvas的东西,例如我在canvas里添加一幅画, ...
- gulp基于node流的自动化构建工具
GULP 在我才接触gulp的时候 看他就是一个 通过压缩各种文件来提升用户体验的开发工具 那是因为 对他的理解并不深 他真正强大 之处 在于他的 管子 .pipe() 可以 ...
- dulicate symbol for architecture i386 或者其他什么CPU架构 比如i386
昨天群里有个哥们遇到和么一个问题 , 错误的大概意思呢,就是 重复定义了 一个名字. 解决办法,只能修改名字啊. 而且,错误信息 也很明确的 支出了 重复定义的类文件名字PassGuardViewC ...
- 微信跳一跳辅助Demo
[原创] 前几天没事干看别人一直在玩微信上线的那一个跳一跳小游戏,玩着玩着老是掉下去,闲着没事呗 就想了想做一个辅助程序的呗.不过先做的手动版的.自动版的有点麻烦.就不发了.用的Java写的,也就一个 ...
- 如何在java注解中加入原生html标签内容
你是否也遇到过类似的事情.想在java注解加入类似于下面这种注释: 结果出来却变成了这样 ,标签被解析了, 这怎么办呢 : 且看分解 我们在注解中直接放入下边这样的代码: <Response&g ...
- 运算符、单双分支&多分支、while循环
一 .运算符: 1. 算术运算符: " + "." - " ." * " ." / " 分别为加.减.乘.除. % 是& ...
- Java中import及package的用法
有些人写了一阵子 Java,可是对於 Java 的 package 跟 import 还是不 太了解很多人以為原始码 .java 档案中的 import 会让编译器把所 import 的程式通通写到编 ...
- Java应用开发中的字符集与字符编码
事出有因 在向HttpURLConnection的输出流写入内容时,因没有设置charset,导致接收方对数据的验签不一致. URL url = new URL(requestUrl); //打开连接 ...
- ASP.NET没有魔法——ASP.NET MVC路由
之前的文章中介绍了My Blog文章维护功能的开发,开发过程中使用Area的方法建立了用于维护文章的Controller.View和Model.但是无论代码怎么变对于浏览器来说都是通过一个url地址去 ...