โมดูล pwd ในไลบรารีมาตรฐานของ Python ให้การเข้าถึงฐานข้อมูลรหัสผ่านของบัญชีผู้ใช้ในระบบปฏิบัติการ Unix/Linux รายการในฐานข้อมูลรหัสผ่านนี้ถูกสร้างเป็นวัตถุที่มีลักษณะคล้ายทูเปิล โครงสร้างของ tuple เป็นไปตามโครงสร้าง passwd โครงสร้าง pwd.h ไฟล์ใน CPython API
ดัชนี | แอตทริบิวต์ | ความหมาย |
---|---|---|
0 | pw_name | ชื่อล็อกอิน |
1 | pw_passwd | รหัสผ่านเข้ารหัสเสริม |
2 | pw_uid | รหัสผู้ใช้ที่เป็นตัวเลข |
3 | pw_gid | รหัสกลุ่มตัวเลข |
4 | pw_gecos | ชื่อผู้ใช้หรือช่องแสดงความคิดเห็น |
5 | pw_dir | โฮมไดเร็กทอรีของผู้ใช้ |
6 | pw_shell | ตัวแปลคำสั่งของผู้ใช้ |
โมดูล pwd กำหนดฟังก์ชันต่อไปนี้ -
>>> import pwd >>> dir(pwd) ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'getpwall', 'getpwnam', 'getpwuid', 'struct_passwd']
getpwnam() − ฟังก์ชันนี้จะคืนค่าบันทึกในฐานข้อมูลรหัสผ่านที่ตรงกับชื่อผู้ใช้ที่ระบุ
>>> pwd.getpwnam('root') pwd.struct_passwd(pw_name s= 'root', pw_passwd = 'x', pw_uid = 0, pw_gid = 0, pw_gecos = 'root', pw_dir = '/root', pw_shell = '/bin/bash')
getpwuid() − ฟังก์ชันนี้ส่งคืนบันทึกในฐานข้อมูลรหัสผ่านที่สอดคล้องกับ UID ที่กำหนด
>>> pwd.getpwuid(0) 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')
getpwall() − ฟังก์ชันนี้จะคืนค่ารายการของทูเพิล ทูเพิลแต่ละตัวมีข้อมูลโครงสร้าง passwd ของผู้ใช้แต่ละคน รายการ uid และ gid ในโครงสร้างเป็นจำนวนเต็ม หากไม่พบรายการที่ตรงกับพารามิเตอร์ที่ส่งผ่าน ข้อยกเว้น KeyError จะเพิ่มขึ้น
>>> pwd.getpwnam('hello') Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'getpwnam(): name not found: hello'