Ubuntu पर उपयोगकर्ताओं को प्रबंधित और सूचीबद्ध करने का तरीका: उपयोगकर्ता खातों, अनुमतियों और कमांड्स पर पूर्ण गाइड

目次

1. परिचय

उबंटू एक लोकप्रिय लिनक्स वितरण है जिसका उपयोग कई उपयोगकर्ता करते हैं, व्यक्तिगत वातावरण से लेकर एंटरप्राइज़ सर्वर सिस्टम तक। उबंटू सिस्टम का प्रबंधन करते समय, उपयोगकर्ता खाता प्रशासन आवश्यक होता है। विशेष रूप से, पंजीकृत उपयोगकर्ताओं की सूची की समीक्षा करना सुरक्षा प्रबंधन और खाता संगठन में मदद करता है।

यह लेख बताता है कि उबंटू पर उपयोगकर्ताओं की सूची कैसे देखें। यह बुनियादी कमांड से लेकर विस्तृत जानकारी प्राप्त करने के तरीकों तक सब कुछ कवर करता है, जिससे यह शुरुआती और अनुभवी प्रशासकों दोनों के लिए उपयोगी बनता है।

2. उबंटू में उपयोगकर्ता सूची कैसे जांचें

उबंटू में, उपयोगकर्ता जानकारी को विशिष्ट फ़ाइलों और कमांडों के माध्यम से आसानी से प्राप्त किया जा सकता है। नीचे दिए गए तरीकों से आप उपयोगकर्ताओं की सूची देख सकते हैं।

2.1 /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. डिफ़ॉल्ट लॉगिन शेल

चूंकि इस फ़ाइल में सिस्टम उपयोगकर्ता भी शामिल होते हैं, आप नीचे दिए गए तरीकों से केवल सामान्य लॉगिन उपयोगकर्ताओं को निकाल सकते हैं।

2.2 केवल उपयोगकर्ता नामों की सूची बनाना

केवल उपयोगकर्ता नामों की सूची बनाने के लिए, निम्नलिखित कमांड का उपयोग करें:

cut -d: -f1 /etc/passwd

वैकल्पिक रूप से, आप awk कमांड का उपयोग कर सकते हैं:

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

उदाहरण आउटपुट:

root
user1
user2

2.3 किसी विशिष्ट उपयोगकर्ता की खोज करना

किसी विशिष्ट उपयोगकर्ता के मौजूद होने की जाँच करने के लिए, grep कमांड का उपयोग करें:

grep 'user1' /etc/passwd

यह कमांड केवल user1 से संबंधित प्रविष्टि को प्रदर्शित करता है।

2.4 /etc/group के माध्यम से समूहों की सूची बनाना

किसी उपयोगकर्ता के सदस्यता वाले समूहों को देखना है, तो /etc/group फ़ाइल देखें:

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

किसी विशिष्ट उपयोगकर्ता के समूहों की सूची बनाने के लिए, उपयोग करें:

groups user1

उदाहरण आउटपुट:

user1 : user1 sudo

यह दर्शाता है कि user1 sudo समूह का भी सदस्य है।

3. वर्तमान में लॉग‑इन किए गए उपयोगकर्ताओं की जाँच कैसे करें

उबंटू कई कमांड प्रदान करता है जिससे आप यह सत्यापित कर सकते हैं कि वर्तमान में कौन‑से उपयोगकर्ता लॉग‑इन हैं। ये कमांड सत्र और लॉग‑इन जानकारी प्राप्त करने में मदद करते हैं।

3.1 who का उपयोग करके लॉग‑इन उपयोगकर्ताओं की जाँच

who कमांड सभी वर्तमान में लॉग‑इन उपयोगकर्ताओं की सूची देता है।

कमांड उदाहरण

who

उदाहरण आउटपुट

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

फ़ील्ड व्याख्या

  1. उपयोगकर्ता नाम (लॉग‑इन किया हुआ उपयोगकर्ता)
  2. टर्मिनल नाम (उदा., स्थानीय के लिए tty1, SSH के लिए pts/0)
  3. लॉग‑इन समय

जब आप जल्दी से लॉग‑इन स्थिति देखना चाहते हैं, तो who कमांड सरल और उपयोगी है।

3.2 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

फ़ील्ड व्याख्या

  • सिस्टम अपटाइम
  • लॉग‑इन उपयोगकर्ताओं की संख्या
  • CPU लोड औसत
  • उपयोगकर्ता नाम
  • टर्मिनल
  • रिमोट होस्ट
  • लॉग‑इन समय
  • आइडल समय
  • CPU उपयोग
  • चल रही प्रक्रिया

FROM फ़ील्ड में IP पता रिमोट SSH लॉग‑इन की पुष्टि करने में मदद करता है, जिससे यह मॉनिटरिंग और सुरक्षा प्रबंधन के लिए उपयोगी बनता है।

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)
  • उपयोगकर्ता नाम
  • उपयोग किया गया टर्मिनल
  • रिमोट IP पता
  • लॉगिन शुरू होने का समय
  • लॉगआउट समय (या अभी भी लॉगिन)
  • कुल सत्र अवधि

