উবুন্টুতে ব্যবহারকারীদের তালিকা কীভাবে পরীক্ষা করবেন | লগইন, ব্যবস্থাপনা এবং মুছে ফেলার সম্পূর্ণ গাইড

目次

১. পরিচিতি

উবুন্টু একটি জনপ্রিয় লিনাক্স ডিস্ট্রিবিউশন যা অনেক ব্যবহারকারীর দ্বারা ব্যবহৃত হয়, ব্যক্তিগত ব্যবহার থেকে এন্টারপ্রাইজ সার্ভার পরিবেশ পর্যন্ত। উবুন্টু সিস্টেম অ্যাডমিনিস্ট্রেশনের সময় ইউজার অ্যাকাউন্ট পরিচালনা অপরিহার্য। বিশেষ করে, নিবন্ধিত ইউজারদের তালিকা চেক করা নিরাপত্তা ব্যবস্থাপনা এবং অ্যাকাউন্ট সংগঠনের জন্য সাহায্য করে।

এই নিবন্ধটি উবুন্টুতে ইউজারদের তালিকা চেক করার বিস্তারিত ব্যাখ্যা প্রদান করে। এটি মৌলিক কমান্ড থেকে বিস্তারিত ইউজার তথ্য পুনরুদ্ধার করা পর্যন্ত সবকিছু কভার করে, যা নতুন এবং উন্নত ইউজার উভয়ের জন্য উপকারী।

年収訴求

২. উবুন্টুতে ইউজারদের তালিকা চেক করার উপায়

উবুন্টুতে, ইউজার তথ্য নির্দিষ্ট ফাইল বা কমান্ড ব্যবহার করে সহজেই পুনরুদ্ধার করা যায়। আপনি নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করে ইউজারদের তালিকা চেক করতে পারেন।

২.১ /etc/passwd দিয়ে ইউজারদের তালিকা প্রদর্শন

উবুন্টুতে, সকল ইউজার তথ্য /etc/passwd ফাইলে সংরক্ষিত থাকে। এই ফাইলটি প্রদর্শন করে আপনি সকল নিবন্ধিত ইউজার চেক করতে পারেন।

উদাহরণ কমান্ড

cat /etc/passwd

এই কমান্ডটি চালানোর ফলে নিম্নলিখিত ফরম্যাটে তথ্য প্রদর্শিত হবে:

root:x:0:0:root:/root:/bin/bash
user1:x:1000:1000:User One,,,:/home/user1:/bin/bash
user2:x:1001:1001:User Two,,,:/home/user2:/bin/bash

প্রত্যেক লাইনটি কোলন (“:“) দিয়ে পৃথককৃত ফিল্ড নিয়ে গঠিত এবং নিম্নলিখিত তথ্য ধারণ করে:

  1. ইউজারনেম
  2. পাসওয়ার্ড (নিরাপত্তার জন্য বর্তমানে “x” হিসেবে প্রদর্শিত)
  3. ইউজার আইডি (UID)
  4. গ্রুপ আইডি (GID)
  5. ইউজার তথ্য (মন্তব্য)
  6. হোম ডিরেক্টরি
  7. ডিফল্ট শেল

যেহেতু এই ফাইলে সিস্টেম ইউজারগুলিও অন্তর্ভুক্ত, তাই শুধুমাত্র সাধারণ লগইন ইউজারগুলি বের করার জন্য নিম্নলিখিত পদ্ধতি ব্যবহার করতে পারেন।

২.২ শুধুমাত্র ইউজারনেমগুলি পুনরুদ্ধার

শুধুমাত্র ইউজারনেমদের তালিকা প্রদর্শন করার জন্য নিম্নলিখিত কমান্ড ব্যবহার করুন:

cut -d: -f1 /etc/passwd

বিকল্পভাবে, আপনি awk কমান্ড ব্যবহার করতে পারেন:

awk -F':' '{ print $1 }' /etc/passwd

উদাহরণ আউটপুট:

root
user1
user2

২.৩ নির্দিষ্ট ইউজার অনুসন্ধান

একটি নির্দিষ্ট ইউজার বিদ্যমান কিনা চেক করার জন্য grep কমান্ড ব্যবহার করুন:

grep 'user1' /etc/passwd

এই কমান্ডটি চালানোর ফলে শুধুমাত্র user1 সম্পর্কিত তথ্য প্রদর্শিত হবে।

২.৪ /etc/group দিয়ে গ্রুপ তথ্য পুনরুদ্ধার

একজন ইউজার কোন গ্রুপগুলির সদস্য তা চেক করার জন্য /etc/group ফাইলটি দেখুন।

cat /etc/group | cut -d: -f1

