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: !

更新於:2019年7月30日

234 次檢視

啟動你的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.