পাসওয়ার্ড ডেটাবেস এক্সেস করতে হলে, আমাদের pwd মডিউল ব্যবহার করতে হবে। এই মডিউল ব্যবহার করে আমরা ইউজার অ্যাকাউন্ট এবং পাসওয়ার্ড ডেটাবেস এক্সেস করতে পারি। পাসওয়ার্ড ডেটাবেস এন্ট্রিগুলো টাপল-লাইক অবজেক্ট।
pwd মডিউল ব্যবহার করতে হলে, আমাদের এটি ইম্পোর্ট করতে হবে।
import pwd
পাসওয়ার্ড ডেটাবেসের অ্যাট্রিবিউটগুলো -
| Index | Attribute & Description |
|---|---|
| 0 | pw_name ইউজারের লগইন নাম বা ইউজারনেম |
| 1 | pw_passwd এনক্রিপ্টেড পাসওয়ার্ড |
| 2 | pw_uid ইউজারের জন্য নিউমেরিক আইডি |
| 3 | pw_gid ইউজারের গ্রুপের জন্য নিউমেরিক আইডি |
| 4 | pw_gecos ইউজারের নাম এবং কমেন্ট ফিল্ড |
| 5 | pw_dir ইউজারের হোম ডিরেক্টরি |
| 6 | pw_shell ইউজারের কমান্ড ইন্টারপ্রেটার। |
নোট − সাধারণত, pw_passwd এনক্রিপ্টেড পাসওয়ার্ড ধারণ করে। কিন্তু নতুন সিস্টেমগুলো শ্যাডো পাসওয়ার্ড সিস্টেম ব্যবহার করে। তাই এখন, pw_passwd-এ আমরা শুধু '*' বা 'x' সিম্বল পাই।
এই মডিউলের কিছু মেথড -
pwd.getpwuid(uid) মেথড
এই মেথড দেওয়া নিউমেরিক ইউজার আইডির জন্য পাসওয়ার্ড ডেটাবেস এন্ট্রি ফেরত দেবে।
pwd.getpwnam(name) মেথড
এই মেথড দেওয়া ইউজার নামের জন্য পাসওয়ার্ড ডেটাবেস এন্ট্রি ফেরত দেবে।
pwd.getpwall() মেথড
এই মেথড সকল পাসওয়ার্ড ডেটাবেস এন্ট্রি ফেরত দেবে।
উদাহরণ কোড
import pwd
print("Root: " + str(pwd.getpwnam('root')) + '\n') # রুটের পাসওয়ার্ড ডিটেইল
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 …………… ………… …………