先用python添加用户,再用shell脚本将python程序添加的用户删除
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了先用python添加用户,再用shell脚本将python程序添加的用户删除相关的知识,希望对你有一定的参考价值。
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(fid username &>/dev/null,shell=True)
if data.returncode == 0:
print(f"用户username已存在")
else:
subprocess.run(fuseradd username,shell=True)
subprocess.run(fecho password |passwd --stdin username,shell=True)
with open(f"filename",mode=a) as fw:
fw.write(fusername:\\tpassword\\n)
if __name__ == __main__:
user_list = [fuseri 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
以上是关于先用python添加用户,再用shell脚本将python程序添加的用户删除的主要内容,如果未能解决你的问题,请参考以下文章
用于 Django 应用程序的 Python 脚本,无需使用 manage.py shell 即可访问模型