ในการเข้าถึงฐานข้อมูลรหัสผ่าน เราควรใช้โมดูล pwd โดยใช้โมดูลนี้ เราสามารถเข้าถึงบัญชีผู้ใช้และฐานข้อมูลรหัสผ่าน รายการฐานข้อมูลรหัสผ่านเป็นเหมือนทูเพิลเหมือนวัตถุ
ในการใช้โมดูล pwd เราควรนำเข้าโดยใช้
import pwd
คุณสมบัติของฐานข้อมูลรหัสผ่านคือ −
ดัชนี | แอตทริบิวต์ &คำอธิบาย |
---|---|
0 | pw_name ชื่อล็อกอินหรือชื่อผู้ใช้ของผู้ใช้ |
1 | pw_passwd รหัสผ่านที่เข้ารหัส |
2 | pw_uid ID ตัวเลขสำหรับผู้ใช้ |
3 | pw_gid ID ตัวเลขสำหรับกลุ่มผู้ใช้ |
4 | pw_gecos ชื่อผู้ใช้และช่องแสดงความคิดเห็น |
5 | pw_dir โฮมไดเร็กทอรีของผู้ใช้ |
6 | pw_shell ล่ามคำสั่งของผู้ใช้ |
หมายเหตุ − โดยทั่วไป pw_passwd จะเก็บรหัสผ่านที่เข้ารหัสไว้ แต่ในระบบใหม่พวกเขาใช้ระบบรหัสผ่านเงา ดังนั้นใน pw_passwd เราจึงพบเพียงสัญลักษณ์ '*' หรือ 'x' เท่านั้น
วิธีการบางอย่างของโมดูลนี้คือ −
วิธีการ pwd.getpwuid(uid)
เมธอดนี้จะส่งคืนรายการฐานข้อมูลรหัสผ่านสำหรับ ID ผู้ใช้ที่เป็นตัวเลขที่ระบุ
วิธีการ pwd.getpwnam(ชื่อ)
วิธีนี้จะคืนค่ารายการฐานข้อมูลรหัสผ่านสำหรับชื่อผู้ใช้ที่กำหนด
วิธีการ pwd.getpwall()
วิธีนี้จะคืนค่ารายการฐานข้อมูลรหัสผ่านทั้งหมด
โค้ดตัวอย่าง
import pwd print("Root: " + str(pwd.getpwnam('root')) + '\n') #Password detail for root for entry in pwd.getpwall(): print("Name: " + entry[0] + "\t\tShell: " + entry.pw_shell)
ผลลัพธ์
$ python3 example.py 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') Name: root Shell: /bin/bash Name: daemon Shell: /usr/sbin/nologin Name: bin Shell: /usr/sbin/nologin Name: sys Shell: /usr/sbin/nologin Name: sync Shell: /bin/sync Name: games Shell: /usr/sbin/nologin Name: man Shell: /usr/sbin/nologin ……. ……. …….