在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])
请确保在执行这些操作时遵循最佳安全实践,以防止未经授权的访问。