यह कमांड प्रशासकों को पिछले एक्सेस की निगरानी करने और संदिग्ध लॉगिन का पता लगाने में मदद करता है।

4. विस्तृत उपयोगकर्ता जानकारी कैसे जांचें

Ubuntu कई कमांड प्रदान करता है जो पंजीकृत उपयोगकर्ताओं की विस्तृत जानकारी प्राप्त करने में मदद करते हैं। UID, समूह सदस्यता और लॉगिन शेल जैसी विवरणों की समीक्षा करने से प्रशासकों को अनुमतियों का सटीक प्रबंधन करने में मदद मिलती है। यह अनुभाग id, groups, 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 → उपयोगकर्ता पहचानकर्ता
  • gid → प्राथमिक समूह पहचानकर्ता
  • groups → सभी समूह जिनमें उपयोगकर्ता सदस्य है
वर्तमान उपयोगकर्ता जानकारी जांचें
id

4.2 groups के माध्यम से समूह सदस्यता जांचें

groups कमांड जल्दी से उन समूहों की सूची देता है जिनमें उपयोगकर्ता सदस्य है।

कमांड उदाहरण
groups user1
उदाहरण आउटपुट
user1 : user1 sudo docker

groups तब उपयोगी होता है जब आप केवल समूह नाम देखना चाहते हैं, बिना विस्तृत IDs के।

4.3 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 → अंतिम लॉगिन समय

4.4 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
  • अंतिम पासवर्ड परिवर्तन → पासवर्ड अंतिम बार कब बदला गया था की तारीख
  • पासवर्ड समाप्ति → पासवर्ड समाप्ति तारीख
  • पासवर्ड निष्क्रिय → पासवर्ड अमान्य होने से पहले की निष्क्रियता अवधि
  • खाता समाप्ति → खाता समाप्ति तारीख
  • पासवर्ड परिवर्तनों के बीच न्यूनतम दिनों की संख्या
  • पासवर्ड परिवर्तनों के बीच अधिकतम दिनों की संख्या
  • पासवर्ड समाप्ति से पहले चेतावनी दिनों की संख्या

प्रशासक इस जानकारी का उपयोग पासवर्ड नीतियों को लागू करने और सिस्टम सुरक्षा को बढ़ाने के लिए कर सकते हैं।

5. उबंटू में उपयोगकर्ताओं का प्रबंधन (जोड़ना, हटाना, संशोधित करना)

उचित उपयोगकर्ता प्रबंधन सिस्टम की स्थिरता और सुरक्षा को सुधारता है। उबंटू adduser, deluser, और usermod जैसे कई प्रशासनिक कमांड प्रदान करता है। यह खंड उपयोगकर्ताओं को जोड़ने, हटाने और संशोधित करने के तरीके को समझाता है।

5.1 उपयोगकर्ताओं को जोड़ना

उबंटू adduser या useradd कमांड का उपयोग करके नए उपयोगकर्ताओं को जोड़ने की अनुमति देता है।

5.1.1 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)
  • लॉगिन के लिए पासवर्ड
  • मूल खाता जानकारी

5.1.2 useradd कमांड (उन्नत)

useradd कमांड स्क्रिप्ट-अनुकूल है और अधिक बारीक नियंत्रण प्रदान करता है लेकिन स्वचालित रूप से सब कुछ सेटअप नहीं करता।

sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
  • -m → होम डायरेक्टरी बनाएं
  • -s /bin/bash → लॉगिन शेल सेट करें

इस कमांड का उपयोग करते समय पासवर्ड को अलग से सेट करना आवश्यक है।

5.2 उपयोगकर्ताओं को हटाना

आप deluser या userdel का उपयोग करके उपयोगकर्ताओं को हटा सकते हैं।

5.2.1 deluser कमांड (अनुशंसित)

deluser कमांड एक उपयोगकर्ता खाते को हटाता है।

sudo deluser newuser
होम डायरेक्टरी को भी हटाएं
sudo deluser --remove-home newuser

यह खाते और /home/newuser डायरेक्टरी को हटा देता है।

5.2.2 userdel कमांड (उन्नत)

userdel कमांड अधिक नियंत्रण प्रदान करता है।

sudo userdel newuser
sudo userdel -r newuser

5.3 मौजूदा उपयोगकर्ताओं को संशोधित करना

मौजूदा उपयोगकर्ता जानकारी को संशोधित करने के लिए usermod कमांड का उपयोग करें।

5.3.1 उपयोगकर्ता नाम बदलें

sudo usermod -l newname oldname

5.3.2 होम डायरेक्टरी बदलें

sudo usermod -d /new/home/path user1
sudo usermod -d /home/newuser -m user1

5.3.3 समूह सदस्यता संशोधित करें

sudo usermod -aG sudo user1
groups user1

5.3.4 पासवर्ड बदलें

sudo passwd user1
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully

