Python访问影子密码数据库
要访问UNIX影子密码数据库,应使用spwd模块。需要足够的权限才能访问此文件。影子密码数据库条目类似于元组对象。
要使用spwd模块,应使用以下方法导入它:
import spwd
影子密码数据库的属性如下:
索引 | 属性及描述 |
---|---|
0 | sp_nam 登录名或用户名 |
1 | sp_pwd 加密密码 |
2 | sp_lstchg 上次更改日期 |
3 | sp_min 密码更改之间最少的天数 |
4 | sp_max 密码更改之间最多天数 |
5 | sp_warn 更改密码的天数警告 |
6 | sp_inact 密码过期后帐户被阻止的天数 |
7 | p_expire 从1997年1月1日起帐户被禁用前的的天数 |
8 | sp_flag 保留 |
此模块的一些方法:
方法 spwd.getspnam(name)
此方法将返回给定用户名对应的影子密码数据库条目。
方法 spwd.getspall()
此方法将返回所有可用的影子密码数据库条目。
示例代码
import spwd print("Root: " + str(spwd.getspnam('root')) + '\n') #Password detail for root for entry in spwd.getspall(): print("Name: " + entry[0] + "\t\tPassword: " + entry.sp_pwdp)
输出
(要获得所需的输出,应以sudo模式运行脚本)
$ sudo python3 example.py Root: spwd.struct_spwd(sp_namp='root', sp_pwdp='!', sp_lstchg=17778, sp_min=0, sp_max=99999, sp_warn=7, sp_inact=-1, sp_expire=-1, sp_flag=-1) …….. …….. …….. Name: geoclue Password: * Name: gnome-initial-setup Password: * Name: gdm Password: * Name: unix_user Password: $6$47n9s0Ep$znWkgNtywebHGKq2o6kZKhGOM8ryp8z4/6P6PUE1m.NQ5Erg9aWncNUAGbuNLFNWUO9M9xzKLxRpFGB5md/nu1 Name: mongodb Password: !
广告