先用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

​userdel.sh​

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程序添加的用户删除的主要内容,如果未能解决你的问题,请参考以下文章

Linux添加shell(.sh)脚本并添加定时任务

用于 Django 应用程序的 Python 脚本,无需使用 manage.py shell 即可访问模型

使用 django:从“python manage.py shell”到 python 脚本

将参数传递给shell脚本中包含的Python脚本

如何使用 sed 在 shell 脚本中添加单引号

shell里面怎么调用,执行python文件