当前位置 : 主页 > 网络编程 > 其它编程 >

[PY3]——pwd|grp模块

来源:互联网 收集:自由互联 发布时间:2023-07-02
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)

 

自定义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

 

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

上一篇:注册后台逻辑一
下一篇:没有了
网友评论