在Python中,你可以使用os
和pwd
库来管理用户和权限组
import os
import pwd
import grp
# 获取当前用户信息
current_user = os.getlogin()
current_user_info = pwd.getpwnam(current_user)
print(f"当前用户: {current_user}, 用户ID: {current_user_info.pw_uid}")
# 获取当前用户所属的主要组信息
primary_group_info = grp.getgrgid(current_user_info.pw_gid)
print(f"主要组: {primary_group_info.gr_name}")
# 创建一个新用户
new_user = "new_user"
new_user_info = pwd.getpwnam(new_user)
new_user_info.pw_gid = grp.getgrnam("new_group").gr_gid # 将新用户添加到新组
new_user_info.pw_uid = pwd.getnextuid() # 获取下一个可用的用户ID
os.system(f"sudo useradd -m {new_user}")
os.system(f"sudo passwd {new_user}")
# 创建一个新组
new_group = "new_group"
try:
grp.getgrnam(new_group)
except KeyError:
os.system(f"sudo groupadd {new_group}")
# 将用户添加到新组
os.system(f"sudo usermod -aG {new_group} {new_user}")
请注意,这个示例需要管理员权限才能运行。在实际应用中,你可能需要使用sudo
来执行这些操作。你可以使用Python的subprocess
库来执行带有sudo
的命令:
import subprocess
# 创建一个新用户
subprocess.run(["sudo", "useradd", "-m", new_user])
# 将用户添加到新组
subprocess.run(["sudo", "usermod", "-aG", new_group, new_user])
请确保在执行这些操作时遵循最佳安全实践,以防止未经授权的访问。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>