Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เข้าถึงฐานข้อมูลรหัสผ่านเงาใน 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

จำนวนวันตั้งแต่ 01/01/1997 จนกว่าบัญชีจะถูกปิดการใช้งาน

8

sp_flag

สงวนไว้

วิธีการบางอย่างของโมดูลนี้คือ −

วิธีการ spwd.getspnam(ชื่อ)

เมธอดนี้จะส่งคืนรายการฐานข้อมูลรหัสผ่านเงาสำหรับชื่อผู้ใช้ที่ระบุ

วิธีการ 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: !