उपयोगकर्ताओं, समूहों और अनुमतियों का प्रबंधन Ubuntu Server प्रशासकों के लिए मूलभूत कार्यों में से एक है। चाहे आप बहु-उपयोगकर्ता वातावरण स्थापित कर रहे हों या अपने सर्वर को सुरक्षित कर रहे हों, उपयोगकर्ता खाते, समूह और अनुमतियाँ बनाना, संशोधित करना और प्रबंधित करना समझना आवश्यक है। यह मार्गदर्शिका वास्तविक उदाहरणों, कमांड आउटपुट और सर्वोत्तम अभ्यासों सहित उपयोगकर्ता और अनुमति प्रबंधन पर गहन जानकारी प्रदान करती है।
पिछला लेख:
01. Ubuntu Server का परिचय – SysOSX: AI & Cloud
02. अपना पहला Ubuntu Server कैसे सेटअप करें: शुरुआती मार्गदर्शिका – SysOSX: AI & Cloud
03. Ubuntu Server के लिए Linux कमांड लाइन में महारत हासिल करना
परिचय
Ubuntu Server एप्लिकेशन होस्ट करने, सेवाएँ प्रबंधित करने और बहु-उपयोगकर्ता वातावरण सक्षम करने के लिए एक शक्तिशाली प्लेटफ़ॉर्म है। उपयोगकर्ता और अनुमति प्रबंधन में महारत हासिल करके, आप अपने सर्वर को सुरक्षित कर सकते हैं, एक्सेस को प्रभावी ढंग से नियंत्रित कर सकते हैं और अनधिकृत कार्रवाइयों को रोक सकते हैं। यह मार्गदर्शिका बुनियादी उपयोगकर्ता खाता निर्माण से लेकर उन्नत अनुमति सेटिंग्स तक सब कुछ कवर करेगी, जिसमें विस्तृत उदाहरण शामिल हैं।
उपयोगकर्ता खाते बनाना और प्रबंधित करना
उपयोगकर्ता बनाना
adduser कमांड का उपयोग करके Ubuntu Server पर उपयोगकर्ता खाता बनाएं। यह कमांड इंटरैक्टिव है और आपसे उपयोगकर्ता के बारे में अतिरिक्त जानकारी मांगता है।
उदाहरण कमांड:
sudo adduser john
उदाहरण आउटपुट:
Adding user `john' ...
Adding new group `john' (1001) ...
Adding new user `john' (1001) with group `john' ...
Creating home directory `/home/john' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for john
Enter the new value, or press ENTER for the default
Full Name []: John Doe
Room Number []: 101
Work Phone []: 555-1234
Home Phone []: 555-5678
Other []:
Is the information correct? [Y/n] Y
john नामक उपयोगकर्ता बनाता है, जिसकी होम निर्देशिका /home/john पर होती है और उसे एक अद्वितीय उपयोगकर्ता ID (UID) असाइन करता है।
उपयोगकर्ता संशोधित करना
usermod कमांड आपको उपयोगकर्ता खातों को संशोधित करने की अनुमति देता है। उदाहरण के लिए, आप किसी उपयोगकर्ता की होम निर्देशिका, शेल या समूह सदस्यता बदल सकते हैं।
होम निर्देशिका बदलें:
sudo usermod -d /home/new_john john
sudo mv /home/john /home/new_john
उपयोगकर्ता खाता लॉक या अनलॉक करें:
- खाता लॉक करें:
sudo passwd -l john - खाता अनलॉक करें:
sudo passwd -u john
उदाहरण आउटपुट (खाता लॉक करना):
passwd: password expiry information changed.
उपयोगकर्ता हटाना
deluser कमांड का उपयोग करके उपयोगकर्ता हटाएं। आप उनकी होम निर्देशिका और संबद्ध फ़ाइलें भी हटा सकते हैं।
उदाहरण कमांड:
sudo deluser --remove-home john
उदाहरण आउटपुट:
Looking for files to backup/remove ...
Removing files ...
Removing user `john' ...
Warning: group `john' has no more members.
Done.
समूह प्रबंधित करना
समूह उपयोगकर्ताओं को व्यवस्थित करने और सामूहिक अनुमतियाँ असाइन करने का एक तरीका हैं। प्रत्येक उपयोगकर्ता कई समूहों का सदस्य हो सकता है।
समूह बनाना और प्रबंधित करना
नया समूह बनाने के लिए, addgroup कमांड का उपयोग करें।
उदाहरण कमांड:
sudo addgroup developers
उदाहरण आउटपुट:
Adding group `developers' (GID 1002) ...
Done.
समूह हटाने के लिए:
sudo delgroup developers
समूहों में उपयोगकर्ता जोड़ना
usermod कमांड के साथ -aG विकल्प का उपयोग करके उपयोगकर्ता को समूह में जोड़ें।
उदाहरण कमांड:
sudo usermod -aG developers john
समूह सदस्यता सत्यापित करें:
groups john
उदाहरण आउटपुट:
john : john developers
john निम्नलिखित समूहों से संबंधित है: john और developers.
फ़ाइल और निर्देशिका अनुमतियों को समझना
Linux फ़ाइल अनुमतियाँ फ़ाइलों और निर्देशिकाओं तक एक्सेस नियंत्रित करने के लिए महत्वपूर्ण हैं। अनुमतियाँ तीन श्रेणियों के लिए परिभाषित की जाती हैं: स्वामी, समूह, और अन्य.
अनुमति प्रकार
प्रत्येक श्रेणी में तीन अनुमति प्रकार होते हैं:
- पढ़ना (r): फ़ाइल सामग्री देखने या निर्देशिका सामग्री सूचीबद्ध करने की अनुमति देता है।
- लिखना (w): फ़ाइल सामग्री संशोधित करने या निर्देशिका में फ़ाइलें बनाने/हटाने की अनुमति देता है।
- निष्पादित करना (x): निष्पादन योग्य फ़ाइलें चलाने या निर्देशिकाओं तक पहुँचने की अनुमति देता है।
उदाहरण:
ls -l का उपयोग करके फ़ाइल अनुमतियाँ देखें:
ls -l /home/john
उदाहरण आउटपुट:
-rw-r--r-- 1 john john 4096 Mar 21 14:00 file.txt
rw-: स्वामी (john) के पास पढ़ने और लिखने की अनुमतियाँ हैं।r--: समूह (john) के पास केवल पढ़ने की अनुमतियाँ हैं।r--: अन्य के पास केवल पढ़ने की अनुमतियाँ हैं।
अनुमतियाँ बदलना
chmod कमांड का उपयोग करके अनुमतियाँ संशोधित करें।
उदाहरण कमांड:
- स्वामी को निष्पादन अनुमति प्रदान करें:
chmod u+x file.txt - अन्य के लिए लिखने की अनुमति हटाएं: chmod o-w file.txt
संख्यात्मक मानों का उपयोग करना:
अनुमतियाँ संख्यात्मक मानों का उपयोग करके भी सेट की जा सकती हैं:
chmod 755 file.txt: स्वामी के लिए पूर्ण अनुमतियाँ, समूह और अन्य के लिए पढ़ना/निष्पादित करना।
संख्यात्मक अनुमतियों को समझना (755, 777, 744)
Linux अनुमतियों को संख्यात्मक रूप से दर्शाया जा सकता है, जहाँ प्रत्येक अंक एक विशिष्ट अनुमति स्तर से मेल खाता है:
संख्यात्मक अनुमतियों की संरचना:
प्रत्येक संख्यात्मक अनुमति में तीन अंक होते हैं:
- पहला अंक: स्वामी के लिए अनुमतियाँ।
- दूसरा अंक: समूह के लिए अनुमतियाँ।
- तीसरा अंक: अन्य के लिए अनुमतियाँ।
प्रत्येक अंक की गणना निम्नलिखित मानों के आधार पर की जाती है:
4: पढ़ना (r)2: लिखना (w)1: निष्पादित करना (x)
इन मानों का योग प्रत्येक श्रेणी के लिए अनुमति स्तर निर्धारित करता है।
सामान्य संख्यात्मक अनुमतियाँ:
- 777: सभी के लिए पूर्ण अनुमतियाँ (पढ़ना, लिखना, निष्पादित करना)।
- स्वामी:
rwx - समूह:
rwx - अन्य:
rwx - उपयोग का मामला: सुरक्षा कारणों से शायद ही कभी उपयोग किया जाता है, लेकिन इसे निम्नलिखित जैसी अस्थायी निर्देशिकाओं पर लागू किया जा सकता है:
/tmp.
- स्वामी:
- 755: स्वामी के लिए पूर्ण अनुमतियाँ, समूह और अन्य के लिए पढ़ने और निष्पादित करने की अनुमतियाँ।
- स्वामी:
rwx - समूह:
r-x - अन्य:
r-x - उपयोग का मामला: निष्पादन योग्य फ़ाइलों या निर्देशिकाओं के लिए सामान्य।
- स्वामी:
- 744: स्वामी के लिए पूर्ण अनुमतियाँ, समूह और अन्य के लिए केवल पढ़ना।
- स्वामी:
rwx - समूह:
r-- - अन्य:
r-- - उपयोग का मामला: निजी फ़ाइलों के लिए सामान्य।
- स्वामी:
उदाहरण:
स्क्रिप्ट के लिए अनुमतियों को 755 पर सेट करने के लिए:
chmod 755 script.sh
उदाहरण आउटपुट:
-rwxr-xr-x 1 john john 4096 Mar 21 14:00 script.sh
स्वामित्व प्रबंधन
स्वामित्व बदलने के लिए chown कमांड का उपयोग करें।
उदाहरण कमांड:
sudo chown john:developers file.txt
इससे स्वामी john और समूह developers.
उदाहरण आउटपुट:
-rw-r--r-- 1 john developers 4096 Mar 21 14:00 file.txt
विशेषाधिकार वृद्धि के लिए Sudo का उपयोग करना
sudo कमांड उपयोगकर्ताओं को उन्नत विशेषाधिकारों के साथ कमांड निष्पादित करने की अनुमति देता है। किसी उपयोगकर्ता को sudo एक्सेस प्रदान करने के लिए, उन्हें sudo समूह में जोड़ें।
उदाहरण कमांड:
sudo usermod -aG sudo john
Sudo एक्सेस सत्यापित करें:
sudo -l -U john
उदाहरण आउटपुट:
User john may run the following commands on this host:
(ALL : ALL) ALL
उपयोगकर्ता खातों को सुरक्षित करने के लिए सर्वोत्तम अभ्यास
- मजबूत पासवर्ड नीतियाँ लागू करें:
passwdका उपयोग करके पासवर्ड समाप्ति सेट करें:sudo passwd -e john - Sudo एक्सेस सीमित करें:
sudoविशेषाधिकार केवल विश्वसनीय उपयोगकर्ताओं को प्रदान करें। - रूट लॉगिन अक्षम करें:
SSH कॉन्फ़िगरेशन फ़ाइल संपादित करें:
sudo nano /etc/ssh/sshd_config
सेट करें:
PermitRootLogin no
- प्रमाणीकरण के लिए SSH कुंजियों का उपयोग करें:
पासवर्ड-आधारित लॉगिन को SSH कुंजियों से बदलें। - उपयोगकर्ता गतिविधि की निगरानी करें:
lastयाwhoका उपयोग करके लॉगिन गतिविधि ट्रैक करें:
last
आउटपुट स्पष्टीकरण
uadmin pts/1 192.168.255.48 Fri Mar 21 13:55 still logged in
uadmin pts/0 192.168.255.48 Fri Mar 21 13:54 still logged in
uadmin pts/1 192.168.255.48 Fri Mar 21 01:49 - 08:19 (06:29)
uadmin pts/0 192.168.255.48 Fri Mar 21 00:53 - 08:19 (07:26)
reboot system boot 6.8.0-1021-azure Fri Mar 21 00:22 still running
पंक्ति-दर-पंक्ति विश्लेषण
उपयोगकर्ता लॉगिन: uadmin pts/1 192.168.255.48 Fri Mar 21 13:55 still logged in
uadmin: लॉगिन करने वाले उपयोगकर्ता का उपयोगकर्ता नाम।pts/1: लॉगिन के लिए उपयोग किया गया छद्म-टर्मिनल सत्र। छद्म-टर्मिनल (pts) वर्चुअल टर्मिनल होते हैं, जो आमतौर पर तब बनाए जाते हैं जब उपयोगकर्ता SSH के माध्यम से लॉगिन करते हैं।192.168.255.48: उस दूरस्थ मशीन का IP पता जिससे उपयोगकर्ता जुड़ा।Fri Mar 21 13:55: वह तिथि और समय जब उपयोगकर्ता ने लॉगिन किया।still logged in: दर्शाता है कि उपयोगकर्ता वर्तमान में लॉगिन है और सक्रिय है।
| स्तंभ | अर्थ |
|---|---|
| उपयोगकर्ता नाम | उपयोगकर्ता या घटना का नाम (uadmin, reboot). |
| टर्मिनल | छद्म-टर्मिनल सत्र (pts/X) या सिस्टम घटना (system boot). |
| दूरस्थ होस्ट/IP | कनेक्शन शुरू करने वाली दूरस्थ मशीन का IP पता या होस्टनाम। |
| लॉगिन तिथि/समय | वह तिथि और समय जब लॉगिन या घटना शुरू हुई। |
| लॉगआउट समय | वह तिथि और समय जब सत्र समाप्त हुआ (यदि लागू हो)। |
| अवधि | सत्र की कुल अवधि (यदि लागू हो)। |
| सत्र स्थिति | सत्र की वर्तमान स्थिति (still logged in, still running). |
अंतर्दृष्टि के लिए अतिरिक्त कमांड
- वर्तमान में लॉगिन उपयोगकर्ता दिखाएं:
who - उदाहरण आउटपुट:
uadmin pts/1 2023-03-21 13:55 (192.168.255.48)
uadmin pts/0 2023-03-21 13:54 (192.168.255.48)
- सिस्टम अपटाइम जांचें:
uptime - उदाहरण आउटपुट:
14:15:32 up 13:53, 2 users, load average: 0.10, 0.12, 0.15
निष्कर्ष
उपयोगकर्ताओं, समूहों और अनुमतियों का प्रबंधन Ubuntu Server प्रशासकों के लिए एक मूलभूत कौशल है। इन कार्यों में महारत हासिल करके, आप अपने सर्वर को सुरक्षित कर सकते हैं, अनधिकृत एक्सेस को रोक सकते हैं और परिचालन दक्षता में सुधार कर सकते हैं।
अगला ट्यूटोरियल: Ubuntu Server के लिए नेटवर्किंग मूल बातें
अगले ट्यूटोरियल में, हम Ubuntu Server के लिए नेटवर्किंग मूल बातें को कवर करेंगे, जिसमें नेटवर्क इंटरफेस कॉन्फ़िगर करना, स्थिर IP सेट करना, नेटवर्क कनेक्टिविटी समस्या-निवारण, और नेटवर्किंग कार्यों के लिए Ubuntu के netplan का उपयोग करना शामिल है। अपने सर्वर के नेटवर्क कॉन्फ़िगरेशन को अनुकूलित करने के लिए कार्रवाई योग्य अंतर्दृष्टि हेतु बने रहें।
7 thoughts on “04. Managing Users and Permissions on Ubuntu Server: A Comprehensive Guide”