Linux里用python创建test00到test99,密码设置成用户名,并且加入test组获得sudo权限,设置用户过期为2025年12月31
时间: 2024-12-13 20:15:20 浏览: 23
在Linux中,可以使用Python的`os`模块和`pwd`模块来创建用户并配置密码、组和到期日期。这里是一个简单的脚本示例,假设您已经安装了Python3:
```python
import os
import pwd
# 用户名和密码
username = "your_username"
password = username
# 创建用户(如果不存在)
try:
user = pwd.getpwnam(username)
except KeyError:
user = pwd.PwEntry()
user.pw_name = username
user.pw_passwd = password.encode("utf-8") # 设置明文密码,但建议在生产环境中加密存储
user.pw_uid = os.geteuid() # 继承当前用户的ID
user.pw_gid = getgrnam('test').gr_gid # 加入test组
with open("/etc/shadow", "a") as f:
f.write(f"{username}:{password}::{os.environ['SUDO_DATE']}:18977::::::\n")
os.system(f"useradd -m -s /bin/bash -g {user.pw_gid} -G sudo {username}")
# 修改用户信息,包括过期日期
with open("/etc/shadow", "r+") as f:
lines = f.readlines()
for i, line in enumerate(lines):
if line.startswith(username + ":"):
lines[i] = f"{username}:{password}::{os.environ['SUDO_DATE']}::20251231:::\n" # 过期日期2025年12月31日
break
f.seek(0)
f.writelines(lines)
f.truncate()
print(f"{username}用户已创建,并设置了相关配置。")
# 清理缓存
os.system("touch /var/lib/dbus/machine-id")
# 确认更改
os.system("passwd %s" % username) # 需手动输入新密码一次确认
```
注意:这个脚本可能会因系统差异而需要调整,例如`/etc/shadow`文件的写入位置可能不同。此外,脚本中直接处理密码作为明文不太安全,实际应用中应使用更安全的方式存储密码。
运行此脚本前,请确保具有root权限,并谨慎操作,因为它涉及到用户权限的管理。
阅读全文