sudo कमान्ड पूर्ण मार्गदर्शिका | प्रयोगदेखि त्रुटि समाधानसम्म

目次

1. परिचय: sudo भनेको के हो?

sudo को आधारभूत अर्थ र भूमिका

Linux वा Unix प्रणालीहरूमा,“sudo”एक अत्यन्त महत्वपूर्ण कमान्डहरू मध्ये एक हो। “sudo” “superuser do” को संक्षिप्त रूप हो,प्रशासक अधिकार (root अधिकार) लाई अस्थायी रूपमा उधारो लिएर कमान्डहरू कार्यान्वयन गर्नका लागि उपकरणहो। सामान्यतया, सामान्य प्रयोगकर्ताहरूलाई प्रणालीमा समग्र प्रभाव पार्ने सञ्चालनहरू (उदाहरणका लागि प्याकेजहरूको स्थापना वा प्रणाली सेटिङ्गहरूको परिवर्तन) गर्नका लागि अधिकार हुँदैन। तर,sudoकमान्ड प्रयोग गरेर, यस्ता विशेषाधिकारयुक्त सञ्चालनहरूलाई सीमित रूपमा कार्यान्वयन गर्न सकिन्छ। उदाहरणका लागि, निम्नानुसार कमान्ड कार्यान्वयन गरेर, root अधिकारले apt कमान्ड कार्यान्वयन गर्न सकिन्छ।
sudo apt update
यसरी, sudo ले“सुरक्षित रूपमा प्रशासक अधिकार उपयोग गर्ने संयन्त्र”को रूपमा, प्रणालीको सुरक्षा र सुविधालाई सन्तुलित रूपमा पूरा गर्ने भूमिका खेल्छ।

su कमान्डसँगको भिन्नता

suoसँग मिल्दोजुल्दो उपयोगको कमान्डमाsuछ, तर यी दुईमा स्पष्ट भिन्नता छ।
  • su “substitute user” को संक्षिप्त रूप हो, अर्को प्रयोगकर्ता (मुख्य रूपमा root) मा स्विच गर्ने का लागि कमान्ड हो। su प्रयोग गर्दा, निर्दिष्ट प्रयोगकर्तामा पूर्ण रूपमा “बन्ने” रूपमा सञ्चालन गरिन्छ।
  • अर्कोतर्फ sudo ले, वर्तमान प्रयोगकर्ताको अवस्थामा नै अस्थायी रूपमा प्रशासक अधिकार उधारो लिएर कमान्ड कार्यान्वयन गर्छ
अर्थात्,suले सेशन इकाइमा स्विच गर्ने तरिका,sudoले कमान्ड इकाइमा अधिकार उन्नत गर्ने तरिका हो। यो भिन्नता सुरक्षा पक्षमा पनि ठूलो छ,sudoले सञ्चालन इतिहासको व्यवस्थापन सजिलो हुन्छ, र हालका वितरणहरूमाsudoलाई मानक विधि मानिन्छ।

sudo प्रयोग हुने प्रमुख Linux वितरणहरू

धेरै Linux वितरणहरूमाsudoडिफल्ट रूपमा प्रयोग गरिन्छ, विशेष गरी निम्न जस्ता वितरणहरूमा यसको प्रयोग पूर्वानुमान गरिन्छ।
  • Ubuntu श्रेणी (Ubuntu, Linux Mint आदि) → प्रारम्भिक अवस्थामा root खातामा प्रत्यक्ष लगइन नगरी, sudo बाट व्यवस्थापन गरिन्छ।
  • Debian श्रेणी → sudo पछि सक्रिय गरिन्छ तर, सुरक्षा नीतिको रूपमा सिफारिस गरिन्छ।
  • Fedora वा CentOS, Red Hat श्रेणी → root खाताको उपयोग सम्भव छ तर, sudo को उपयोग पनि सामान्य छ।
विशेष गरी Ubuntu मा,root खाता प्रारम्भिक अवस्थामा निष्क्रियगरिएको छ, र सबै व्यवस्थापन सञ्चालनहरू sudo मार्फत गर्ने डिजाइन भएकोले, sudo को समझ Ubuntu प्रयोगकर्ताका लागि आवश्यक छ।