6. उपयोगकर्ता प्रबंधन के लिए व्यावहारिक परिदृश्य

उबंटू में उपयोगकर्ता प्रबंधन खातों को सूचीबद्ध करने और संशोधित करने से आगे जाता है। वास्तविक परिदृश्यों में कमांड लागू करने का समझना एक सुरक्षित और कुशल वातावरण बनाए रखने के लिए आवश्यक है। यह खंड सामान्य उपयोग मामलों और उन्हें संबोधित करने के तरीकों को प्रस्तुत करता है।

6.1 विशिष्ट मानदंडों से मेल खाने वाले उपयोगकर्ताओं की खोज

6.1.1 प्रशासक विशेषाधिकारों (sudo) वाले उपयोगकर्ताओं को प्रदर्शित करें

sudo विशेषाधिकारों वाले उपयोगकर्ताओं को सूचीबद्ध करने के लिए, /etc/group फाइल की जांच करने के लिए getent कमांड का उपयोग करें:

getent group sudo

उदाहरण आउटपुट

sudo:x:27:user1,user2
  • sudo:x:27: → समूह जानकारी
  • user1,user2 → sudo समूह से संबंधित उपयोगकर्ता

6.1.2 लॉगिन-सक्षम उपयोगकर्ताओं को प्रदर्शित करें

The /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 जैसी है
  • /usr/sbin/nologin या /bin/false का उपयोग करने वाले सिस्टम खातों को बाहर रखा गया है

6.1.3 सिस्टम उपयोगकर्ताओं को दिखाएँ (गैर-लॉगिन खाते)

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

यह प्रशासकों को उन खातों की पहचान करने में मदद करता है जिन्हें गलती से हटाया नहीं जाना चाहिए।

6.2 अनावश्यक उपयोगकर्ताओं को समय-समय पर साफ़ करना

6.2.1 सभी उपयोगकर्ताओं का अंतिम लॉगिन समय दिखाएँ

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
  • कभी लॉग इन नहीं किया → उपयोगकर्ता ने कभी लॉग इन नहीं किया है
    sudo deluser user2 --remove-home
    

6.2.2 अंतिम पासवर्ड परिवर्तन की जाँच करें

sudo chage -l user1
sudo passwd --expire user1

अगली बार जब उपयोगकर्ता लॉग इन करेगा, तो सुरक्षा कारणों से पासवर्ड रीसेट आवश्यक होगा।

6.3 SSH के माध्यम से जुड़े उपयोगकर्ताओं की जाँच करें

who | grep pts

उदाहरण आउटपुट

user1    pts/0        192.168.1.10     11:30

यह रिमोट उपयोगकर्ताओं और उनके IP पते की पहचान करने में मदद करता है।

6.4 सभी उपयोगकर्ता जानकारी को CSV में निर्यात करें

getent passwd | awk -F: '{print $1 "," $3 "," $4 "," $6}' > users.csv

उदाहरण users.csv

root,0,0,/root
user1,1001,1001,/home/user1
user2,1002,1002,/home/user2
  • उपयोगकर्ता नाम, UID, GID और होम डायरेक्टरी निर्यात करता है
  • डेटा को Excel या स्प्रेडशीट्स का उपयोग करके विश्लेषित किया जा सकता है

7. अक्सर पूछे जाने वाले प्रश्न

7.1 क्या मैं /etc/passwd को सीधे संपादित कर सकता हूँ?

उत्तर: सीधे संपादन सिफारिश नहीं की जाती है। गलत परिवर्तन लॉगिन को रोक सकते हैं या सिस्टम को नुकसान पहुँचा सकते हैं।

सुरक्षित विधि:

sudo vipw

7.2 who और users कमांड के बीच अंतर

CommandDescription
whoDisplays detailed login information
usersDisplays only usernames of logged-in users

7.3 किसी विशिष्ट उपयोगकर्ता के लिए लॉगिन इतिहास कैसे देखें

last user1

7.4 उपयोगकर्ता का पासवर्ड कैसे बदलें

sudo passwd user1

7.5 उपयोगकर्ता को अस्थायी रूप से कैसे अक्षम करें

sudo usermod -L user1
sudo usermod -U user1

7.6 उपयोगकर्ता को sudo समूह में जोड़ें

sudo usermod -aG sudo user1

7.7 उपयोगकर्ता की होम डायरेक्टरी बदलें

sudo usermod -d /new/home/path -m user1

7.8 उपयोगकर्ता और उनके डेटा को पूरी तरह हटाएँ

sudo deluser --remove-home user1

या

sudo userdel -r user1

7.9 लॉग‑इन उपयोगकर्ताओं की विस्तृत गतिविधि की जाँच करें

w
  • लॉग‑इन उपयोगकर्ता
  • रिमोट IP पते
  • वर्तमान प्रक्रियाएँ
  • सिस्टम लोड

यह प्रशासकों को उपयोग की निगरानी करने और अनधिकृत पहुँच का पता लगाने में सक्षम बनाता है।

侍エンジニア塾