একজন নির্দিষ্ট ইউজার যে গ্রুপগুলির সদস্য তা চেক করার জন্য নিম্নলিখিত কমান্ড ব্যবহার করুন:

groups user1

উদাহরণ আউটপুট:

user1 : user1 sudo

এটি নির্দেশ করে যে user1 sudo গ্রুপেরও সদস্য।

৩. বর্তমানে লগইন করা ইউজারগুলি চেক করার উপায়

উবুন্টুতে, সিস্টেমে বর্তমানে কোন ইউজাররা লগইন করা আছে তা চেক করার কয়েকটি উপায় রয়েছে। নির্দিষ্ট কমান্ড ব্যবহার করে আপনি সক্রিয় সেশন এবং লগইন করা ইউজারদের তথ্য পুনরুদ্ধার করতে পারেন।

৩.১ who কমান্ড দিয়ে লগইন করা ইউজার চেক

who কমান্ডটি সকল বর্তমানে লগইন করা ইউজারদের তালিকা প্রদান করে।

উদাহরণ কমান্ড

who

উদাহরণ আউটপুট

user1    tty1         2025-02-16 10:05
user2    pts/0        2025-02-16 11:30

ফিল্ডগুলির ব্যাখ্যা

  1. ইউজারনেম (লগইন করা ইউজার)
  2. টার্মিনাল নাম (ভৌতিক কনসোল tty1 বা রিমোট সেশন pts/0 )
  3. লগইন সময়

who কমান্ডটি সহজ এবং লগইন করা ইউজারদের দ্রুত চেক করার জন্য উপকারী।

৩.২ w কমান্ড দিয়ে বিস্তারিত ইউজার অ্যাকটিভিটি চেক

w কমান্ডটি who এর চেয়ে আরও বিস্তারিত তথ্য প্রদান করে।

উদাহরণ কমান্ড

w

উদাহরণ আউটপুট

 11:35:25 up 2:15,  2 users,  load average: 0.03, 0.02, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user1    tty1                      10:05    1:30m  0.10s  0.10s -bash
user2    pts/0    192.168.1.10      11:30    0.00s  0.05s  0.02s sshd

ফিল্ডগুলির ব্যাখ্যা

  • সিস্টেম আপটাইম (up 2:15)
  • লগইন করা ব্যবহারকারীদের সংখ্যা (2 users)
  • সিপিইউ লোড গড়
  • ব্যবহারকারীর নাম (USER)
  • সংযুক্ত টার্মিনাল (TTY)
  • দূরবর্তী সংযোগের উৎস (FROM)
  • লগইন সময় (LOGIN@)
  • অবসর সময় (IDLE)
  • সিপিইউ ব্যবহার (JCPU, PCPU)
  • চলমান প্রক্রিয়া (WHAT)

যেহেতু FROM ক্ষেত্রটি SSH সংযোগের জন্য দূরবর্তী IP ঠিকানা দেখায়, এই কমান্ডটি দূরবর্তী অ্যাক্সেস পরিচালনা এবং মনিটরিংয়ের জন্য উপযোগী।

3.3 users কমান্ড দিয়ে লগইন করা ব্যবহারকারীদের দ্রুত চেক করা

যদি আপনার শুধুমাত্র বর্তমানে লগইন করা ব্যবহারকারীদের ব্যবহারকারীর নামের একটি সাধারণ তালিকা প্রয়োজন হয়, তাহলে users কমান্ডটি ব্যবহার করুন।

উদাহরণ কমান্ড

users

উদাহরণ আউটপুট

user1 user2

এই কমান্ডটি who-এর একটি সরলীকৃত সংস্করণ, যা শুধুমাত্র ব্যবহারকারীর নামগুলি প্রদর্শন করে।

3.4 whoami কমান্ড দিয়ে বর্তমান ব্যবহারকারী চেক করা

যদি আপনি চেক করতে চান যে কোন ব্যবহারকারী বর্তমানে একটি টার্মিনাল সেশন চালাচ্ছে, তাহলে whoami কমান্ডটি ব্যবহার করুন।

উদাহরণ কমান্ড

whoami

উদাহরণ আউটপুট

user1

এই কমান্ডটি যাচাই করার জন্য উপযোগী যে কোন ব্যবহারকারীর অ্যাকাউন্ট কমান্ডগুলি চালাচ্ছে।

3.5 last কমান্ড দিয়ে সাম্প্রতিক লগইন ইতিহাস চেক করা

last কমান্ডটি অতীতের ব্যবহারকারীদের লগইন ইতিহাস চেক করতে দেয়।

উদাহরণ কমান্ড

last

উদাহরণ আউটপুট

user1    pts/0        192.168.1.10     Mon Feb 15 10:20   still logged in
user2    tty1                          Mon Feb 15 09:30 - 10:00  (00:30)
root     tty1                          Sun Feb 14 22:15 - 23:45  (01:30)

