sudo
सेवा फ़ाइल सुनिश्चित करें कि विशेषाधिकार के लिए कहा जाता है एक रिबूट के बाद नहीं रहते बनाने के लिए मौजूद है। मूल रूप से यह गारंटी देता है कि रिबूट करने के बाद, रूट अनुमतियों के लिए कॉल करने वाले सामान्य उपयोगकर्ता सामान्य उपयोगकर्ताओं के रूप में रहेंगे।
सुडो के बारे में एक विस्तृत विवरण
नीचे दिए गए स्पष्टीकरण के सभी को इस प्रश्न को पढ़ने वाले सभी के लिए सभी जानकारी प्राप्त करना है और फिर सेवा फ़ोल्डर में sudo फ़ाइल क्या है, यह समझाना है।
जब आप उबंटू या कोई अन्य डिस्ट्रो स्थापित sudo
करते हैं जो रूट होने और उपयोग करने वाले उपयोगकर्ता होने के बीच अंतर का उपयोग करता हैsudo
"रूट" जैसे विशेषाधिकार प्राप्त करने के लिए (प्रशासनिक या सुपर उपयोगकर्ता विशेषाधिकार) निम्नलिखित है:
जड़ के रूप में
- आपको सत्र पर चलने वाले प्रत्येक या सभी आदेशों के लिए पासवर्ड नहीं मांगा जाता है
- आपके द्वारा निष्पादित सभी कमांड डिफ़ॉल्ट रूप से लॉग इन नहीं होंगे
- सिस्टम मानता है कि आप जानते हैं कि आप क्या कर रहे हैं (कारण है कि हर बार जब आप किसी कमांड को निष्पादित करते हैं तो यह पासवर्ड नहीं मांगता है)
- यदि आप कोई गलती करते हैं तो कोई दूसरा मौका या अंतिम मिनट विकल्प नहीं है
सूडो के रूप में
- आपसे सत्र पर चलने वाले प्रत्येक या सभी आदेशों के लिए पासवर्ड मांगा जाता है। उदाहरण के लिए यदि आप एक टर्मिनल खोलते हैं और एक कमांड निष्पादित करते हैं जिसे प्रशासनिक विशेषाधिकारों की आवश्यकता होती है तो यह उस सत्र के लिए एक बार पासवर्ड पूछेगा जब तक आप टर्मिनल या लॉगआउट को बंद नहीं करते। यह इस बात पर निर्भर करता है कि आप किस कमांड का उपयोग करते हैं और कहां करते हैं। यह एक या कई बार पूछ सकता है।
- आपके द्वारा निष्पादित सभी कमांड लॉग हो जाएंगे क्योंकि आप वास्तव में सुपर उपयोगकर्ता विशेषाधिकार प्राप्त कमांड का उपयोग करने की अनुमति मांग रहे हैं।
- सिस्टम मानता है कि आप अस्थायी रूप से अनुमति मांग रहे हैं और प्रशासनिक अधिकार अस्थायी रूप से उधार दिया जाएगा (जब तक कि आप लॉगआउट, करीबी टर्मिनल, आदि)
- किसी भी गलती को सुधारने के लिए आपके पास अंतिम समय विकल्प होता है। यह उस क्षण में किया जाता है जब आपसे पासवर्ड मांगा जाता है।
क्यों बनाया गया था SUDO
SUDO का निर्माण इसलिए किया गया क्योंकि अतीत में, जड़ के उपयोग से समाधान की तुलना में अधिक समस्याएं पैदा हुईं। उपयोगकर्ताओं के पास सभी अधिकार थे, जिसका अर्थ था कि अगर उन्होंने कुछ स्प्रिंग क्लीनअप किया और शाब्दिक रूप से हटा दिया /usr
, /lib
और /bin
फ़ोल्डर्स (क्योंकि उन्हें लगा कि उन्हें उनकी आवश्यकता नहीं है) .. अनुमान लगाओ कि क्या होगा। अतीत में कई समस्याएं थीं क्योंकि उपयोगकर्ता रूट का उपयोग करते समय उनके पास मौजूद शक्ति को नहीं जानते थे। मूल रूप से वे जड़ थे, लेकिन लिनक्स को नहीं समझते थे, फाइल सिस्टम पदानुक्रम, क्या फाइलें महत्वपूर्ण थीं, आदि .. (कुछ ऐसा है जैसे फेरारी होना और न जाने कैसे ड्राइव करना ... एक राजमार्ग में!)
SUDO का उपयोग GUI ऐप्स (जैसे अपडेट मैनेजर) द्वारा किया जाता है जब उन्हें कुछ करने के लिए अस्थायी प्रशासनिक विशेषाधिकारों की आवश्यकता होती है। उन्हें केवल विशिष्ट मात्रा में आदेशों (आमतौर पर 1) के लिए इसकी आवश्यकता होती है और फिर वे उपयोगकर्ता स्तर के विशेषाधिकार पर वापस जाते हैं। यह हर समय रूट विशेषाधिकार होने से बचने के लिए और यदि उपयोगकर्ता सिस्टम के कुछ महत्वपूर्ण हिस्से को हटाने का फैसला करता है तो गलती करने से बचें।
इसके अतिरिक्त यह एक बेहतर सुरक्षा देता है क्योंकि रूट उपयोगकर्ता डिफ़ॉल्ट रूप से अक्षम हो जाता है।
अंतिम, यदि आपके पास एक डेस्कटॉप पीसी या सर्वर है, तो आप वास्तव में हर किसी को रूट नहीं करना चाहते हैं, न ही सभी व्यवस्थापक विशेषाधिकार हैं। बहुत बुरा विचार है अगर आपकी छोटी बहन या छोटे भाई आश्चर्यचकित हो जाते हैं कि अगर चाबी /boot
मिली तो क्या होगा DEL। यह वह जगह है जहाँ sudo
मौका घटने के लिए कुछ बुरा होता है।
विशिष्ट उपयोगकर्ताओं को सीमित सुपर उपयोगकर्ता विशेषाधिकार प्रदान करता है क्या मतलब है?
sudo उपयोगकर्ता या sudoers के पास वास्तव में एक कॉन्फ़िगरेशन फ़ाइल होती है जो उन्हें बताती है कि विशिष्ट उपयोगकर्ता के लिए sudo कमांड कितनी सीमित या खुली है। फ़ाइल /etc/sudoers
में एक sudo उपयोगकर्ता को सीमित करने या पहुंच देने के लिए सभी जानकारी है। डिफ़ॉल्ट रूप से यह सब कुछ तक पहुँच के साथ आता है, लेकिन आप इसे अपनी इच्छानुसार कॉन्फ़िगर या सीमित कर सकते हैं।
man sudoers
टर्मिनल में sudoers फ़ाइल प्रकार का उपयोग करने के तरीके के बारे में जानकारी के लिए । उदाहरण के लिए सामान्य प्रारूप है:
USER HOST = कमानों
उदाहरण के लिए cyrex server1 = /bin/ls
, ls कमांड को चलाने के लिए होस्ट सर्वर 1 में यूजर साइरेक्स देगा।
उदाहरण के लिए cyrex server1 (root) = /bin/ls
, होस्ट सर्वर को एक्सेस के रूप में उपयोगकर्ता कमांड को रूट के रूप में ls कमांड चलाने के लिए दिया जाएगा।
उदाहरण के लिए cyrex ALL = /bin/ls
, एलएस कमांड को चलाने के लिए सभी होस्ट एक्सेस में उपयोगकर्ता साइरेक्स देगा।
उदाहरण के लिए cyrex ALL = ALL
सभी आदेशों को चलाने के लिए सभी होस्ट एक्सेस में उपयोगकर्ता साइरेक्स देगा।
उदाहरण के लिए luis ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killall
मुझे पासवर्ड के लिए पूछे बिना रूट के रूप में kill
और killall
कमांड को चलाने की अनुमति देगा ।