sudoएक सर्वर का उपयोग करने के लिए एक उपयोगकर्ता का उपयोग करना और रूट स्तर पर कमांड निष्पादित करना लिनक्स और यूनिक्स सिस्टम प्रशासक के बीच एक बहुत ही सामान्य अभ्यास है। sudoअनधिकृत पहुंच को रोकने के प्रयास में किसी के सर्वर तक सीधे रूट एक्सेस को अक्षम करके उपयोगकर्ता के उपयोग को अक्सर युग्मित किया जाता है।
इस ट्यूटोरियल में, हम डायरेक्ट रूट एक्सेस को डिसेबल करने के लिए बेसिक स्टेप्स को कवर करेंगे, एक sudo यूजर बनाएंगे, और CentOS, डेबियन और FreeBSD पर sudo ग्रुप की स्थापना करेंगे।
आवश्यक शर्तें
	- आपके पसंदीदा वितरण के साथ एक नया स्थापित लिनक्स सर्वर।
- सर्वर पर एक टेक्स्ट एडिटर स्थापित किया गया है चाहे वह नैनो, vi, vim, emacs हो।
चरण 1: sudo स्थापित करना
डेबियन
apt-get install sudo -y
CentOS
yum install sudo -y
FreeBSD
cd /usr/ports/security/sudo/ && make install clean
या
pkg install sudo
चरण 2: sudo उपयोगकर्ता को जोड़ना
एक sudoउपयोगकर्ता लिनक्स या यूनिक्स मशीन पर एक सामान्य उपयोगकर्ता खाता है।
डेबियन
adduser mynewusername
CentOS
adduser mynewusername
FreeBSD
adduser mynewusername
चरण 3: नए उपयोगकर्ता को पहिया समूह में जोड़ना (वैकल्पिक)
व्हील ग्रुप एक उपयोगकर्ता समूह है जो उन लोगों की संख्या को सीमित करता है जो suरूट करने में सक्षम हैं । अपने sudoउपयोगकर्ता को wheelसमूह में जोड़ना पूरी तरह से वैकल्पिक है, लेकिन यह उचित है।
नोट: डेबियन में, sudoसमूह अक्सर के बजाय पाया जाता है wheel। हालाँकि आप मैन्युअल रूप wheelसे groupaddकमांड का उपयोग करके समूह को जोड़ सकते हैं । इस ट्यूटोरियल के उद्देश्य के लिए, हम sudoडेबियन के लिए समूह का उपयोग करेंगे ।
wheelऔर के बीच का अंतर sudo।
CentOS और डेबियन में, wheelसमूह से संबंधित उपयोगकर्ता निष्पादित suऔर सीधे चढ़ सकता है root। इस बीच, एक sudoउपयोगकर्ता sudo suपहले का उपयोग करेगा । मूल रूप से, रूट बनने के लिए उपयोग किए गए सिंटैक्स को छोड़कर कोई वास्तविक अंतर नहीं है , और दोनों समूहों से संबंधित उपयोगकर्ता sudoकमांड का उपयोग कर सकते हैं ।
डेबियन
usermod -aG sudo mynewusername
CentOS
usermod -aG wheel mynewusername
FreeBSD
pw group mod wheel -m mynewusername
चरण 4: सुनिश्चित करें कि आपकी sudoersफ़ाइल ठीक से सेटअप है
यह सुनिश्चित करना महत्वपूर्ण है कि आदेश में sudoersस्थित फ़ाइल /etc/sudoersठीक से सेटअप हो ताकि आदेश sudo usersका प्रभावी ढंग से उपयोग किया जा सके sudo। इसे पूरा करने के लिए, हम उन सामग्रियों को देखेंगे /etc/sudoersऔर उन्हें लागू करेंगे जहाँ लागू हो।
डेबियन
vim /etc/sudoers
या
visudo
CentOS
vim /etc/sudoers
या
visudo
FreeBSD
vim /etc/sudoers
या
visudo
नोट:visudo आदेश खुल जाएगा /etc/sudoersप्रणाली के पसंदीदा पाठ संपादक का उपयोग (आमतौर पर vi या vim) ।
इस पंक्ति के नीचे समीक्षा और संपादन शुरू करें:
# Allow members of group sudo to execute any command
यह खंड /etc/sudoersअक्सर इस तरह दिखता है:
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
कुछ प्रणालियों में, आप के %wheelबजाय नहीं मिल सकता है %sudo; किस मामले में, यह वह रेखा होगी जिसके तहत आप संशोधित करना शुरू करेंगे।
यदि %sudoडेबियन या %wheelसेंटोस और फ्रीबीएसडी में शुरू होने वाली लाइन को टिप्पणी नहीं की जाती है (# द्वारा उपसर्ग किया जाता है) , इसका मतलब है कि सुडो पहले से ही सेटअप है और सक्षम है। फिर आप अगले चरण पर जा सकते हैं।
चरण 5: एक उपयोगकर्ता को अनुमति देना जो कमांड को निष्पादित करने के लिए न तो wheelऔर न ही sudoसमूह से संबंधित हैsudo
एक उपयोगकर्ता को अनुमति देना संभव है जो न तो उपयोगकर्ता समूहों में sudoकमांड को निष्पादित करने के लिए उन्हें केवल /etc/sudoersनिम्नानुसार जोड़कर कर सकता है:
anotherusername ALL=(ALL) ALL
चरण 6: SSHD सर्वर को पुनरारंभ करना
आपके द्वारा किए गए परिवर्तनों को लागू करने के लिए /etc/sudoers, आपको निम्नानुसार SSHD सर्वर को पुनरारंभ करने की आवश्यकता है:
डेबियन
/etc/init.d/sshd restart
सेंटोस 6
/etc/init.d/sshd restart
सेंटोस 7
systemctl restart sshd.service
FreeBSD
/etc/rc.d/sshd start
चरण 7: परीक्षण
SSH सर्वर को पुनरारंभ करने के बाद, लॉग आउट करें और फिर अपने रूप में वापस लॉग इन करें sudo user, फिर कुछ परीक्षण कमांड निष्पादित करने का प्रयास करें:
sudo uptime
sudo whoami
नीचे दिए गए आदेशों में से कोई भी sudo userबनने की अनुमति देगा root।
sudo su -
sudo -i
sudo -S
टिप्पणियाँ:
	- whoamiआदेश वापस आ जाएगी- rootजब के साथ मिलकर- sudo।
- sudoकमांड निष्पादित करते समय आपको अपने उपयोगकर्ता का पासवर्ड दर्ज करने के लिए कहा जाएगा जब तक कि आप स्पष्ट रूप से सिस्टम को- sudo usersउनके पासवर्ड के लिए संकेत नहीं देने का निर्देश देते हैं। कृपया ध्यान दें कि अनुशंसित अभ्यास नहीं है।
वैकल्पिक: sudoउपयोगकर्ता के पासवर्ड को दर्ज किए बिना अनुमति देना
जैसा कि पहले बताया गया है, यह अनुशंसित अभ्यास नहीं है और केवल प्रदर्शन उद्देश्यों के लिए इस ट्यूटोरियल में शामिल है।
आदेश अनुमति देने के लिए अपने sudo userनिष्पादित करने के लिए sudoउनके पासवर्ड के लिए संकेत जा रहा है बिना आदेश, में पहुँच लाइन प्रत्यय /etc/sudoersके साथ NOPASSWD: ALLइस प्रकार है:
%sudo   ALL=(ALL:ALL) ALL   NOPASSWD: ALL
नोट: आपको परिवर्तनों को लागू करने के लिए अपने SSHD सर्वर को पुनः आरंभ करने की आवश्यकता है।
चरण 8: प्रत्यक्ष रूट एक्सेस को अक्षम करें
अब जब आपने पुष्टि की है कि आप अपने sudo userमुद्दों के बिना उपयोग कर सकते हैं, तो यह सीधे रूट एक्सेस को अक्षम करते हुए आठवें और अंतिम चरण का समय है।
सबसे पहले, /etc/ssh/sshd_configअपने पसंदीदा टेक्स्ट एडिटर का उपयोग करके खोलें और निम्नलिखित स्ट्रिंग वाली लाइन ढूंढें। यह एक #चरित्र के साथ उपसर्ग हो सकता है ।
PermitRootLogin
उपसर्ग या विकल्प के मूल्य के बावजूद /etc/ssh/sshd_config, आपको उस पंक्ति को निम्न में बदलने की आवश्यकता है:
PermitRootLogin no
अंत में, अपने SSHD सर्वर को पुनः आरंभ करें।
नोट: अपने सर्वर में SSH का प्रयास करके अपने परिवर्तनों का परीक्षण करना न भूलें root। यदि आप ऐसा करने में असमर्थ हैं, तो इसका मतलब है कि आपने सभी आवश्यक चरणों को सफलतापूर्वक पूरा कर लिया है।
यह हमारे ट्यूटोरियल का समापन करता है।