জেনে রাখা উচিত
- নতুন ইউজার যোগ করতে: useradd test কমান্ড ব্যবহার করুন ("test" হলো নতুন ইউজারের নাম)। প্রিবিলেজ না থাকলে sudo useradd test ব্যবহার করুন।
- হোম ডিরেক্টরি সহ ইউজার তৈরি করতে: sudo useradd -m test বা ডিফল্ট ডিরেক্টরি পরিবর্তন করতে sudo useradd -m -d /test test ব্যবহার করুন।
- ইউজারের পাসওয়ার্ড সেট করতে: passwd test ব্যবহার করুন এবং ইউজার স্যুইচ করতে su - test কমান্ড ব্যবহার করুন।
এই আর্টিকেলে লিনাক্সে কমান্ড লাইন এবং "useradd" কমান্ড ব্যবহার করে ইউজার তৈরি করার পদ্ধতি ব্যাখ্যা করা হয়েছে। এছাড়া হোম ডিরেক্টরি সহ ইউজার তৈরি, পাসওয়ার্ড সেট, ইউজার স্যুইচ, এক্সপায়ারি ডেট সেট, নির্দিষ্ট গ্রুপ অ্যাসাইন, লগইন ডিফল্ট অ্যাডজাস্ট, হোম ফোল্ডার ছাড়া ইউজার তৈরি, ফুল নেম স্পেসিফাই, এবং নির্দিষ্ট ইউজারের ডিটেইলস দেখা—এই সব কভার করা হয়েছে।
ইউজার তৈরি করার পদ্ধতি
নিচের কমান্ড আপনার সিস্টেমে test নামে একটি নতুন ইউজার যোগ করবে।
ইউজার তৈরি করার বেসিক কমান্ড (নাম test):
useradd test
এই কাজের জন্য /etc/password-এ প্রিবিলেজ লাগবে; তাই সম্ভবত উপরের কমান্ডটি sudo দিয়ে চালাতে হবে:
sudo useradd test
এই কমান্ড চালালে কী হবে তা নির্ভর করে /etc/default/useradd কনফিগারেশন ফাইলের কন্টেন্টের ওপর।
/etc/default/useradd-এর কন্টেন্ট देखने নিচের কমান্ড চালান:
sudo nano /etc/default/useradd
কনফিগারেশন ফাইলটি ডিফল্ট শেল সেট করে যা উবুন্টুতে bin/sh। বাকি সব অপশন কমেন্ট আউট করা থাকে।
কমেন্ট আউট করা অপশনগুলো দিয়ে আপনি ডিফল্ট হোম ফোল্ডার, গ্রুপ, পাসওয়ার্ড এক্সপায়ার হওয়ার পর কত দিন পর অ্যাকাউন্ট ডিজেবল হবে, এবং ডিফল্ট এক্সপায়ারি ডেট সেট করতে পারেন।
উপরের তথ্য থেকে গুরুত্বপূর্ণ বিষয় হলো: কোনো সুইচ ছাড়া useradd কমান্ড চালালে আলাদা ডিস্ট্রিবিউশনে আলাদা ফলাফল আসতে পারে, কারণ এটি সম্পূর্ণরূপে /etc/default/useradd ফাইলের সেটিংসের ওপর নির্ভর করে।
sudo ইউটিলিটি সব ডিস্ট্রিবিউশনে ইনস্টলড থাকে না। যদি না থাকে, তবে ইউজার তৈরির উপযুক্ত পারমিশন বিশিষ্ট অ্যাকাউন্টে লগ-ইন করুন।
হোম ডিরেক্টরি সহ ইউজার তৈরি করা
/etc/defaults/useradd ফাইল অনুযায়ী, সেটিংস ফাইলের ওপর নির্ভর করে ইউজারকে হোম ডিরেক্টরি অ্যাসাইন করা হয়েছে কিনা।
হোম ডিরেক্টরি বাধ্যতামূলকভাবে তৈরি করতে নিচের কমান্ড ব্যবহার করুন:
sudo useradd -m test
উপরের কমান্ড test ইউজারের জন্য /home/test ফোল্ডার তৈরি করবে।
ভিন্ন হোম ডিরেক্টরি সহ ইউজার তৈরি করা
ডিফল্ট থেকে ভিন্ন জায়গায় হোম ফোল্ডার চাইলে -d সুইচ ব্যবহার করুন।
sudo useradd -m -d /test test
উপরের কমান্ড রুট ফোল্ডারের নিচে test নামে একটি ফোল্ডার তৈরি করবে test ইউজারের জন্য।
-m সুইচের মধ্যে ফোল্ডার তৈরি নাও হতে পারে। এটি /etc/login.defs ফাইল সেটিং-এর ওপর নির্ভর করে।
-m সুইচ না দিয়ে এটি কাজ করানোর জন্য /etc/login.defs ফাইল এডিট করুন। ফাইলের একদম নিচে নিচের লাইনটি যোগ করুন:
CREATE_HOME yes
লিনাক্সে ইউজারের পাসওয়ার্ড পরিবর্তন করা
হোম ফোল্ডার সহ ইউজার তৈরি করার পর, ইউজারের পাসওয়ার্ড পরিবর্তন করুন।
ইউজারের পাসওয়ার্ড সেট করতে নিচের কমান্ড ব্যবহার করুন:
passwd test
passwd কমান্ড আপনাকে test ইউজারের পাসওয়ার্ড সেট করতে দেয়। আপনাকে পাসওয়ার্ড প্রম্পট করবে।
ইউজার স্যুইচ করা
নতুন ইউজারের অ্যাকাউন্ট টেস্ট করতে টার্মিনাল উইন্ডোতে নিচের কমান্ডটি টাইপ করুন:
su - test
উপরের কমান্ড test অ্যাকাউন্টে স্যুইচ করবে এবং, আপনি যদি হোম ফোল্ডার তৈরি করে থাকেন, তবে আপনি সেই ইউজারের হোম ফোল্ডারে প্লেসড হবেন।
এক্সপায়ারি ডেট সহ ইউজার তৈরি করা
আপনার অফিসে কোনো কনট্রাক্টর ছোট সময়ের জন্য আসলে, তার ইউজার অ্যাকাউন্টে এক্সপায়ারি ডেট সেট করুন। একইভাবে, পারিবারিক সদস্য আসলে তাদের জন্য একটি ইউজার অ্যাকাউন্ট তৈরি করুন যা তাদের যাওয়ার পর এক্সপায়ার হবে।
ইউজার তৈরি করার সময় এক্সপায়ারি ডেট সেট করতে নিচের কমান্ড ব্যবহার করুন:
sudo useradd -m -e 2017-04-25 test
ডেট অবশ্যই YYYY-MM-DD ফরম্যাটে হতে হবে যেখানে YYYY=বছর, MM=মাস নম্বর, DD=দিন নম্বর।
ইউজার তৈরি করে গ্রুপে অ্যাসাইন করা
নতুন কর্মী আপনার কোম্পানিতে যোগ দিলে, সেই ইউজারের জন্য নির্দিষ্ট গ্রুপ অ্যাসাইন করুন যাতে তার টিমের অন্যান্য সদস্যের মতো ফাইল ও ফোল্ডার এক্সেস পায়। উদাহরণস্বরূপ, জন लेखা বিভাগে যোগ দিচ্ছে।
নিচের কমান্ড john-কে accounts গ্রুপে যোগ করবে:
sudo useradd -g accounts john
লিনাক্সে লগইন ডিফল্ট অ্যাডজাস্ট করা
/etc/login.defs ফাইল একটি কনফিগারেশন ফাইল যা লগইন অ্যাক্টিভিটির ডিফল্ট বিহেভিয়র প্রদান করে। এতে কিছু কী সেটিং আছে।
/etc/login.defs ফাইল খুলতে নিচের কমান্ড দিন:
sudo nano /etc/login.defs
login.defs ফাইলে অনেক সেটিং আছে, যাদের মধ্যে নিচেরগুলো আপনি পরিবর্তন করতে চাইতে পারেন:
- PASS_MAX_DAYS: পাসওয়ার্ড এক্সপায়ার হওয়ার আগে কত দিন।
- PASS_MIN_DAYS: পাসওয়ার্ড কতক্ষণ পর পরিবর্তন করা যায়।
- PASS_WARN_AGE: পাসওয়ার্ড এক্সপায়ার হওয়ার আগে কত দিন আগে সতর্ক করা হবে।
- LOGIN_RETRIES: ফেল হওয়ার আগে লগইন অ্যাটেম্পটের সংখ্যা।
- LOGIN_TIMEOUT: লগইন টাইমআউট হওয়ার সময়।
- DEFAULT_HOME: হোম ফোল্ডার না থাকলেও ইউজার লগইন করতে পারবে।
এই ডিফল্ট অপশনগুলো নতুন ইউজার তৈরি করার সময় ওভাররাইড করা যায়।
লগইন পাসওয়ার্ড এক্সপায়ারি স্পেসিফাই করা
ইউজার তৈরি করার সময় পাসওয়ার্ড এক্সপায়ারি ডেট, লগইন রিট্রাই সংখ্যা, এবং টাইমআউট সেট করুন। নিচের উদাহরণে একটি ইউজার তৈরি করা হয়েছে পাসওয়ার্ড ওয়ার্নিং, পাসওয়ার্ড এক্সপায়ারের সর্বোচ্চ দিন, এবং লগইন-রিট্রাই সেট করে।
sudo useradd -m -K PASS_MAX_DAYS=5 -K PASS_WARN_AGE=3 -K LOGIN_RETRIES=3 test
হোম ফোল্ডার ছাড়া ইউজার বাধ্যতামূলকভাবে তৈরি করা
যদি login.defs ফাইলে CREATE_HOME yes অপশন সেট করা থাকে, তবে ইউজার তৈরি হলে স্বয়ংক্রিয়ভাবে হোম ফোল্ডার তৈরি হয়।
সেটিংস অপরিবর্তিত রেখে হোম ফোল্ডার ছাড়া ইউজার তৈরি করতে নিচের কমান্ড ব্যবহার করুন:
sudo useradd -M test
-m মানে create home এবং -M মানে do not create home—এটি কিছুটা বিভ্রান্তিকর।
ইউজারের পূর্ণ নাম স্পেসিফাই করা
আপনার ইউজার তৈরির নীতিমালা অনুযায়ী, আপনি ফাস্ট ইনিশিয়াল এবং লাস্ট নেম ব্যবহার করতে পারেন। যেমন, John Smith-এর ইউজারনেম হবে jsmith। ইউজারের ডিটেইলস খোঁজার সময় John Smith এবং Jenny Smith-এর মধ্যে পার্থক্য করা কঠিন হতে পারে।
অ্যাকাউন্ট তৈরি করার সময় একটি কমেন্ট যোগ করুন যাতে ইউজারের আসল নাম সহজে খুঁজে পাওয়া যায়। কমেন্ট যোগ করতে নিচের কমান্ড চালান:
sudo useradd -m smithj -c "John Smith"
/etc/passwd ফাইল বিশ্লেষণ করা
ইউজার তৈরি করলে সেটির ডিটেইলস /etc/passwd ফাইলে যোগ হয়। নির্দিষ্ট ইউজারের ডিটেইলস देखने grep কমান্ড ব্যবহার করুন:
grep smithj /etc/passwd
উপরের কমান্ড john শব্দ যেসব ইউজারনেমের অংশ, তাদের সব ডিটেইলস ফেরত দেবে।
/etc/passwd ফাইলটি প্রতিটি ইউজারের জন্য কোলন-সেপারেটেড ফিল্ডের একটি তালিকা ধারণ করে। ফিল্ডগুলো হলো:
- ইউজারনেম
- এনক্রিপ্টেড পাসওয়ার্ড (সদা x হিসেবে দেখাবে)
- User ID
- ইউজারের গ্রুপ ID
- ইউজারের পূর্ণ নাম
- ইউজারের হোম ডিরেক্টরি
- লগইন শেল
অনেক ডেস্কটপ লিনাক্স ডিস্ট্রিবিউশন ইউজার তৈরির জন্য গ্রাফিক্যাল টুল প্রদান করে, তবুও কমান্ড লাইন থেকে করা শিখলে আপনি এক ডিস্ট্রিবিউশন থেকে অন্যে যেতে নতুন ইউজার ইন্টারফেস শিখতে হবে না।