Mô-đun pwd trong thư viện chuẩn của Python cung cấp quyền truy cập vào cơ sở dữ liệu mật khẩu của tài khoản người dùng trong hệ điều hành Unix/Linux. Các mục trong cơ sở dữ liệu mật khẩu này được lưu trữ như một đối tượng giống tuple. Cấu trúc của tuple tuân theo cấu trúc passwd trong file pwd.h của CPython API:
| Chỉ số | Thuộc tính | Ý nghĩa |
|---|---|---|
| 0 | pw_name | Tên đăng nhập |
| 1 | pw_passwd | Mật khẩu mã hóa tùy chọn |
| 2 | pw_uid | ID người dùng số |
| 3 | pw_gid | ID nhóm số |
| 4 | pw_gecos | Tên người dùng hoặc trường chú thích |
| 5 | pw_dir | Thư mục home của người dùng |
| 6 | pw_shell | Trình thông dịch lệnh của người dùng |
Mô-đun pwd định nghĩa các hàm sau:
>>> import pwd >>> dir(pwd) ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'getpwall', 'getpwnam', 'getpwuid', 'struct_passwd']
getpwnam() - Hàm này trả về bản ghi trong cơ sở dữ liệu mật khẩu tương ứng với tên người dùng được chỉ định.
>>> pwd.getpwnam('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')getpwuid() - Hàm này trả về bản ghi trong cơ sở dữ liệu mật khẩu tương ứng với UID cho trước.
>>> 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() - Hàm này trả về danh sách các tuple. Mỗi tuple chứa thông tin cấu trúc passwd của mỗi người dùng. Các mục uid và gid trong cấu trúc là số nguyên. Nếu mục tương ứng với tham số truyền vào không tìm thấy, ngoại lệ KeyError được ném ra.
>>> pwd.getpwnam('hello')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: "getpwnam(): name not found: hello"