1.python代码添加用户(在这里用列表推导生成100个用户)
import random,subprocess
from string import digits, ascii_letters
dic={'tom':'tom','jack':'123'}
def get_password(n=8):
password = ""
for i in range(n):
temp = random.choice(digits + ascii_letters)
password += temp
return password
def useradd(username,password,filename):
data=subprocess.run(f'id {username} &>/dev/null',shell=True)
if data.returncode == 0:
print(f"用户{username}已存在")
else:
subprocess.run(f'useradd {username}',shell=True)
subprocess.run(f'echo {password} |passwd --stdin {username}',shell=True)
with open(f"{filename}",mode='a') as fw:
fw.write(f'{username}:\t{password}\n')
if __name__ == '__main__':
user_list = [f'user{i}' for i in range(1,101)] #生成用户个数101-1
for username in user_list:
useradd(username,get_password(),'/opt/user.txt') #包含用户信息
1.1刚开始查看opt目录下只有一个文件userdel.sh是已经写好的脚本
[root@bee opt]# ls
1.1.1、先查看系统中用户,这里是21个
[root@bee opt]# cat /etc/passwd |wc -l
21
python代码运行效果如下
更改用户 user1 的密码 。
更改用户 user2 的密码 。
.........
1.2运行python程序后再次查看,发现用户增加到121个了。
[root@bee opt]# cat /etc/passwd | wc -l
121
1.3python在opt下产生了user.txt文件
[root@bee opt]# ls
userdel.sh user.txt
1.4查看user.txt文件内容
[root@bee opt]# cat user.txt
user1: x2lySpNy
user2: ewIIRoCF
........
2.shall删除用户${user%:} 因为生成的用户有面跟了个‘:‘(如上),所以在这里要先进行去尾工作
#!/bin/bash
num=0
for user in $(cat user.txt)
do
num=$[num+1]
if [ $[num%2] != 0 ];then
x=${user%:}
userdel -r $x
fi
done
2.1运行shall脚本后
[root@bee opt]# bash userdel.sh
2.2此时再次查看用户又回到了21
[root@bee opt]# cat /etc/passwd | wc -l
21
标签:opt,username,python,用户,bee,添加,user,password From: https://blog.51cto.com/u_15937426/6108884