ক্ষেত্রগুলির ব্যাখ্যা

  • ব্যবহারকারীর নাম
  • সংযুক্ত টার্মিনাল (tty1, pts/0, ইত্যাদি)
  • দূরবর্তী সংযোগের উৎস (IP ঠিকানা)
  • লগইন শুরুর সময়
  • লগআউট সময় (সক্রিয় সেশনের জন্য “এখনও লগইন করা আছে”)
  • মোট লগইন সময়কাল (যেমন, 00:30 = ৩০ মিনিট)

এই কমান্ডটি অতীতের লগইনগুলি মনিটর করা এবং অননুমোদিত অ্যাক্সেস সনাক্ত করার জন্য উপযোগী।

4. বিস্তারিত ব্যবহারকারী তথ্য চেক করার উপায়

উবুন্টুতে, নিবন্ধিত ব্যবহারকারীদের সম্পর্কে বিস্তারিত তথ্য পাওয়ার জন্য কয়েকটি কমান্ড উপলব্ধ। একজন ব্যবহারকারীর UID, গ্রুপ, লগইন শেল এবং অন্যান্য বৈশিষ্ট্য চেক করে, অ্যাডমিনিস্ট্রেটররা অনুমতি এবং নিরাপত্তা সেটিংসগুলি কার্যকরভাবে পরিচালনা করতে পারেন। এই বিভাগে id, finger এবং chage-এর মতো কমান্ড ব্যবহার করে বিস্তারিত ব্যবহারকারী তথ্য পাওয়ার উপায় ব্যাখ্যা করা হয়েছে।

4.1 id কমান্ড দিয়ে ব্যবহারকারীর UID, GID এবং গ্রুপ চেক করা

id কমান্ডটি একজন ব্যবহারকারীর UID (ব্যবহারকারী আইডি), GID (গ্রুপ আইডি) এবং গ্রুপ সদস্যপদ সম্পর্কিত তথ্য প্রদান করে।

উদাহরণ কমান্ড
id user1
উদাহরণ আউটপুট
uid=1001(user1) gid=1001(user1) groups=1001(user1),27(sudo),1002(docker)
ক্ষেত্রগুলির ব্যাখ্যা
  • uid=1001(user1)ব্যবহারকারী আইডি (ব্যবহারকারীর জন্য অনন্য পরিচয়ক)
  • gid=1001(user1)গ্রুপ আইডি (ব্যবহারকারীর প্রাথমিক গ্রুপ)
  • groups=1001(user1),27(sudo),1002(docker)ব্যবহারকারী যে গ্রুপগুলির সাথে যুক্ত তাদের তালিকা

এই তথ্যটি যাচাই করার জন্য উপযোগী যে কোন গ্রুপে একজন ব্যবহারকারীকে নিয়োগ করা হয়েছে।

বর্তমানে লগইন করা ব্যবহারকারীর তথ্য চেক করা
id

এই কমান্ডটি চালানোর ফলে বর্তমানে লগইন করা ব্যবহারকারীর আইডি তথ্য প্রদর্শিত হবে।

4.2 groups কমান্ড দিয়ে একজন ব্যবহারকারীর গ্রুপ চেক করা

একজন নির্দিষ্ট ব্যবহারকারী কোন গ্রুপগুলির সাথে যুক্ত তা চেক করার জন্য, groups কমান্ডটি ব্যবহার করুন।

উদাহরণ কমান্ড
groups user1
উদাহরণ আউটপুট
user1 : user1 sudo docker

যদিও id কমান্ডটিও গ্রুপ তথ্য প্রদান করে, groups কমান্ডটি শুধুমাত্র গ্রুপের নাম চেক করার সময় আরও সুবিধাজনক।

বর্তমানে লগইন করা ব্যবহারকারীর গ্রুপ চেক করা
groups

এই কমান্ডটি বর্তমান ব্যবহারকারী যে গ্রুপগুলির সাথে যুক্ত তা প্রদর্শন করে।

4.3 finger কমান্ড দিয়ে বিস্তারিত ব্যবহারকারী তথ্য পাওয়া

finger কমান্ডটি পূর্ণ নাম, লগইন তথ্য এবং শেলের ধরনের মতো অতিরিক্ত বিশদ প্রদান করে।

finger ইনস্টল করা

finger কমান্ডটি ডিফল্টভাবে ইনস্টল করা নেই। নিম্নলিখিত কমান্ড দিয়ে এটি ইনস্টল করুন:

