列出用户和组的Python脚本

2024-04-25 15:00:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编写一个脚本,将每个用户及其组输出到各自的行中,如下所示:

user1 group1  
user2 group1  
user3 group2  
...  
user10 group6

等等

我正在用python编写一个脚本,但我想知道如何才能做到这一点。

p.s.用任何语言都可以,但我更喜欢python。

编辑:我在Linux上工作。Ubuntu 8.10或CentOS=)


Tags: 用户脚本语言编辑ubuntulinuxcentosuser1
3条回答

对于*nix,有pwdgrp模块。您遍历pwd.getpwall()以获取所有用户。你用grp.getgrgid(gid)查找他们的组名。

import pwd, grp
for p in pwd.getpwall():
    print p[0], grp.getgrgid(p[3])[0]

嘘/嘘:

getent passwd | cut -f1 -d: | while read name; do echo -n "$name " ; groups $name ; done

grp模块是您的朋友。查看grp.getgrall()以获取所有组及其成员的列表。

编辑示例:

import grp
groups = grp.getgrall()
for group in groups:
    for user in group[3]:
        print user, group[0]

相关问题 更多 >