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 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...
随机推荐
- g4e基础篇#3 Git安装与配置
g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...
- 在Ubuntu14.04上搭建自己的OpenVPN服务器并通过它上网
背景 学校宿舍端口可以配置静态IP连校内网,也可以连到实验室的服务器:实验室的服务器可以连外网:但宿舍要连外网就要花钱买PPPoE账号了.作为壮哉我大计院的一员,本着发扬专(neng)业(sheng) ...
- Hive Getting Started补充
配置管理概述 Hive从<install-dir>/conf/hive-default.xml中读取它的默认配置 Hive配置目录的位置可以通过设置HIVE_CONF_DIR环境变量的值来 ...
- .net打印控件基本用法
1.在winform上加如下控件 2.代码和用法如下: using System; using System.Collections.Generic; using System.ComponentMo ...
- cin\cout输入输出控制
输入输出流的控制符 控制符 作 用 dec 设置数值的基数为10 hex 设置数值的基数为16 oct 设置数值的基数为8 setfill(c) 设置填充字符c,c可以是字符常量或字符变量 setpr ...
- java.lang.Exception: 资源处理失败,失败原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column '?????‰' in 'where clause'
1:Unknown column '?????‰' in 'where clause',这个问题,百度一搜,挺多的,但是貌似好像没有解决我的问题.贴一下我是如何拼接sql的.解决这个sql拼接bug的 ...
- asp.net mvc 5 蛋疼的问题
看图,debugger显示匹配路径没有错. html开源码看 显示没有实现IController. 然而我的确实现了. 关闭vs 重启
- DAY3-“忙里偷闲”找你玩耍2018-1-11
接触Java第三天,嘿嘿,今天近代史期末考试,提前一小时交卷,回宿舍继续学习,中午去见女神姐姐了,每次见完女神姐姐都是满满地动力.这次女神姐姐告诉我们要好好规划自己的时间,早上花20分钟规划好一天的时 ...
- 在HTML页面中获取当前项目根路径的方法
在HTML页面获取项目根路径的方法: function getRootPath(){ var curPageUrl = window.document.location.href; var rootP ...
- 从“思考”的角度来看如何成为一名优质的Java架构师
导读: 架构师应不应该写代码 为什么别人的系统总是那么烂 成为架构师最困难的门槛是什么? 如何更高效的学习? 1.架构师应不应该写代码 合格的程序员对于明确分配的任务会完成的很好,但是大部分情况下&q ...