sudo apt install finger
উদাহরণ কমান্ড
finger user1
উদাহরণ আউটপুট
Login: user1                    Name: User One
Directory: /home/user1           Shell: /bin/bash
Last login: Mon Feb 16 10:20 (UTC) on pts/0
ক্ষেত্রসমূহের ব্যাখ্যা
  • Login → ব্যবহারকারীর নাম
  • Name → পূর্ণ নাম (খালি থাকতে পারে)
  • Directory → ব্যবহারকারীর হোম ডিরেক্টরি
  • Shell → ব্যবহারকারী যে শেল ব্যবহার করছেন
  • Last login → শেষ রেকর্ডকৃত লগইন সময়

সিস্টেম অ্যাডমিনিস্ট্রেটররা finger কমান্ড ব্যবহার করে দ্রুত চেক করতে পারেন কোন ব্যবহারকারীরা লগইন করেছেন এবং তাদের শেষ লগইন কার্যকলাপ।

৪.৪ chage কমান্ড দিয়ে পাসওয়ার্ড মেয়াদ শেষ হওয়া চেক করা

অ্যাডমিনিস্ট্রেটররা chage কমান্ড ব্যবহার করে একজন ব্যবহারকারীর পাসওয়ার্ড মেয়াদ শেষ হওয়ার বিস্তারিত এবং শেষ পাসওয়ার্ড পরিবর্তনের তারিখ চেক করতে পারেন।

উদাহরণ কমান্ড
sudo chage -l user1
উদাহরণ আউটপুট
Last password change            : Jan 15, 2025
Password expires                : Mar 15, 2025
Password inactive               : never
Account expires                 : never
Minimum number of days between password change : 7
Maximum number of days between password change : 60
Number of days of warning before password expires : 5
ক্ষেত্রসমূহের ব্যাখ্যা
  • Last password change → শেষ পাসওয়ার্ড আপডেটের তারিখ
  • Password expires → পাসওয়ার্ড মেয়াদ শেষ হওয়ার তারিখ
  • Password inactive → পাসওয়ার্ড অকার্যকর হওয়ার আগের সময়কাল
  • Account expires → অ্যাকাউন্ট নিষ্ক্রিয় হওয়ার তারিখ
  • Minimum number of days between password change → পাসওয়ার্ড পরিবর্তনের মধ্যে প্রয়োজনীয় ন্যূনতম ব্যবধান
  • Maximum number of days between password change → পাসওয়ার্ড বৈধ থাকার সর্বোচ্চ সময়কাল
  • Number of days of warning before password expires → পাসওয়ার্ড মেয়াদ শেষ হওয়ার আগে সতর্কতা পাওয়ার দিনের সংখ্যা

অ্যাডমিনিস্ট্রেটররা এই তথ্য ব্যবহার করে পাসওয়ার্ড নীতি প্রয়োগ করতে এবং নিরাপত্তা বাড়াতে পারেন।

৫. উবুন্টুতে ব্যবহারকারী পরিচালনা (যোগ করা, মুছে ফেলা এবং পরিবর্তন করা)

উবুন্টুতে সিস্টেম অ্যাডমিনিস্ট্রেটরদের জন্য সঠিক ব্যবহারকারী পরিচালনা অত্যন্ত গুরুত্বপূর্ণ। নতুন ব্যবহারকারী যোগ করা, পুরনোদের মুছে ফেলা এবং বিদ্যমান ব্যবহারকারীর তথ্য পরিবর্তন করা নিরাপত্তা এবং দক্ষতা বজায় রাখতে সাহায্য করে। এই বিভাগে adduserdeluser এবং usermod এর মতো কমান্ড ব্যবহার করে ব্যবহারকারী পরিচালনা করার পদ্ধতি ব্যাখ্যা করা হয়েছে।

৫.১ ব্যবহারকারী যোগ করা

উবুন্টুতে একজন নতুন ব্যবহারকারী তৈরি করার জন্য আপনি adduser বা useradd কমান্ড ব্যবহার করতে পারেন।

৫.১.১ adduser কমান্ড ব্যবহার করা (সুপারিশকৃত)

adduser কমান্ড একটি ইন্টারেক্টিভ টুল যা ব্যবহারকারী তৈরির প্রক্রিয়াকে সহজ করে।

