如何使用Python的pwd和grp模块查询系统用户和组信息?

2026-04-01 23:241阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计351个文字,预计阅读时间需要2分钟。

如何使用Python的pwd和grp模块查询系统用户和组信息?

pwd和grp模块操作简单粗暴,各自下面都只有三个函数来根据etcpasswd、etcgroup文件获取相关信息:getpwuid(UID) 各自下面都只有三个函数来根据/etc/passwd、/etc/group文件获取相关信息。

pwd和grp模块都非常简单粗暴各自分别下面都只有三个函数来根据etcpasswd、etcgroup文件获取相关信息getpwuid(UID)各自分别下面都只有三个函数来根据/etc/passwd、/etc/group文件获取相关信息


 

getpwuid(UID)根据UID获取用户信息返回一个list

print(pwd.getpwuid(0))pwd.struct_passwd(pw_nameroot, pw_passwdx, pw_uid0, pw_gid0, pw_gecosroot, pw_dir/root, pw_shell/bin/bash)print(pwd.getpwuid(0).pw_name)rootprint(pwd.getpwuid(0).pw_shell)/bin/bash

 

getpwnam(用户名)根据用户名获取用户信息返回list

print(pwd.getpwnam("root"))pwd.struct_passwd(pw_nameroot, pw_passwdx, pw_uid0, pw_gid0, pw_gecosroot, pw_dir/root, pw_shell/bin/bash)

 

getpwall()获取所有用户的信息返回一个list

for i in pwd.getpwall():print(i)

 

getgrgid(GID)根据GID获取用户组的信息返回一个list

print(grp.getgrgid("500"))grp.struct_group(gr_nameuser00, gr_passwdx, gr_gid500, gr_mem[])

 

getgrnam("组名")根据用户组名获取用户组的信息返回一个list

print(grp.getgrnam("user00"))grp.struct_group(gr_nameuser00, gr_passwdx, gr_gid500, gr_mem[])

 

getgrall( )获取所有用户组的信息返回一个list

for i in grp.getgrall():print(i)

 

如何使用Python的pwd和grp模块查询系统用户和组信息?

自定义uidunamegidgname转换的函数

在某些场景中我们可能会需要用到这样的转换

def uname_uid(str):if str.isdigit():return pwd.getpwuid(int(str)).pw_nameelse:return pwd.getpwnam(str).pw_uidprint(uname_uid("0"))#rootprint(uname_uid("user00"))#500

import grpdef gname_gid(str):if str.isdigit():return grp.getgrgid(int(str)).gr_nameelse:return grp.getgrnam(str).gr_gidprint(gname_gid("0"))#rootprint(gname_gid("user00"))#500

 

转:www.cnblogs.com/snsdzjlz320/p/7412752.html

本文共计351个文字,预计阅读时间需要2分钟。

如何使用Python的pwd和grp模块查询系统用户和组信息?

pwd和grp模块操作简单粗暴,各自下面都只有三个函数来根据etcpasswd、etcgroup文件获取相关信息:getpwuid(UID) 各自下面都只有三个函数来根据/etc/passwd、/etc/group文件获取相关信息。

pwd和grp模块都非常简单粗暴各自分别下面都只有三个函数来根据etcpasswd、etcgroup文件获取相关信息getpwuid(UID)各自分别下面都只有三个函数来根据/etc/passwd、/etc/group文件获取相关信息


 

getpwuid(UID)根据UID获取用户信息返回一个list

print(pwd.getpwuid(0))pwd.struct_passwd(pw_nameroot, pw_passwdx, pw_uid0, pw_gid0, pw_gecosroot, pw_dir/root, pw_shell/bin/bash)print(pwd.getpwuid(0).pw_name)rootprint(pwd.getpwuid(0).pw_shell)/bin/bash

 

getpwnam(用户名)根据用户名获取用户信息返回list

print(pwd.getpwnam("root"))pwd.struct_passwd(pw_nameroot, pw_passwdx, pw_uid0, pw_gid0, pw_gecosroot, pw_dir/root, pw_shell/bin/bash)

 

getpwall()获取所有用户的信息返回一个list

for i in pwd.getpwall():print(i)

 

getgrgid(GID)根据GID获取用户组的信息返回一个list

print(grp.getgrgid("500"))grp.struct_group(gr_nameuser00, gr_passwdx, gr_gid500, gr_mem[])

 

getgrnam("组名")根据用户组名获取用户组的信息返回一个list

print(grp.getgrnam("user00"))grp.struct_group(gr_nameuser00, gr_passwdx, gr_gid500, gr_mem[])

 

getgrall( )获取所有用户组的信息返回一个list

for i in grp.getgrall():print(i)

 

如何使用Python的pwd和grp模块查询系统用户和组信息?

自定义uidunamegidgname转换的函数

在某些场景中我们可能会需要用到这样的转换

def uname_uid(str):if str.isdigit():return pwd.getpwuid(int(str)).pw_nameelse:return pwd.getpwnam(str).pw_uidprint(uname_uid("0"))#rootprint(uname_uid("user00"))#500

import grpdef gname_gid(str):if str.isdigit():return grp.getgrgid(int(str)).gr_nameelse:return grp.getgrnam(str).gr_gidprint(gname_gid("0"))#rootprint(gname_gid("user00"))#500

 

转:www.cnblogs.com/snsdzjlz320/p/7412752.html