Linux 查看某个用户组的所有用户(Python实现)

【code】

#encoding: utf-8
#author: walker
#date: 2017-07-31
#summary: Linux 查看某个用户组的所有用户
#filename: group_users.py

import sys 

#打印某个组的所有成员
def ShowGroupUsers(group_name):
    group_id = ‘err‘
    users = ‘‘
    with open(‘/etc/group‘) as f:
        for line in f:
            line = line.strip()
            vec = line.split(‘:‘)
            if vec[0] == group_name:
                group_id = vec[2]
                users = vec[3]
    if group_id == ‘err‘:
        print(‘not find %s in /etc/group‘)
        return False
        
    with open(‘/etc/passwd‘) as f:
         for line in f:
            line = line.strip()
            vec = line.split(‘:‘)
            if vec[3] == group_id:
                users += ‘,‘ + vec[0]
                
    user_set = set(filter(lambda x:x, users.split(‘,‘)))
    users = ‘,‘.join(sorted(list(user_set)))
    print(‘%s(%s) users: %s‘ % (group_name, group_id, users))

    return True

if __name__ == ‘__main__‘:
    ShowGroupUsers(sys.argv[1])

【使用】

python group_users.py groupX

*** walker ***

时间: 2024-10-07 06:30:02

Linux 查看某个用户组的所有用户(Python实现)的相关文章

linux 查看进程启动时,用户的工作目录

在linux下查看进程大家都会想到用 ps -ef|grep XXX可是看到的不是全路径,怎么看全路径呢?每个进程启动之后在 /proc下面有一个于pid对应的路径例如:ps -ef|grep python显示:oracle    4431  4366  0 18:56 pts/2    00:00:00 python Server.py4431就是进程号到/proc/4431下,ls -l 会看到:总用量 0-r--r--r--    1 oracle   oinstall        0

linux 查看当前用户id、whoami用户列表、用户组、用户权限/etc/passwd、/etc/group、/etc/shadow以及切换用户身份、su、sudo、/etc/sudoers

一.查看当前用户之id.whoami 命 令:id 功能说明:查看显示目前登陆账户的uid和gid及所属分组及用户名 语 法:id [-gGnru][--help][--version][用户名称] 补充说明:id会显示用户以及所属群组的实际与有效ID.若两个ID相同,则仅显示实际ID.若仅指定用户名称,则显示目前用户的ID. 这个命令在溢出时经常用到,查看是不是溢出root成功,执行一下id命令,显示uid=0,则成功了. 参 数: -g或--group 显示用户所属群组的ID. -G或--g

Linux 新建用户、用户组,给用户分配权限(chown、useradd、groupadd、userdel、usermod、passwd、groupdel)

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也可以帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和各自的密码.用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录. 实现用户账号的管理,要完成的工作主要有如下几个方面: 用户账号的添加.删除与修改. 用户密码

linux学习之路之ACL的使用和查看系统上登录的用户的命令使用

我们知道文件的访问权限的是根据文件的属主.属组和其他用户这三种来设置,而ACL是提供这三种之外的更加细部的权限设定.ACL可以对单一用户和目录及文件来设置权限,这对于需要特殊的权限来说很有帮助.在之前谈到的SUID和SGID这些特殊权限,不过这些特殊权限和ACL相比,ACL可以对特定的用户来设定更加细部的权限,而SUID和SGID则是对于多个用户或者一组用户来说比较合适. 在谈ACL的使用之前,我们先一起来谈谈用户访问文件时的顺序是如何进行的?在这里暂时不讨论有关SElinux的使用. 在没有使

Linux 新建用户、用户组,给用户分配权限

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也可以帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和各自的密码.用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录. 实现用户账号的管理,要完成的工作主要有如下几个方面: 用户账号的添加.删除与修改. 用户密码

Linux查看用户的7个命令

在Linux系统里,我们会经常用Linux查看用户的命令,在这里我们一些命令进行了总结,总共有7个,并做了详细的解释,以便让大家更深入的理解,接下来让我们一起来看看这些命令和具体应用. 一.Linux查看用户命令w命令 该命令用于显示登录到系统的用户情况,w命令功能强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作,并且统计数据相对who命令来说更加详细和科学. w命令的显示项目按以下顺序排列:当前时间,系统启动到现在的时间,登录用户的数目,系统在最近1秒.5秒和15秒的

linux 查看用户的命令

whoami-----Finding out who you are. who---------Listing who is on the system. W ----------Listing who is on and what they are doing. Last --------Listing when a user last logged on the last tools gets its data from the system file "/var/log/wtmp"

Linux入门:文件权限、用户、用户组(比较清楚)

单个文件名或目录名长度不超过255字符: 文件或目录的绝对路径长度不超过4096字符: 一.文件所有者与用户组 一个文件有很多属性,包括文件类型.文件权限.文件隐藏权限.文件所有者.用户组.文件大小.创建日期.修改日期.访问日期等,比如下面是/etc/inittab文件的属性:   1.文件类型   (1)d:目录:find / -type d 查询: (2)-:一般文件:find / -type f 查询: (3)l:链接文件:find / -type l 查询: (4)b:块设备,即存储设备

Linux 查看登录用户信息 who & whoami

Linux 查看登录用户信息 who & whoami 在一台服务器上,同一时间往往会有很难多人同时登录. who 命令可以查看当前系统中有哪些人登录,以及他们都工作在哪个控制台上. 这样可以很方便的监控机器的登录人信息,并对系统操作进行安全监控. [[email protected] /]# who root pts/0 2019-11-21 23:10 (XX..) root pts/2 2019-11-18 11:39 (XX..) 效果如下: 有时候,可能会忘记自己是以什么身份登录到系统