在Python中访问影子密码数据库
要访问UNIX影子密码数据库,我们应该使用spwd模块。我们需要足够的特权才能访问此文件。影子密码数据库条目就像元组一样的对象。
要使用spwd模块,我们应该使用-导入它
import spwd
影子密码数据库的属性是-
sp_nam
用户的登录名或用户名
sp_pwd
加密密码
sp_lstchg
最后更改日期
sp_min
两次更改密码之间的天数最少
sp_max
两次更改密码之间的最大天数
sp_warn
警告更改密码的天数
sp_inact
密码过期后直到帐户被封锁的天数
p_expire
从1997年1月1日到帐户被禁用的天数
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: !