किन “sudo sudo” खोजिन्छ?

“sudo sudo” जस्तो खोज शब्द एक नजरमा अनावश्यक लाग्न सक्छ तर, वास्तवमा निम्न जस्ता उद्देश्यले खोजिन्छ:
  • sudo को अर्थ वा उपयोग जान्न चाहने नयाँ प्रयोगकर्ताले, जोड दिनका लागि दोहोर्याएर इनपुट गरेको
  • sudo प्रयोग गरेर समस्या (उदाहरण: sudo: sudo: command not found) मा परेर खोजेको
  • स्क्रिप्ट वा पाइपलाइन भित्र, दोहोर्याएर sudo प्रयोग गरेको उदाहरण देखेर शंका गरेको
यस्ता खोज उद्देश्यहरूलाई बुझेर, अर्को अध्यायहरूमाsudoको सही उपयोग, सेटिङ्ग विधि, समस्या समाधान आदि विस्तृत रूपमा व्याख्या गरिनेछ।
侍エンジニア塾

2. sudo कमान्डको आधारभूत प्रयोग

sudo को आधारभूत संरचना

sudoको आधारभूत ढाँचा धेरै सरल छ।
sudo [विकल्पहरू] कमान्ड
उदाहरणका लागि, प्रणालीको प्याकेज जानकारी अद्यावधिक गर्न चाहनुहुन्छ भने निम्नानुसार गर्नुहोस्:
sudo apt update
यो कमान्डले “apt update” लाईरुट अधिकारले निष्पादन गर्नेभन्ने अर्थ हुन्छ।

पासवर्ड प्रमाणीकरणको संयन्त्र र क्यास

पहिलो पटकsudoप्रयोग गर्दा, वा निश्चित समय बितेपछि, प्रणालीबाटप्रयोगकर्ताको पासवर्ड 입력मागिन्छ। यो सुरक्षा बढाउनका लागि संयन्त्र हो, जसले गल्ती सञ्चालन वा तेस्रो पक्षबाट अनधिकृत प्रयोग रोक्नका लागि हो। पासवर्ड 입력 गरेपछि, निश्चित समय (Ubuntu मा डिफल्ट ५ मिनेट) सम्म क्यास गरिन्छ, र फेरिsudoप्रयोग गर्दा पासवर्ड 입력 छोड्न सकिन्छ। यो समयsudoersफाइलमा परिवर्तन गर्न सकिन्छ।

सामान्यतया प्रयोग हुने विकल्पहरू

sudoमा सञ्चालनलाई सुविधाजनक बनाउन वा थप लचिलो बनाउनका लागि धेरै विकल्पहरू उपलब्ध छन्। तल सामान्यतया प्रयोग हुने प्रमुखहरू छन्।

-u (अर्को प्रयोगकर्ताको रूपमा निष्पादन)

डिफल्टमा रुट अधिकार हुन्छ, तर-uविकल्प प्रयोग गरेरकुनै पनि प्रयोगकर्ताको रूपमा कमान्ड निष्पादनगर्न सकिन्छ।
sudo -u www-data whoami
निष्पादन परिणामwww-dataहुन्छ, “आफू होइन, www-data को रूपमा कमान्ड निष्पादन गरियो” भन्ने पुष्टि गर्न सकिन्छ।

-s (शेल सुरु गर्नुहोस्)

निम्न कमान्डलेरुट अधिकारको शेललाई अस्थायी रूपमा खोल्नसकिन्छ।
sudo -s
तर, रुट अवस्थामा सञ्चालन सावधानीपूर्वक गर्न आवश्यक छ।

-i (पूर्ण रूपमा रुट प्रयोगकर्ताको रूपमा लगइन)

यो रुट वातावरणलाई पूर्ण रूपमा पुन: निर्माण गर्दछ। वातावरण चरहरू पनि रुटका हुन्छन्, त्यसैले योलगइन तुरुन्तै जस्तै अवस्थाको रुट सत्रहुन्छ।
sudo -i

-l (निष्पादन योग्य कमान्डहरू जाँच्नुहोस्)