উদাহরণ কমান্ড
sudo adduser newuser
ইন্টারেক্টিভ প্রক্রিয়া
Adding user `newuser' ...
Adding new group `newuser' (1002) ...
Adding new user `newuser' (1002) with group `newuser' ...
Creating home directory `/home/newuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully
Changing the user information for newuser
Enter the new value, or press ENTER for the default
        Full Name []: 
        Room Number []: 
        Work Phone []: 
        Home Phone []: 
        Other []: 
Is the information correct? [Y/n]
যা তৈরি হয়
  • ব্যবহারকারীর অ্যাকাউন্ট
  • উৎসর্গীকৃত গ্রুপ
  • হোম ডিরেক্টরি (/home/newuser)
  • লগইন পাসওয়ার্ড
  • মৌলিক ব্যবহারকারীর তথ্য

এই পদ্ধতি সবচেয়ে সাধারণ এবং নতুনদের জন্য উপযোগী।

৫.১.২ useradd কমান্ড ব্যবহার করা (উন্নত ব্যবহারকারীদের জন্য)

useradd কমান্ড adduser থেকে ভিন্ন কারণ এটি একটি নিম্ন-স্তরের টুল, স্ক্রিপ্টিংয়ের জন্য ডিজাইন করা এবং স্বয়ংক্রিয়ভাবে হোম ডিরেক্টরি তৈরি করে না।

উদাহরণ কমান্ড
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
অপশনের বর্ণনা
  • -m → হোম ডিরেক্টরি তৈরি করে
  • -s /bin/bash → ডিফল্ট শেল /bin/bash করে সেট করে

useradd ব্যবহার করার সময়, নতুন ব্যবহারকারীর জন্য পাসওয়ার্ড ম্যানুয়ালি সেট করতে হবে।

৫.২ ব্যবহারকারী মুছে ফেলা

যে ব্যবহারকারীর অ্যাকাউন্ট আর প্রয়োজন নেই তা সরাতে, deluser বা userdel কমান্ড ব্যবহার করুন।

৫.২.১ deluser কমান্ড ব্যবহার করা (সুপারিশকৃত)

deluser কমান্ডটি adduser-এর সমতুল্য এবং ব্যবহারকারীদের মুছে ফেলার জন্য ব্যবহৃত হয়।

উদাহরণ কমান্ড
sudo deluser newuser
হোম ডিরেক্টরি সহ মুছে ফেলা
sudo deluser --remove-home newuser

এই কমান্ডটি ব্যবহারকারী অ্যাকাউন্ট এবং ব্যবহারকারীর হোম ডিরেক্টরি (/home/newuser) উভয়ই মুছে ফেলবে।

৫.২.২ userdel কমান্ড ব্যবহার করা (উন্নত ব্যবহারকারীদের জন্য)

userdel কমান্ডটি ব্যবহারকারী মুছে ফেলার উপর আরও সরাসরি নিয়ন্ত্রণ প্রদান করে।

উদাহরণ কমান্ড
sudo userdel newuser
হোম ডিরেক্টরি মুছে ফেলা
sudo userdel -r newuser

deluser-এর বিপরীতে, userdel ভুলভাবে ব্যবহার করলে ঝুঁকিপূর্ণ হতে পারে, তাই সতর্ক থাকুন।

৫.৩ ব্যবহারকারী তথ্য পরিবর্তন করা

একটি বিদ্যমান ব্যবহারকারীর বিবরণ পরিবর্তন করার জন্য, usermod কমান্ডটি ব্যবহার করুন।

৫.৩.১ ব্যবহারকারীর নাম পরিবর্তন করা

উদাহরণ কমান্ড
sudo usermod -l newname oldname

এটি oldname-কে newname-এ পরিবর্তন করে।

৫.৩.২ হোম ডিরেক্টরি পরিবর্তন করা

একজন ব্যবহারকারীর হোম ডিরেক্টরি পরিবর্তন করার জন্য, -d অপশনটি ব্যবহার করুন।

উদাহরণ কমান্ড
sudo usermod -d /new/home/path user1
বর্তমান হোম ডিরেক্টরি নতুন অবস্থানে স্থানান্তর করা
sudo usermod -d /home/newuser -m user1

৫.৩.৩ ব্যবহারকারীর গ্রুপ সদস্যপদ পরিবর্তন করা

একজন ব্যবহারকারীকে ভিন্ন গ্রুপে যোগ করার জন্য, usermod -aG ব্যবহার করুন।

sudo গ্রুপে একজন ব্যবহারকারী যোগ করা
sudo usermod -aG sudo user1
বর্তমান গ্রুপ সদস্যপদ পরীক্ষা করা
groups user1

৫.৩.৪ ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করা

প্রশাসকরা passwd কমান্ড ব্যবহার করে একজন ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করতে পারেন।

উদাহরণ কমান্ড
sudo passwd user1
উদাহরণ আউটপুট
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully

এই কমান্ডটি user1-এর জন্য পাসওয়ার্ড আপডেট করে, যা তাদের পরবর্তী লগইনে নতুন পাসওয়ার্ড ব্যবহার করতে হবে।

৬. ব্যবহারকারী ব্যবস্থাপনার জন্য ব্যবহারিক ব্যবহারের ক্ষেত্র

উবুন্টুতে ব্যবহারকারীদের ব্যবস্থাপনা শুধু তালিকাভুক্ত করা, যোগ করা বা মুছে ফেলা নয়। নির্দিষ্ট পরিস্থিতির ভিত্তিতে ব্যবহারকারীদের কার্যকরভাবে ব্যবস্থাপনা করার উপায় বোঝা অত্যন্ত গুরুত্বপূর্ণ। এই বিভাগে বাস্তব-বিশ্বের ব্যবহারের ক্ষেত্র এবং কমান্ডের উদাহরণ প্রদান করা হয়েছে যাতে আপনি ব্যবহারকারীদের দক্ষতার সাথে ব্যবস্থাপনা করতে পারেন।

৬.১ নির্দিষ্ট মানদণ্ডের ভিত্তিতে ব্যবহারকারী খোঁজা

৬.১.১ প্রশাসকদের তালিকাভুক্ত করা (sudo অধিকারসম্পন্ন ব্যবহারকারীরা)

সিস্টেম প্রশাসকরা প্রায়শই পরীক্ষা করতে হয় যে কোন ব্যবহারকারীরা sudo অধিকার রাখে। আপনি /etc/group ফাইল অনুসন্ধান করার জন্য getent কমান্ড ব্যবহার করে এই তথ্যটি পেতে পারেন।

উদাহরণ কমান্ড
getent group sudo
উদাহরণ আউটপুট
sudo:x:27:user1,user2

আউটপুটের ব্যাখ্যা:

  • sudo:x:27:sudo গ্রুপ সম্পর্কিত তথ্য
  • user1,user2sudo গ্রুপের সদস্য ব্যবহারকারীরা

এই পদ্ধতি আপনাকে দ্রুত যাচাই করতে সাহায্য করে যে কোন ব্যবহারকারীরা প্রশাসনিক অধিকার রাখে

৬.১.২ শুধুমাত্র লগইন-সক্ষম ব্যবহারকারীদের তালিকাভুক্ত করা

/etc/passwd ফাইলে সিস্টেম এবং নিয়মিত উভয় ব্যবহারকারী অন্তর্ভুক্ত। যারা আসলে লগইন করতে পারে তাদের খুঁজে বের করার জন্য, বৈধ শেলযুক্ত ব্যবহারকারীদের ফিল্টার করুন।

উদাহরণ কমান্ড
grep '/bin/bash' /etc/passwd
উদাহরণ আউটপুট
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash

এই পদ্ধতির সুবিধা:

  • শুধুমাত্র /bin/bash বা /bin/sh যুক্ত ব্যবহারকারীরা দেখানো হয়
  • nologin যুক্ত সিস্টেম অ্যাকাউন্টগুলি বাদ দেওয়া হয়

৬.১.৩ সিস্টেম ব্যবহারকারীদের তালিকাভুক্ত করা (অ-লগইন অ্যাকাউন্ট)

সিস্টেম ব্যবহারকারীদের সাধারণত /usr/sbin/nologin বা /bin/false তাদের ডিফল্ট শেল হিসেবে সেট করা থাকে। আপনি নিম্নলিখিত কমান্ড ব্যবহার করে তাদের ফিল্টার করতে পারেন।

উদাহরণ কমান্ড
grep -E '/usr/sbin/nologin|/bin/false' /etc/passwd
উদাহরণ আউটপুট
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/bin/false

সিস্টেম অ্যাকাউন্টগুলি পরীক্ষা করা নিশ্চিত করে যে তারা ভুলভাবে মুছে ফেলা হয়নি।

৬.২ অব্যবহৃত ব্যবহারকারীদের পর্যায়ক্রমে মুছে ফেলা

৬.২.১ সাম্প্রতিককালে লগইন না করা ব্যবহারকারীদের তালিকাভুক্ত করা

নিষ্ক্রিয় ব্যবহারকারীদের মুছে ফেলার জন্য, lastlog কমান্ড ব্যবহার করে শেষ লগইন ইতিহাস পরীক্ষা করুন।

উদাহরণ কমান্ড
lastlog
উদাহরণ আউটপুট
Username         Port     From             Latest
root            tty1                      Mon Feb 12 14:02:08 +0000 2025
user1           pts/0    192.168.1.10      Mon Jan 15 10:30:12 +0000 2025
user2           pts/1    192.168.1.20      Never logged in
  • Never logged in → ব্যবহারকারী কখনো লগইন করেনি

এই তথ্যের ভিত্তিতে, আপনি নিষ্ক্রিয় অ্যাকাউন্টগুলো সরানোর সিদ্ধান্ত নিতে পারেন।

অব্যবহৃত অ্যাকাউন্ট মুছে ফেলার কমান্ড
sudo deluser user2 --remove-home

৬.২.২ পাসওয়ার্ডের শেষ পরিবর্তনের তারিখ পরীক্ষা করা

chage কমান্ডটি আপনাকে একজন ব্যবহারকারী কখন তাদের পাসওয়ার্ড শেষবার পরিবর্তন করেছেন তা পরীক্ষা করতে দেয়।

উদাহরণ কমান্ড
sudo chage -l user1
উদাহরণ আউটপুট
Last password change            : Jan 15, 2025
Password expires                : Mar 15, 2025
Password inactive               : never

যদি একটি পাসওয়ার্ড দীর্ঘ সময় ধরে পরিবর্তন না হয়ে থাকে, তাহলে আপনি একটি রিসেট জোর করে করতে চাইতে পারেন।

পাসওয়ার্ড পরিবর্তন জোর করা
sudo passwd --expire user1

এটি ব্যবহারকারীকে পরবর্তী লগইনের সময় একটি নতুন পাসওয়ার্ড সেট করতে বাধ্য করে।

৬.৩ SSH-এর মাধ্যমে সংযুক্ত ব্যবহারকারীদের পরীক্ষা করা

একটি দূরবর্তী সার্ভার পরিচালনা করার সময়, কোন ব্যবহারকারীরা SSH-এর মাধ্যমে সংযুক্ত আছেন তা ট্র্যাক করা গুরুত্বপূর্ণ

উদাহরণ কমান্ড
who | grep pts
উদাহরণ আউটপুট
user1    pts/0        192.168.1.10     11:30

এই কমান্ডটি দূরবর্তী ব্যবহারকারীদের এবং তাদের IP ঠিকানাগুলো চিহ্নিত করতে সাহায্য করে।

৬.৪ সকল ব্যবহারকারীর তথ্য একটি CSV ফাইলে রপ্তানি করা

যদি আপনার সকল ব্যবহারকারীর তালিকা সম্বলিত একটি রিপোর্ট তৈরি করার প্রয়োজন হয়, তাহলে আপনি getent কমান্ড ব্যবহার করে ডেটা রপ্তানি করতে পারেন।

উদাহরণ কমান্ড
getent passwd | awk -F: '{print $1 "," $3 "," $4 "," $6}' > users.csv
উদাহরণ CSV আউটপুট
root,0,0,/root
user1,1001,1001,/home/user1
user2,1002,1002,/home/user2
  • ব্যবহারকারীর নাম, UID, GID এবং হোম ডিরেক্টরিগুলো CSV ফরম্যাটে রপ্তানি করা হয়
  • ডেটাটি Excel বা Google Sheets ব্যবহার করে বিশ্লেষণ করা যায়

৭. FAQ (ঘন ঘন জিজ্ঞাসিত প্রশ্ন)

এই বিভাগটি Ubuntu-তে ব্যবহারকারী পরিচালনা সম্পর্কিত সাধারণ প্রশ্নের উত্তর দেয়। এটি দক্ষ ব্যবহারকারী প্রশাসনের জন্য সমস্যা সমাধানের টিপস এবং সেরা অনুশীলন প্রদান করে।

৭.১ /etc/passwd সরাসরি সম্পাদনা করা কি নিরাপদ?

উত্তর:

সরাসরি সম্পাদনা সুপারিশ করা হয় না/etc/passwd ফাইলটি একটি গুরুত্বপূর্ণ সিস্টেম ফাইল, এবং ভুল পরিবর্তনগুলো ব্যবহারকারীদের লগইন করতে বাধা দিতে পারে।

সুপারিশকৃত পদ্ধতি:

usermod বা vipw-এর মতো কমান্ড ব্যবহার করে নিরাপদ সম্পাদনা করুন।

নিরাপদ সম্পাদনা কমান্ড:
sudo vipw

এই কমান্ডটি ফাইলটিকে লক করে সমান্তরাল সম্পাদনা প্রতিরোধ করে, নিরাপদ পরিবর্তন নিশ্চিত করে।

৭.২ who এবং users কমান্ডের মধ্যে পার্থক্য কী?

উত্তর:

Command

বর্ণনা

who

প্রবেশ করা ব্যবহারকারীদের বিস্তারিত দেখায়, যার মধ্যে লগইন সময় এবং টার্মিনাল অন্তর্ভুক্ত।

users

শুধুমাত্র বর্তমানে লগ‑ইন করা ব্যবহারকারীদের ইউজারনেমগুলি একটি সহজ তালিকায় দেখায়।

উদাহরণ ব্যবহার:

who

উদাহরণ আউটপুট:

user1    tty1         2025-02-16 10:05
user2    pts/0        2025-02-16 11:30
users

উদাহরণ আউটপুট:

user1 user2

who কমান্ডটি আরও বিস্তারিত তথ্য প্রদান করে।

৭.৩ একটি নির্দিষ্ট ব্যবহারকারীর লগইন ইতিহাস কীভাবে পরীক্ষা করব?

উত্তর:

লগইন ইতিহাস পরীক্ষা করার জন্য last কমান্ড ব্যবহার করুন।

উদাহরণ কমান্ড:
last user1
উদাহরণ আউটপুট:
user1    pts/0        192.168.1.10     Mon Feb 15 10:20   still logged in
user1    tty1                          Mon Feb 10 09:30 - 10:00  (00:30)

এটি লগইন কার্যকলাপ ট্র্যাক করতে সাহায্য করে, দূরবর্তী সংযোগ সহ।

৭.৪ একজন ব্যবহারকারীর পাসওয়ার্ড কীভাবে পরিবর্তন করব?

উত্তর:

প্রশাসকরা passwd কমান্ড ব্যবহার করে একজন ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করতে পারেন।

উদাহরণ কমান্ড:
sudo passwd user1
উদাহরণ আউটপুট:
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully

ব্যবহারকারীকে পরবর্তী লগইনের সময় নতুন পাসওয়ার্ড ব্যবহার করতে হবে।

৭.৫ একটি ব্যবহারকারী অ্যাকাউন্ট অস্থায়ীভাবে অকার্যকর করতে পারি কি?

উত্তর:

হ্যাঁ, আপনি usermod ব্যবহার করে একটি অ্যাকাউন্টকে অস্থায়ীভাবে লক করতে পারেন।

অ্যাকাউন্ট লক করা:
sudo usermod -L user1

ব্যবহারকারী আনলক না করা পর্যন্ত লগইন করতে পারবে না।

অ্যাকাউন্ট আনলক করা:
sudo usermod -U user1

৭.৬ আমি কীভাবে একজন ব্যবহারকারীকে sudo গ্রুপে যোগ করব?

উত্তর:

usermod কমান্ড ব্যবহার করে sudo অধিকার প্রদান করুন।

উদাহরণ কমান্ড:
sudo usermod -aG sudo user1

এই কমান্ড চালানোর পর, user1 sudo দিয়ে কমান্ডগুলি চালাতে পারবে।

৭.৭ আমি কীভাবে একজন ব্যবহারকারীর হোম ডিরেক্টরি সরাব?

উত্তর:

usermod -d ব্যবহার করে নতুন হোম ডিরেক্টরি সেট করুন।

উদাহরণ কমান্ড:
sudo usermod -d /new/home/path -m user1

৭.৮ আমি কীভাবে সম্পূর্ণভাবে একজন ব্যবহারকারী এবং তাদের ডেটা মুছে ফেলব?

উত্তর:

deluser বা userdel ব্যবহার করে ব্যবহারকারী মুছুন।

উদাহরণ কমান্ড:
sudo deluser --remove-home user1

বিকল্পভাবে:

sudo userdel -r user1

এটি ব্যবহারকারী অ্যাকাউন্ট এবং হোম ডিরেক্টরি উভয়কেই মুছে ফেলবে।

৭.৯ আমি কীভাবে সক্রিয় ব্যবহারকারী কার্যকলাপ চেক করব?

উত্তর:

w কমান্ড ব্যবহার করে লগইন করা ব্যবহারকারীদের মনিটর করুন।

উদাহরণ কমান্ড:
w
উদাহরণ আউটপুট:
 11:35:25 up 2:15,  2 users,  load average: 0.03, 0.02, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user1    tty1                      10:05    1:30m  0.10s  0.10s -bash
user2    pts/0    192.168.1.10      11:30    0.00s  0.05s  0.02s sshd

এই কমান্ডটি ব্যবহারকারী কার্যকলাপ এবং সিস্টেম লোড ট্র্যাক করতে সাহায্য করে।

৮. উপসংহার

উবুন্টুতে ব্যবহারকারী পরিচালনা ব্যক্তিগত এবং এন্টারপ্রাইজ পরিবেশ উভয়ের জন্য অপরিহার্য। এই গাইডে আচ্ছাদিত কমান্ড এবং কৌশলগুলি ব্যবহার করে, আপনি কার্যকরভাবে ব্যবহারকারী অ্যাকাউন্টগুলি পরিচালনা করতে, নিরাপত্তা উন্নত করতে এবং সিস্টেম অ্যাডমিনিস্ট্রেশন অপ্টিমাইজ করতে পারেন।

নিয়মিতভাবে ব্যবহারকারী কার্যকলাপ মনিটরিং, অনুমতি পরিচালনা এবং নিরাপত্তা সেটিংস আপ টু ডেট রাখা একটি ভালো রক্ষণাবেক্ষণ করা এবং নিরাপদ সিস্টেম নিশ্চিত করবে।

年収訴求