Python:如何获取一个用户名的组ID
getpwname
只能得到gid
一个username
。
import pwd
myGroupId = pwd.getpwnam(username).pw_gid
getgroups
只能获取groups
脚本用户。
import os
myGroupIds = os.getgroups()
我怎么能得到所有groups
的任意一个username
,比如id -Gn
命令?
id -Gn `whoami`
解决方案
#!/usr/bin/env python
import grp, pwd
user = "myname"
groups = [g.gr_name for g in grp.getgrall() if user in g.gr_mem]
gid = pwd.getpwnam(user).pw_gid
groups.append(grp.getgrgid(gid).gr_name)
print groups
本文首发于Python黑洞网,博客园同步更新