आफूलेsudoप्रयोग गरेर निष्पादन गर्न सकिने कमान्डहरू जाँच्न सकिन्छ।
sudo -l
यो सुरक्षा प्रतिबन्ध जाँच वा अधिकार सेटिङ परीक्षणमा उपयोगी हुन्छ।

नवागन्तुकहरूले ध्यान दिनुपर्ने बुँदाहरू

  • sudo पछि स्पेस राख्न आवश्यक छ। उदाहरण: sudoapt गलत छ।
  • एकभन्दा बढी कमान्ड निष्पादन गर्न चाहनुहुन्छ भने, कमान्ड सम्पूर्णलाई कोट ( " वा ' ) ले घेर्नुहोस् वा सेमिकोलनले अलग गर्नुहोस्।
  • sudo लगाएर GUI एप्लिकेसन निष्पादन गर्दा सेटिङ फाइलहरू क्षतिग्रस्त हुने सम्भावना हुन्छ, त्यसैले सावधान रहनुहोस् (उदाहरण: sudo gedit आदि)।

3. sudoers फाइल र पहुँच नियन्त्रण

sudoers फाइल भनेको के हो?

sudoकमाण्डको कार्यलाई नियन्त्रण गर्ने सेटिङ फाइल, प्रणाली भित्रको/etc/sudoersहो। यो फाइलमा,कसले कस्तो कमाण्ड sudo ले चलाउन सक्छभनेर परिभाषित गरिएको छ। उदाहरणका लागि, कुनै प्रयोगकर्तालाई विशिष्ट कमाण्डहरू मात्र sudo ले चलाउन सकिने बनाउने जस्ता विस्तृत पहुँच नियन्त्रण पनि सम्भव छ। यो लचकताले,प्रयोगकर्तालाई न्यूनतम अधिकार मात्र प्रदान गर्नेभन्ने सुरक्षा सिद्धान्त (न्यूनतम अधिकारको सिद्धान्त) लाई कार्यान्वयन गर्न सकिन्छ।

visudo कमाण्डद्वारा सुरक्षित सम्पादन

/etc/sudoersलाई,प्रत्यक्ष टेक्स्ट सम्पादकले सम्पादन गर्नुहुँदैन।किनकि, वाक्यविन्यास त्रुटि भए sudo आफैं प्रयोग गर्न नसकिने र पुनर्स्थापना कठिन हुने भएकाले हो। त्यसैले,visudo कमाण्ड प्रयोग गरेर सम्पादन गर्ने सिफारिस गरिन्छ।
sudo visudo
visudoले बचत गर्दा वाक्यविन्यास जाँच गर्छ, त्यसैले सुरक्षित रूपमा सम्पादन गर्न सकिन्छ।

आधारभूत वाक्यविन्यास र सेटिङ उदाहरण

sudoersफाइलको आधारभूत वाक्यविन्यास यस प्रकार छ:
प्रयोगकर्ता नाम होस्ट नाम = (चलाउने प्रयोगकर्ता) चलाउन सकिने कमाण्ड
उदाहरण:
alice ALL=(ALL:ALL) ALL
यो, प्रयोगकर्ता “alice” ले सबै होस्टहरूमा, सबै प्रयोगकर्ता बनेर, सबै कमाण्डहरू चलाउन सक्ने सेटिङ हो। थप प्रतिबन्ध लगाउने अवस्थामा:
bob ALL=(ALL) /usr/bin/systemctl restart nginx
यो सेटिङले, प्रयोगकर्ता “bob” लाई “nginx को पुनरारम्भ कमाण्ड” मात्र sudo ले चलाउन सकिने बनाउँछ।

समूह स्तरमा नियन्त्रण: sudo समूह

Ubuntu जस्ता धेरैजसो वितरणहरूमा,sudoसमूहमा आबद्ध प्रयोगकर्ताहरूलाई sudo प्रयोगको अधिकार दिइएको हुन्छ।
%sudo   ALL=(ALL:ALL) ALL
यसरी,%sudoलेखेर समूह स्तरमा व्यवस्थापन सम्भव हुन्छ। प्रयोगकर्तालाई sudo समूहमा थप्नका लागि, निम्न कमाण्ड प्रयोग गर्नुहोस्:
sudo usermod -aG sudo प्रयोगकर्ता नाम

NOPASSWD विकल्पको प्रयोग र सावधानी

sudoचलाउँदा हरेक पटक पासवर्ड हाल्न झन्झटिलो लागेमा,NOPASSWDविकल्प प्रयोग गरेर पासवर्ड हाल्नु बन्द गर्न सकिन्छ।
alice ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
यो सेटिङमा, प्रयोगकर्ता “alice” ले पासवर्ड बिना “nginx को पुनरारम्भ” गर्न सक्छ। तर,सुरक्षा जोखिम बढ्ने भएकाले, न्यूनतम कमाण्डहरूमा सीमित गरेर प्रयोग गर्नु महत्वपूर्णछ। विशेष गरी,ALLसँगको संयोजन सिफारिस गरिँदैन।

4. sudo को उन्नत प्रयोग

विशिष्ट प्रयोगकर्ताको रूपमा कमान्ड चलाउने

सामान्यतया,sudoले root अधिकारसँग कमान्डहरू चलाउँछ, तर विकल्पहरू प्रयोग गरेरकुनै पनि प्रयोगकर्ताको रूपमा कमान्ड चलाउनेपनि सम्भव छ। उदाहरणका लागि, वेब सर्वरले प्रयोग गर्ने “www-data” प्रयोगकर्ताको रूपमा कमान्ड चलाउन चाहनुहुन्छ भने, निम्नानुसार गर्नुहोस्।
sudo -u www-data whoami
चलाउने परिणामwww-dataहुन्छ, “आफू होइन, www-data को रूपमा कमान्ड चलाएको” कुरा पुष्टि गर्न सकिन्छ। यस्तो प्रयोग,प्रयोगकर्ताहरूको लागि फरक वातावरण वा अधिकारहरू जाँच्न चाहनुहुन्छ जब उपयोगीहुन्छ।

रिडाइरेक्ट वा पाइपसँगको संयोजन

नवागन्तुकहरूले प्रायः भ्रमित हुने कुराsudoर रिडाइरेक्ट (>) वा पाइप (|) को संयोजन हो। उदाहरणका लागि, निम्न जस्तो कमान्ड एक दृष्टिमा सही जस्तो देखिन्छ तर,अपेक्षित रूपमा काम गर्दैन
sudo echo "test" > /etc/test.conf
यो अवस्थामा,echoआफैं sudo ले चलिन्छ तर,>द्वारा रिडाइरेक्टसामान्य प्रयोगकर्ता अधिकारले चलिन्छ। यस कारणले, लेखन असफल हुन्छ। सही विधिteeकमान्ड प्रयोग गर्नु हो:
echo "test" | sudo tee /etc/test.conf
यसरी गर्दा, रिडाइरेक्ट भाग पनि sudo अधिकारले चलिन्छ र त्रुटि टार्न सकिन्छ।

स्क्रिप्ट भित्र sudo को उपयोग

शेल स्क्रिप्ट भित्र प्रशासक अधिकार आवश्यक कमान्डहरू समावेश छन् भने, कमान्ड अघि स्पष्ट रूपमाsudoथप्नुहोस्। यद्यपि, स्क्रिप्टलाई सामान्य प्रयोगकर्ताले चलाउने पूर्वधारणमा बनाउँदा,आवश्यक स्थानहरूमा मात्र sudo थप्नुहोस्, सम्पूर्णलाई sudo ले चलाउने टार्नु सुरक्षित हुन्छ। उदाहरण (install.sh):
#!/bin/bash


echo "Installing package..."
sudo apt install -y nginx
यसबाहेक, स्क्रिप्टको सुरुमा root हो कि जाँच्ने ढाँचा पनि छ:
if [ "$EUID" -ne 0 ]; then
  echo "यो स्क्रिप्टलाई root को रूपमा चलाउन आवश्यक छ"
  exit 1
fi
यस्तो नियन्त्रण राखेर, सुरक्षित स्क्रिप्ट सञ्चालन सम्भव हुन्छ।

प्रायः प्रयोग हुने उपयोगी कमान्डहरू

  • sudo !! → अघिल्लो कमान्डलाई sudo सहित पुन: चलाउँछ। उदाहरणका लागि:
  apt update
  sudo !!
योsudo apt updateसँगै समान प्रभाव हुन्छ।
  • sudo -k → sudo को पासवर्ड क्यास म्यानुअल रूपमा सफा गर्छ। सुरक्षाका लागि, अस्थायी रूपमा छोड्नुअघि आदि प्रभावी हुन्छ।
  • sudo -v → हालको सेशनमा sudo अधिकार लम्ब्याउँछ। लामो समयको काममा उपयोगी हुन्छ।

5. सुरक्षा र उत्कृष्ट अभ्यासहरू

न्यूनतम अधिकारको सिद्धान्त पालन गर्नुहोस्

sudoप्रयोग गर्ने मुख्य उद्देश्य भनेकोआवश्यक न्यूनतम अधिकारले प्रणाली सञ्चालन गर्न सक्नुहो। अर्थात्, “केही पनि गर्न सक्ने root प्रयोगकर्ता सधैं बन्नु” होइन, “आवश्यक समयमा मात्र आवश्यक दायरामा root को शक्ति उधारो लिनु” भन्ने प्रयोग आदर्श हो। यो सिद्धान्त अनुसार, उदाहरणका लागि निम्न जस्ता सेटिङ्गहरू वांछनीय छन्।
  • प्रयोगकर्तालाई विशिष्ट कमान्ड मात्र sudo मा अनुमति दिनु (उदाहरण: systemctl restart nginx)
  • NOPASSWD को प्रयोगलाई न्यूनतममा सीमित राख्नु
  • प्रशासनिक अधिकार भएका प्रयोगकर्ताहरूलाई समूह (उदाहरण: sudo) मा व्यवस्थापन गर्नु

लग रेकर्डिङ र अडिट

sudoलेकार्यान्वयन गरिएका कमान्डहरूलाई लगको रूपमा रेकर्ड गर्दछ। यसबाट, कसले कुन कमान्ड कहिले प्रयोग गर्‍यो भनेर पछि जाँच गर्न सकिन्छ। मुख्य लग रेकर्डिङ स्थानहरू निम्नानुसार छन् (डिस्ट्रीब्युसन अनुसार फरक पर्छन्):
  • /var/log/auth.log (Ubuntu, Debian प्रणाली)
  • journalctl (systemd सहितको डिस्ट्रीब्युसन)
उदाहरणका लागि, Ubuntu माsudoप्रयोग इतिहास जाँच गर्न:
grep 'sudo' /var/log/auth.log
वा:
journalctl _COMM=sudo
यसबाट, यदि कुनै अनधिकृत सञ्चालन वा गल्ती सञ्चालन भए पनि,कसले के गर्‍यो भनेर ट्र्याक गर्न सकिन्छ। सर्भर व्यवस्थापनमा आवश्यक दृष्टिकोण हो।

वास्तविक sudo को कमजोरी (CVE-2021-3156)

sudoनिकै विश्वसनीय उपकरण हो तर, विगतमा गम्भीर कमजोरीहरू रिपोर्ट भएका छन्। विशेष गरी प्रसिद्ध उदाहरण २०२१ मा प्रकाशितCVE-2021-3156 (जसलाई Baron Samedit भनिन्छ)हो। यो, विशिष्ट वातावरणमा दुष्ट इनपुट गरेर,सामान्य प्रयोगकर्ताले root अधिकार हत्याउन सक्नेगम्भीर कमजोरी थियो। यो समस्या पहिले नै ठीक गरिएको छ तर, यस्ता उदाहरणहरूबाट बुझ्न सकिन्छ कि,
  • sudo सहित महत्वपूर्ण प्याकेजहरूलाई सधैं नवीनतम संस्करणमा राख्नु
  • आधिकारिक साइट वा कमजोरी डाटाबेसहरूलाई नियमित रूपमा जाँच गर्नु
यस्ता प्रतिक्रियाहरू आवश्यक छन्।

sudo को विकल्प: doas को परिचय

केही न्यूनतम Linux वातावरण वा सुरक्षा-केन्द्रित प्रयोगकर्ताहरू बीचमा,sudoको विकल्पको रूपमाdoasनामक कमान्ड पनि प्रयोग गरिन्छ।doasOpenBSD बाट आएको संक्षिप्त अधिकार उन्नयन उपकरण हो,sudoभन्दासेटिङ सरल र सुरक्षितहुने विशेषता छ। उदाहरण:
doas apt update
सेटिङ फाइल/etc/doas.confमा लेखिन्छ। संरचना पनि सरल छ,
permit nopass :wheel
जस्तै, wheel समूहका प्रयोगकर्ताहरूलाई पासवर्ड बिनाdoasअनुमति दिने सेटिङ पनि सजिलै लेख्न सकिन्छ। तर, Linux वातावरण अनुसारdoasमानक रूपमा उपलब्ध नहुन सक्छ, त्यसैले स्थापना वा सेटिङमा अलि मेहनत लाग्छ। उद्देश्य वा प्रयोजन अनुसार,sudodoasमध्ये कुन उपयुक्त छ भनेर छान्नु राम्रो हुन्छ।

6. सामान्य त्रुटिहरू र समस्या निवारण

「प्रयोगकर्ता sudoers फाइलमा समावेश छैन」 त्रुटि

प्रयोगकर्ता नाम sudoers फाइलमा छैन। यो घटना रिपोर्ट गरिनेछ।
यो त्रुटि तब देखिन्छ जबवर्तमान प्रयोगकर्तासँग sudo प्रयोग गर्ने अनुमति छैन। सामान्यतया,sudoसमूहमा थपिएको नयाँ प्रयोगकर्ताले कमान्ड चलाउँदा यो हुन्छ।समाधान विधि:
  1. रुट अनुमतिसँग भएको अर्को प्रयोगकर्ताबाट लगइन गर्नुहोस्
  2. लक्षित प्रयोगकर्तालाई sudo समूहमा थप्नुहोस्
sudo usermod -aG sudo प्रयोगकर्ता नाम
त्यसपछि, सत्रलाई पुन: लगइन गर्दा sudo प्रयोग गर्न सकिन्छ।

रिडाइरेक्ट वा पाइप प्रयोग गर्दा «अनुमति छैन» त्रुटि

Permission denied
यो त्रुटि तब हुन्छ जबsudoले कमान्ड चलाउने सोचमा,रिडाइरेक्ट गन्तव्य वा पाइप प्रक्रिया sudo बाहिर हुँदैछगलत उदाहरण:
sudo echo "test" > /etc/test.conf
यो अवस्थामा,echosudo बाट चल्छ तर फाइलमा लेखन सामान्य प्रयोगकर्ताको अनुमतिले हुन्छ, जसले त्रुटि दिन्छ।सही तरिका:
echo "test" | sudo tee /etc/test.conf
वा बहु लाइनहरूलाई एकैचोटि लेख्नsudo teeवाsudo bash -cप्रयोग गर्नु राम्रो हुन्छ।
sudo bash -c 'echo "line1" > /etc/test.conf'

sudoers फाइलको सम्पादन गल्तीबाट सञ्चालन असमर्थ

sudoersफाइललाई प्रत्यक्ष सम्पादन गर्दा व्याकरण गल्तीलेsudo नै प्रयोग गर्न नसकिनेहुन सक्छ। यो अत्यन्त खतरनाक अवस्था हो।समाधान विधि:
  1. रुट खाताबाट लगइन गर्नुहोस् (Ubuntu मा डिफल्ट रूपमा निष्क्रिय छ, सावधानी गर्नुहोस्)
  2. निम्न कमान्डबाट मर्मत गर्नुहोस्
pkexec visudo
pkexecप्रयोग गर्न नसकिने अवस्थामा, रिकभरी मोडबाट सुरु गरेर/etc/sudoersफाइल सुधार्न आवश्यक छ। त्यसैले, व्याकरण गल्ती रोक्न सम्पादन गर्दा निम्नलाई अवश्य प्रयोग गर्नुहोस्:
sudo visudo

«sudo: command not found»

sudo: command not found
यो त्रुटि तब हुन्छ जब सिस्टममाsudoस्थापित छैन वाPATHवातावरण चरको समस्या भएर फेला परेन।समाधान विधि:
  • रुट अनुमतिबाट लगइन गरेर sudo लाई पुन: स्थापित गर्नुहोस्
apt update
apt install sudo
  • वा /usr/bin/sudo मा प्रत्यक्ष पथ निर्दिष्ट गरेर चलाउनुहोस्
/usr/bin/sudo ls

7. FAQ: sudo सम्बन्धी सामान्य प्रश्नहरू

Q1. sudo र su को भिन्नता के हो?

A:sudoले “विशिष्ट कमान्डहरूलाई अस्थायी रूपमा प्रशासक अधिकारसँग निष्पादन गर्ने” काम गर्छ, जबकिsuले “प्रयोगकर्ता समग्र (मुख्य रूपमा root) मा स्विच गर्ने” कमान्ड हो।
  • sudo: हालको प्रयोगकर्ताको रूपमा रहँदै, केही सञ्चालनहरूको लागि मात्र अधिकार उन्नत गर्दछ
  • su: पूर्ण रूपमा अन्य प्रयोगकर्तामा स्विच हुन्छ
सुरक्षितता र सञ्चालन इतिहासको दृष्टिकोणबाट, हालका वर्षहरूमाsudoको प्रयोगलाई सिफारिस गरिएको छ।

Q2. sudo प्रयोग गर्दा root को पासवर्ड आवश्यक पर्छ?

A:होइन, सामान्यतयाroot को पासवर्ड होइन, हाल लगइन भएको आफैंको पासवर्ड입력 गर्नुपर्छ। यो root पासवर्डको लिक हुने जोखिमलाई कम गर्ने साथै, प्रयोगकर्ताको सञ्चालन इतिहासलाई ट्र्याक गर्न सजिलो बनाउनको लागि हो।

Q3. sudo को लग कहाँ रेकर्ड गरिएको छ?

A:धेरैजसो Linux डिस्ट्रीब्युसनहरूमा,sudoद्वारा गरिएका सञ्चालनहरूको लग निम्न कुनै एकमा रेकर्ड गरिन्छ:
  • Ubuntu/Debian प्रणाली: /var/log/auth.log
  • RHEL/CentOS प्रणाली: /var/log/secure
  • systemd वातावरण सामान्य: journalctl _COMM=sudo
यसबाट, यदि कुनै अनधिकृत सञ्चालन वा गल्ती सञ्चालन भएको भए पनि,कसले के गर्‍यो भनेर ट्र्याक गर्न सम्भवछ।

Q4. sudoers फाइललाई गल्तीले सम्पादन गरेँ। के गर्ने?

A:पहिले, सम्पादन गर्नुअघि सधैंsudo visudoप्रयोग गर्नुहोस्। यदि व्याकरण गल्ती आदि कारणलेsudoप्रयोग गर्न सकिएन भने, निम्न कुनै एक विधिबाट मर्मत प्रयास गर्नुहोस्।
  • root खातामा लगइन गरेर, visudo बाट सुधार गर्नुहोस्
  • Ubuntu मा “रिकभरी मोड” बाट root को रूपमा सुरु गरेर मर्मत गर्नुहोस्
  • pkexec visudo (polkit सक्रिय वातावरणमा)
व्याकरण गल्तीले प्रणाली समग्रको सञ्चालनमा प्रभाव पार्न सक्छ, त्यसैले सुधार पछि पुन: परीक्षण गर्नुहोस्।

Q5. sudo बिना root अधिकार प्राप्त गर्ने विधि छ?

A:छ, तरसुरक्षा जोखिम उच्च भएकोले सिफारिस गरिँदैन।उदाहरणका लागि:
  • su कमान्डबाट root मा स्विच गर्नु (root को पासवर्ड आवश्यक)
  • root खातामा प्रत्यक्ष लगइन गर्नु (Ubuntu मा प्रारम्भिक अवस्थामा निष्क्रिय)
धेरैजसो Linux डिस्ट्रीब्युसनहरूमा root खाताको प्रत्यक्ष प्रयोगलाई टार्ने नीति अपनाइएको छ, रsudoप्रयोग गर्नु सुरक्षित हुन्छ।

Q6. sudo प्रयोग गरेर GUI एप सुरु गर्न सकिन्छ?

A:मूल रूपमा टार्नु राम्रो हुन्छ। उदाहरणका लागिsudo geditजस्तै निष्पादन गर्दा,root अधिकारसँग GUI सेटिङ फाइलहरूलाई लेखेर, अनुमति असंगति वा सेटिङ क्षति हुने सम्भावना छ।GUI प्रयोग गर्दा निम्नानुसारgksudoवाpkexecप्रयोग गर्न सिफारिस गरिन्छ (यद्यपि, यी उपकरणहरू वातावरण अनुसार गैर-सिफारिस वा स्थापना नभएका हुन सक्छन्):
pkexec gedit

8. सारांश

sudo को भूमिकालाई सही ढंगले बुझौं

यो लेखमा, लिनक्स वा युनिक्स प्रणालीहरूमा अत्यन्त महत्वपूर्ण कमान्ड ‘sudo‘ को बारेमा, यसकोआधारभूत भूमिका, प्रयोग विधि, सेटिङ विधि, अनुप्रयोग, सुरक्षा उपायहरू, सामान्य त्रुटिहरू, र FAQसम्म विस्तृत रूपमा व्याख्या गरिएको छ।sudoकेवल ‘कमान्डको अगाडि जोड्ने मात्र’ होइन,प्रणालीको सुरक्षालाई कायम राख्दै आवश्यक कार्यहरूलाई सम्भव बनाउने महत्वपूर्ण पहुँच नियन्त्रणको संयन्त्रहो।

उपयुक्त प्रयोगले समस्याहरू रोक्छ

खासगरी निम्न बुँदाहरूलाई ध्यान दिनुsudoलाई सुरक्षित रूपमा प्रयोग गर्ने कुशलता हो।
  • न्यूनतम आवश्यक अनुमतिसँग सञ्चालन गर्नुहोस् (न्यूनतम अनुमतिका सिद्धान्त)
  • visudo प्रयोग गरेर सुरक्षित रूपमा सेटिङहरू व्यवस्थापन गर्नुहोस्
  • लगहरू प्रयोग गरेर सञ्चालन इतिहास जाँच्नु र व्यवस्थापन गर्नुहोस्
  • पाइप वा रिडाइरेक्टसँग जोड्दा कार्यप्रणालीमा ध्यान दिनुहोस्
  • GUI एपहरूको प्रयोग सामान्यतया टार्नुहोस्
यी बुँदाहरूलाई नबुझ्दा, ‘फाइल भत्कियो’, ‘सेटिङ फर्काउन सकिएन’, ‘sudo प्रयोग गर्न सकिएन’ जस्ता समस्याहरू हुन सक्छन्।

आफ्नो प्रणाली सञ्चालनमा उपयुक्त शैली छान्नुहोस्

लिनक्स अत्यन्त लचिलो प्रणाली हो।sudoप्रयोग गर्नुका साथै, आवश्यकताअनुसारdoasजस्ता वैकल्पिक उपकरणहरू प्रयोग गर्न सकिन्छ। सञ्चालन नीति वा सुरक्षा नीतिअनुसार, आफूलाई उपयुक्त शैली छान्नु, सही ढंगले सेटिङ र सञ्चालन गर्नु राम्रो प्रणाली व्यवस्थापनतर्फ लैजान्छ।

अन्तमा

sudoलाई बुझ्नुलिनक्सलाई बुझ्नुको पहिलो चरणहो। केवल सुविधाजनक कमान्डको रूपमा होइन, प्रणाली समग्रलाई जोगाउने ‘कुञ्जी’ को रूपमा, कृपया सही ज्ञान र प्रयोग विधि सिक्नुहोस्। अर्को पटक लिनक्स प्रयोग गर्दा, तपाईंको प्रत्येक कमान्डलाई बढी आत्मविश्वासका साथ सञ्चालन गर्न सकिने आशा गर्दछु।