আপনি কি ভেবে দেখেছেন কিভাবে লিনাক্স দক্ষতার সাথে একটি বহু-ব্যবহারকারী পরিবেশ পরিচালনা করে? এই নিবন্ধে আমরা ব্যাখ্যা করব কিভাবে লিনাক্স ব্যবহারকারীর পাসওয়ার্ড এবং লগইন সংরক্ষণ করে এবং পরিচালনা করে।
/etc/passwd ফাইল এক্সপ্লোর করা হচ্ছে
যখন একজন ব্যবহারকারী একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রবেশ করান, তখন লিনাক্স “/etc” ডিরেক্টরির বেশ কয়েকটি ফাইলের একটি প্রবেশের বিপরীতে প্রবেশ করা পাসওয়ার্ডটি পরীক্ষা করে।
"/etc/passwd" হল সবচেয়ে গুরুত্বপূর্ণ ফাইলগুলির মধ্যে একটি যা ব্যবহারকারীর বিবরণ সংরক্ষণ করে৷
এই ফাইলের শেষ এন্ট্রিটি "কার্বন" ব্যবহারকারীদের সাথে সম্পর্কিত। কোলন (:) দ্বারা পৃথক করা তথ্যের একাধিক ক্ষেত্র রয়েছে।
carbon
:ব্যবহারকারীর নাম যার জন্য এই এন্ট্রিটি সঙ্গতিপূর্ণ।x
:নির্দেশ করে যে ব্যবহারকারীর জন্য একটি পাসওয়ার্ড বিদ্যমান। যাইহোক, পাসওয়ার্ডটি "/etc/shadow" ফাইলে সংরক্ষণ করা হয়। যদিx
এর পরিবর্তে এটি একটি!
দেখায় প্রতীক, এটি নির্দেশ করে যে একটি পাসওয়ার্ড বিদ্যমান নেই।1000
:এই ব্যবহারকারীর ব্যবহারকারী আইডি।1000
:এই ব্যবহারকারী যে গোষ্ঠীর অন্তর্গত তার গ্রুপ আইডি৷carbon, , ,
:সম্পূর্ণ নাম এবং টেলিফোন নম্বর সহ তথ্যের একাধিক ক্ষেত্র নির্দেশ করে৷ এখানে, কোন টেলিফোন নম্বর দেওয়া হয়নি।/home/carbon
:হোম ডিরেক্টরির অবস্থান এই ব্যবহারকারীকে বরাদ্দ করা হয়েছে।/bin/bash
:এই ব্যবহারকারীকে ডিফল্ট শেল বরাদ্দ করা হয়েছে।
আসুন আমরা অন্য ব্যবহারকারী তৈরি করি যার জন্য কিছু টেলিফোন নম্বর সংরক্ষণ করা হয়েছে। ব্যবহারকারী "প্লুটো" adduser
ব্যবহার করে সিস্টেমে যোগ করা হয় আদেশ।
"etc/passwd" ফাইলটি আবার দেখে, আমরা "প্লুটো" ব্যবহারকারীর সম্পূর্ণ তথ্য দেখতে পারি। যে ক্ষেত্রটিতে সম্পূর্ণ নাম এবং সংখ্যাগুলির একটি কমা দ্বারা পৃথক তালিকা রয়েছে তাকে "GECOS ক্ষেত্র" বলা হয়৷
যখনই একজন ব্যবহারকারী তৈরি করা হয়, হোম ডিরেক্টরির মান এবং ডিফল্ট শেল যা বরাদ্দ করা প্রয়োজন তা “/etc/adduser.conf” ফাইলে নির্দিষ্ট করা হয়।
তৈরি করা ব্যবহারকারীদের জন্য ব্যবহারকারী আইডি 1000 থেকে শুরু হয় এবং 59999 পর্যন্ত চলে।
ব্যবহারকারী "কার্বন" শুধুমাত্র cat
ব্যবহার করে "/etc/passwd" ফাইলের এন্ট্রি দেখতে সক্ষম হয়েছিল আদেশ আসুন এর অনুমতিগুলি একবার দেখে নেওয়া যাক৷
শুধুমাত্র "রুট" ব্যবহারকারী ফাইলটিতে লিখতে পারে। অন্যান্য ব্যবহারকারীরা শুধুমাত্র ফাইল পড়তে পারেন. যেহেতু এই ফাইলটি প্রত্যেকের দ্বারা পাঠযোগ্য, এটি এখানে পাসওয়ার্ড সংরক্ষণ করা আদর্শ নয়৷ পরিবর্তে এটি "/etc/shadow" নামে আরেকটি ফাইলে সংরক্ষণ করা হয়৷
৷/etc/shadow ফাইলটি এক্সপ্লোর করা হচ্ছে
এখন আসুন "/etc/shadow" ফাইলে "কার্বন" এবং "প্লুটো" ব্যবহারকারীদের জন্য সংরক্ষিত পাসওয়ার্ড দেখার চেষ্টা করি৷
"/etc/shadow" ফাইলের অনুমতিগুলি দেখে, আমরা দেখতে পাব যে শুধুমাত্র "রুট" ব্যবহারকারী ফাইলটি পড়তে এবং লিখতে পারে। এছাড়াও শুধুমাত্র "ছায়া" গ্রুপের সদস্যরা ফাইলটি পড়তে পারে। বাস্তবে, "ছায়া" গ্রুপটি খালি কিন্তু এই ফাইলের জন্য সিনট্যাক্টিকভাবে প্রয়োজন।
"রুট" হিসাবে লগ ইন করলে আমরা "/etc/shadow" এর শেষ দশটি লাইন দেখতে পারি। “/etc/passwd”-এ প্রতিটি এন্ট্রির জন্য এই ফাইলে একটি সংশ্লিষ্ট এন্ট্রি রয়েছে। ফরম্যাটটি এরকম হবে:
pluto:$6$JvWfZ9u....:18283:0:99999:7:::
এই ফাইলটিতেও, প্রতিটি এন্ট্রির একাধিক ক্ষেত্র রয়েছে কোলন (:) দ্বারা পৃথক করা। আসুন "প্লুটো" ব্যবহারকারীর জন্য এন্ট্রিটি পাঠোদ্ধার করি৷
৷pluto
:ব্যবহারকারীর নাম যার জন্য এই এন্ট্রিটি সঙ্গতিপূর্ণ।$6$JvWfZ9u.$yGFIqOJ....
:হ্যাশ করা ব্যবহারকারীর পাসওয়ার্ড ব্যবহার করা হ্যাশিং অ্যালগরিদম সম্পর্কে তথ্য সহ সংরক্ষিত। উপরন্তু, পাসওয়ার্ড হ্যাশ তৈরি করতে প্লেইনটেক্সট পাসওয়ার্ডের সাথে একটি লবণের মান ব্যবহার করা হয়।
{ plaintext password, salt} -> hashed password
আমাদের এই ক্ষেত্রে বিষয়বস্তু প্রক্রিয়া করা যাক. $
তিনটি ক্ষেত্র আলাদা করার জন্য চিহ্নটি একটি বিভেদক হিসাবে ব্যবহৃত হয়।
$6 $JvWfZ9u. $yGFIqOJ....
$6
:হ্যাশিং অ্যালগরিদম ব্যবহৃত হয়। এখানে সম্ভাব্য হ্যাশিং অ্যালগরিদমের তালিকা রয়েছে।- $1 :MD5
- $2a :ব্লোফিশ
- $2y :Eksblowfish
- $5 :SHA-256
- $6 :SHA-512
$JvWfZ9u.
:লবণের মান।$yGFIqOJ....
:হ্যাশ করা পাসওয়ার্ড।
ফলস্বরূপ হ্যাশ মান ব্যবহারকারীর জন্য এনক্রিপ্ট করা পাসওয়ার্ড হিসাবে সংরক্ষণ করা হয়। লবণের মান প্রতিটি ব্যবহারকারীর জন্য অনন্য। এমনকি দুই ব্যবহারকারীর একই প্লেইনটেক্সট পাসওয়ার্ড থাকলেও, একটি অনন্য লবণ ব্যবহার করলে একটি অনন্য হ্যাশ মান তৈরি হবে।
এই এন্ট্রির অবশিষ্ট ক্ষেত্রগুলির সাথে অনুসরণ করুন,
18283
:1 জানুয়ারী, 1970 থেকে দিন সংখ্যা নির্দেশ করে যে পাসওয়ার্ডটি শেষবার পরিবর্তন করা হয়েছিল0
:এই ক্ষেত্রটি কত দিন পরে পাসওয়ার্ড পরিবর্তন করা যেতে পারে তা নির্দেশ করতে ব্যবহৃত হয়। 0 এর মান মানে পাসওয়ার্ড যেকোনো সময় পরিবর্তন করা যেতে পারে।99999
:এই ক্ষেত্রটি কত দিন পর পাসওয়ার্ড পরিবর্তন করতে হবে তা নির্দেশ করে। 99999 এর মান নির্দেশ করে যে ব্যবহারকারী যতক্ষণ ইচ্ছা পাসওয়ার্ড ধরে রাখতে পারেন।7
:পাসওয়ার্ড মেয়াদ শেষ হওয়ার জন্য সেট করা থাকলে, এই ক্ষেত্রগুলি ব্যবহারকারীকে পাসওয়ার্ডের মেয়াদ শেষ হওয়ার বিষয়ে সতর্ক করার দিনগুলির সংখ্যা নির্দেশ করে৷: : :
আরও তিনটি ক্ষেত্র এই এন্ট্রির একটি অংশ, যদিও সেগুলি এখানে খালি। প্রথমটি পাসওয়ার্ডের মেয়াদ শেষ হওয়ার পরে কত দিন অপেক্ষা করতে হবে তা নির্দেশ করে, যার পরে অ্যাকাউন্টটি নিষ্ক্রিয় করা হবে। দ্বিতীয়টি 1 জানুয়ারী, 1970 থেকে দিন সংখ্যা নির্দেশ করে যে একটি অ্যাকাউন্ট নিষ্ক্রিয় করা হয়েছে। তৃতীয় ক্ষেত্রটি ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত। খালি ক্ষেত্রগুলি নির্দেশ করে যে এই ব্যবহারকারীর জন্য বিদ্যমান পাসওয়ার্ডের মেয়াদ শেষ হয়নি এবং শীঘ্রই মেয়াদ শেষ হওয়ার জন্য সেট করা হয়নি৷
পাসওয়ার্ডের বৈধতা সম্পর্কিত শেষ সাতটি ক্ষেত্র সমষ্টিগতভাবে "পাসওয়ার্ড বার্ধক্য নীতি" সম্পর্কে তথ্য ধারণ করতে বলা হয়৷
"পাসওয়ার্ড এজিং পলিসি" এর সাথে সম্পর্কিত ডিফল্ট মানগুলি "/etc/login.defs" ফাইলে নির্দিষ্ট করা হয়েছে৷ change
ব্যবহার করে ব্যবহারকারীর জন্য এই মানগুলি পরিবর্তন করা যেতে পারে আদেশ।
গ্রুপ তথ্য সম্পর্কে কি?
ব্যবহারকারীর তথ্য এবং পাসওয়ার্ডগুলি "/etc/passwd" এবং "/etc/shadow" ফাইলগুলিতে সংরক্ষণ করা হয়। একইভাবে, গ্রুপের তথ্য “/etc/group” ফাইলে সংরক্ষিত থাকে।
উপরে হাইলাইট করা হয়েছে "কার্বন" এবং "প্লুটো" ব্যবহারকারীদের অন্তর্গত গ্রুপ। যখন লিনাক্সে একজন ব্যবহারকারী তৈরি করা হয়, তখন সেই ব্যবহারকারীকে অবিলম্বে ব্যবহারকারীর নামের মতো একই নামের একটি গ্রুপে বরাদ্দ করা হয়।
গ্রুপ-সম্পর্কিত ক্রিয়াকলাপের জন্য একটি গ্রুপের সদস্যরা একটি গ্রুপ পাসওয়ার্ডও শেয়ার করতে পারে। x
এর মান নির্দেশ করে যে সেই গোষ্ঠীর জন্য পাসওয়ার্ড তথ্য "/etc/gshadow" ফাইলে থাকবে৷
যাইহোক, “/etc/gshadow”-এ অ্যাক্সেস “রুট” ব্যবহারকারীর জন্য সীমাবদ্ধ।
"রুট" ব্যবহারকারী "/etc/gshadow" এর এন্ট্রি দেখতে পারেন যা "/etc/shadow" এর মত। "কার্বন" গ্রুপের এন্ট্রির দিকে তাকালে, আমরা দেখতে পাচ্ছি যে দ্বিতীয় ক্ষেত্রের একটি মান রয়েছে !
, যা নির্দেশ করে যে এই গোষ্ঠীর জন্য একটি পাসওয়ার্ড বিদ্যমান নেই৷
এটি সব একসাথে রাখা
যখন একজন ব্যবহারকারী লগ ইন করতে চান, তখন টাইপ করা পাসওয়ার্ডের হ্যাশটি "/etc/shadow"-এ সেই ব্যবহারকারীর লবণের মান ব্যবহার করে পাওয়া যায়। তারপরে এটি সংরক্ষিত হ্যাশের সাথে তুলনা করা হয়। মান মিলে গেলে ব্যবহারকারীকে অ্যাক্সেস দেওয়া হয়।
সম্পর্কিত:
- লিনাক্সে কিভাবে রুট পাসওয়ার্ড রিসেট করবেন
- লিনাক্সে টার্মিনাল থেকে আপনার ব্যবহারকারীর পাসওয়ার্ড কীভাবে পরিচালনা করবেন