चूंकि उबंटू डिफ़ॉल्ट रूप से रूट खाता अक्षम करता है, इसलिए रूट शेल एक्सेस को भी अक्षम क्यों नहीं किया जाता है?


12

रूट खाते के लिए वर्तमान चूक /etc/passwdहै root:x:0:0:root:/root:/bin/bash

इसे सेट क्यों नहीं किया root:x:0:0:root:/root:/usr/sbin/nologin?


7
ताकि आप कर सकें sudo -i?
एलेक्स

12
"रूट खाते को निष्क्रिय करता है" एक ढीले विवरण का एक सा है: क्या यह वास्तव में अक्षम करता है रूट खाते का पासवर्ड-आधारित प्रमाणीकरण है
Steeldriver

1
@ AlexP वास्तव में मैंने अभी-अभी इसका परीक्षण किया है, sudo -i रूट सेट / usr / sbin / nologin के साथ काम नहीं करता है।
लोंग्यह

जवाबों:


19

यदि ऐसा होता, तो आप केवल sudoएक समय में एक के साथ कमांड चला सकते थे, लेकिन आप रूट शेल शुरू नहीं कर पाएंगे। एक रूट शेल कई मामलों में सुविधाजनक है, उदाहरण के लिए यदि आप एक पंक्ति में कई कमांड को रूट के रूप में चलाने की योजना बना रहे हैं।

विशेष रूप से, आप नहीं चला सकते हैं sudo -i, जैसा कि एलेक्सपी ने उल्लेख किया है। से man sudo:

-i, --login    Run the shell specified by the target user's password database entry as a login shell.

7
sudo /bin/bashऐसा करने के लिए काम नहीं करता है?
फेडरिको पोलोनी

5
@FedericoPoloni जो sudo -sमुझे लगता है कि अधिक होगा (एक रूट शेल, लेकिन रूट लॉगिन शेल नहीं)। हालांकि यह एक अच्छा बिंदु है - और वास्तव में sudo -sरूट के शेल होने पर भी काम करने लगता है/usr/sbin/nologin
स्टीलड्राइवर

1
अक्षम कर सकते हैं -i, -s, /bin/bash, और इतने सिर्फ आदेशों की एक श्वेत सूची की अनुमति देकर पर, sudoers फ़ाइल के लिए दस्तावेज़ देखें। यह इतना महीन दाने वाला है, कि उदाहरण के लिए यह संभव है कि उपयोगकर्ताओं को /etc/init.d/someservice restartबिना चलाने के लिए रूट के रूप में चलाने की अनुमति दी जाए /etc/init.d/someservice stop। लेकिन ubuntu डिफ़ॉल्ट बस के लिए कोई पासवर्ड सेट करने के लिए है rootऔर व्यवस्थापक उपयोगकर्ताओं sudo के साथ सब कुछ करने के लिए अनुमति देते हैं। संभवतः तर्क एक है) एक से अधिक व्यवस्थापक उपयोगकर्ता और बी) व्यवस्थापक उपयोगकर्ता को रूट खाते के लिए दूसरा पासवर्ड याद रखने की आवश्यकता नहीं है।
allo

8

अल्बर्टो सेंटिनी के सूडो उत्तर के अलावा, एक और (बेहतर) उत्तर है। यदि रूट का शेल कुछ ऐसी चीज़ पर सेट होता है जो शेल नहीं है, तो एकल उपयोगकर्ता बूट नहीं करता है। suloginगैर-विलुप्त शेल या पूरी तरह से टूटे हुए शेल जैसी चीजों के लिए वसूली होती है , लेकिन यह काम नहीं करेगा यदि शेल एक वैध शेल प्रतीत होता है लेकिन वास्तव में शेल नहीं है।

आप sudoशेल को निर्दिष्ट करके एक शेल प्राप्त करने के लिए सीधे भी कर सकते हैं, sudoइसलिए यह अच्छी सुरक्षा भी नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.