加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
创建用户案例.py 1.35 KB
一键复制 编辑 原始数据 按行查看 历史
牛枫翔 提交于 2022-08-19 09:57 . update 创建用户案例.py.
# 练习:创建系统用户
# 需求
# 编写一个程序(函数),实现创建用户的功能 useradd xxx
# 提示用户输入 用户名
# 随机生成 8位密码 echo 密码 | passwd --stdin 用户
# 创建用户并设置密码
# 将用户相关信息保存到指定文件
from string import ascii_letters, digits
import random, subprocess
def randpass(n=8):
data = ascii_letters + digits # 大小写字母和数字
passwd = "" # 记录最终的密码
for i in range(n): # n: 生成密码的长度
tmp = random.choice(data)
passwd += tmp
return passwd
def adduser(name):
res=subprocess.run(f"id {name} &> /dev/null",shell=True)
if res.returncode == 0: # id成功,用户名存在
print("该用户已存在")
else: # 用户名不存在,可以创建
subprocess.run(f"useradd {name}", shell=True)
passwd = randpass() # 默认生成8为密码
subprocess.run(f"echo {passwd}|passwd --stdin {name}", shell=True)
with open("/opt/user.data", mode="a") as fw:
fw.write(f"user:{name} passwd:{passwd}\n")
if __name__ == '__main__':
# user1~user10
user_list = [f"user{i}" for i in range(1, 11)]
for username in user_list:
adduser(username)
# username = input("username: ")
# adduser(username) # name = username
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化