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


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

print(pwd.getpwuid(0))
pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash')

print(pwd.getpwuid(0).pw_name)
root print(pwd.getpwuid(0).pw_shell)
/bin/bash

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

print(pwd.getpwnam("root"))
pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash')

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

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

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

print(grp.getgrgid(""))
grp.struct_group(gr_name='user00', gr_passwd='x', gr_gid=500, gr_mem=[])

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

print(grp.getgrnam("user00"))
grp.struct_group(gr_name='user00', gr_passwd='x', gr_gid=500, gr_mem=[])

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

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

自定义uid<—>uname,gid<—>gname转换的函数

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

def uname_uid(str):
if str.isdigit():
return pwd.getpwuid(int(str)).pw_name
else:
return pwd.getpwnam(str).pw_uid print(uname_uid(""))
#root
print(uname_uid("user00"))
#500
import grp
def gname_gid(str):
if str.isdigit():
return grp.getgrgid(int(str)).gr_name
else:
return grp.getgrnam(str).gr_gid print(gname_gid(""))
#root
print(gname_gid("user00"))
#500

[PY3]——pwd | grp 模块的更多相关文章

  1. Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块

    Python第二十二天   stat模块  os.chmod方法  os.stat方法  pwd  grp模块 stat模块描述了os.stat(filename)返回的文件属性列表中各值的意义,根据 ...

  2. python使用pwd和grp操作unix用户及用户组

    1.pwd模块 pwd模块提供了一个unix密码数据库即/etc/passwd的操作接口,这个数据库包含本地机器用户帐户信息 常用操作如下: pwd.getpwuid(uid):返回对应uid的示例信 ...

  3. python 各模块

    01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...

  4. python模块大全

    python模块大全2018年01月25日 13:38:55 mcj1314bb 阅读数:3049 pymatgen multidict yarl regex gvar tifffile jupyte ...

  5. python常用模块目录

    博客目录总纲首页 python其他知识目录 random  hashlib  os  sys  json __name__ shutil  xlrd  xlwt   xlutils 核心模块:os s ...

  6. Python 基础篇:编码、变量、模块

    1. 编码 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ASCII). 2. 变量 变量定义的规则: 变量名只能是 字母.数字或下划线的任意组合 变量名的第一个字符不能是数 ...

  7. Mysql(六):数据备份、pymysql模块

    一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...

  8. MySQL学习12 - pymysql模块的使用

    一.pymysql的下载和使用 1.pymysql模块的下载 2.pymysql的使用 二.execute()之sql注入 三.增.删.改:conn.commit() 四.查:fetchone.fet ...

  9. MySQL之数据备份、pymysql模块

    一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...

随机推荐

  1. PostgreSQL操作数据表

    1.创建表(SysUser) create table "SysUsers"( "UserId" serial, --用户Id,自增 "LoginNa ...

  2. iOS 优秀开源项目

    1. 界面 iCarousel: 用来做图片旋转显示效果(相册). MZTimerLabel:用来制作一个计时并显示时间的 label. MSDynamicsDrawerViewController, ...

  3. Java50道经典习题-程序17 猴子吃桃问题

    题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只 ...

  4. mongodb 备份脚本

    ###############备份脚本#!/bin/bash basepath="/data/backup/dump$(date +%Y%m%d%H%M%S)" if [ ! -d ...

  5. 红与黑(DFS)

    描述有一间长方形的房子,地上铺了红色.黑色两种颜色的正方形瓷砖.你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动.请写一个程序,计算你总共能够到达多少块黑色的瓷砖.输入包括多个数据集合.每个数据集 ...

  6. Problem I: GJJ的日常之玩游戏(GDC)

    Contest - 河南省多校连萌(四) Problem I: GJJ的日常之玩游戏 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 107  Solve ...

  7. “全栈2019”Java异常第九章:throws关键字详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  8. Java找那个io类-File获取功能

    package com.hxzy.IOSer;import java.io.*; /* * File 的获取功能 * */public class Demo04 { public static voi ...

  9. jzoj100029

    陪审团制度历来是司法研究中的一个热议话题,由于陪审团的成员组成会对案件最终的结果产生巨大的影响,诉讼双方往往围绕陪审团由哪些人组成这一议题激烈争夺. 小 W 提出了一个甲乙双方互相制衡的陪审团成员挑选 ...

  10. MySQL数据库密码破解

    研究MySQL数据库的加解密方式,在网络攻防过程中具有重要的意义:试想一旦获取了网站一定的权限后,如果能够获取MySQL中保存用户数据,通过解密后,即可通过正常途径来访问数据库:一方面可以直接操作数据 ...