পাইথন স্ট্যান্ডার্ড লাইব্রেরির pwd মডিউল Unix/Linux অপারেটিং সিস্টেমের ইউজার অ্যাকাউন্টের পাসওয়ার্ড ডাটাবেসে অ্যাক্সেস প্রদান করে। এই পাসওয়ার্ড ডাটাবেসে এন্ট্রিগুলো একটি টাপল-লাইক অবজেক্ট হিসেবে সংরক্ষিত থাকে। টাপলের স্ট্রাকচার CPython API-র pwd.h ফাইলে passwd স্ট্রাকচারের অনুযায়ী:
| Index | Attribute | Meaning |
|---|---|---|
| 0 | pw_name | লগইন নাম |
| 1 | pw_passwd | অপশনাল এনক্রিপ্টেড পাসওয়ার্ড |
| 2 | pw_uid | নিউমেরিক্যাল ইউজার ID |
| 3 | pw_gid | নিউমেরিক্যাল গ্রুপ ID |
| 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='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 "", line 1, in
KeyError: 'getpwnam(): name not found: hello'