কম্পিউটার টিউটোরিয়াল

Unix/Linux পাসওয়ার্ড ডাটাবেস অ্যাক্সেস (pwd)

পাইথন স্ট্যান্ডার্ড লাইব্রেরির 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'
  1. লিনাক্সের জন্য ৫টি সেরা গেম

  2. ইউনিক্স এবং লিনাক্সে "less" কমান্ড "more" চেয়ে কেন ভালো

  3. Unix বনাম Linux: পার্থক্য এবং কেন এটি গুরুত্বপূর্ণ

  4. লিনাক্সে রুট পাসওয়ার্ড রিসেট (Reset) করার পদ্ধতি