हमेशा जड़ होने में क्या गलत है?


83

मुझे लग रहा है कि यह एक मूर्खतापूर्ण प्रश्न है, लेकिन यह कुछ ऐसा है जिसे मैंने कुछ समय के लिए सोचा है।

मेरे पास एक VPS है और यह मेरा पहला बड़ा linux वेंचर है। मैं एकमात्र व्यक्ति हूं, जिसकी पहुंच यहां तक ​​है। मेरा प्रश्न यह है कि खाता बनाने और उन्हें सुडोल पहुँच देने के विरोध में सिर्फ जड़ में प्रवेश करने में क्या गलत है? अगर कोई सूदखोर सब कुछ कर सकता है, तो क्या फर्क पड़ता है? यदि कोई हैकर मेरे पासवर्ड को मेरे मानक, गैर-रूट खाते में क्रैक कर सकता है, तो वह सुडो कमांड को भी निष्पादित कर सकता है, इसलिए कोई हैकर मेरे रूट खाते को क्रैक कैसे करता है या कम या ज्यादा?


28
मैं यह भी कहूंगा कि यदि आप "यूनिक्स वे" से अपरिचित हैं, तो यह एक मूर्खतापूर्ण प्रश्न नहीं है। आपको नए लिनक्स व्यवस्थापक के रूप में पहली बार में सवाल पूछने के लिए सोचने के लिए एक बोनस मिलना चाहिए।
बार्ट सिल्वरस्ट्रिम

और मैं कुछ उत्तरों पर टिप्पणी करना चाहता हूं। विशेष रूप से जो कहते हैं कि "आप सामान को जड़ होने के लिए खराब कर सकते हैं"। मुझे नहीं लगता कि वह बात है ... "rm -rf /" वही करता है जो "sudo rm -rf /" करता है। इस बात में झूठ है कि "सुडो आरएम" जैसी चीजें काम नहीं करती हैं, फिर भी "सुडो स्टार्टमायप ऑन लो पोर्ट" काम करती हैं।
Zlatko

क्या कभी नहीं होने के साथ गलत है?
ओस्टेंडली

जवाबों:


70

यदि आप रूट के रूप में लॉग इन हैं, तो आप आसानी से निर्देशिकाओं को मिटा सकते हैं या ऐसा कुछ कर सकते हैं जो पूर्वव्यापी में वास्तव में उंगली के फ्लिप के साथ सिस्टम पर गूंगा है, जबकि एक उपयोगकर्ता के रूप में आपको सामान्य रूप से कुछ अतिरिक्त मानसिक चक्रों में डाल देना है जो आप करते हैं 'ऐसा करने से पहले टाइप करना खतरनाक है।

इसके अलावा आप किसी भी प्रोग्राम को रूट विशेषाधिकारों के रूप में चलाते हैं, जिसका अर्थ है कि यदि कोई व्यक्ति या कोई चीज आपको ऐसी वेबसाइट चलाने / संकलित / ब्राउज़ करने के लिए है जो खतरनाक है और आपके सिस्टम को नुकसान पहुंचाना चाहती है, जैसे ट्रोजन या अन्य मैलवेयर, तो यह आपकी पूरी पहुंच है सिस्टम और वह कर सकता है, जो 1024 से नीचे टीसीपी पोर्ट तक पहुंचना चाहता है, (इसलिए यह आपके सिस्टम को आपके ज्ञान के बिना एक रीमेलर में बदल सकता है)।

मूल रूप से आप मुसीबत के लिए पूछ रहे हैं कि अपने आप को रोकने के रूप में प्रवेश कर सकते हैं। मैं ऐसे कई लोगों को जानता हूं जो ख़ुशी के पल में उस सुरक्षा जाल को ख़त्म कर रहे थे।

EDIT: मूल रूप से स्क्रिप्ट और हैक्स के लिए रूट सबसे प्रसिद्ध है, इस प्रकार एक आसान लक्ष्य है। सिस्टम जो खाते को अक्षम करते हैं और इसके बजाय उपयोगकर्ताओं को sudo का उपयोग करने के लिए मजबूर करते हैं, का अर्थ है कि ssh या खाते के स्थानीय शोषण से रूट को क्रैक करने का कोई भी प्रयास एक दीवार के खिलाफ उनके सिर को पीट रहा है। उन्हें पासवर्ड और उपयोगकर्ता नाम का अनुमान लगाना होगा । यह एक हद तक अस्पष्टता के माध्यम से सुरक्षा है, लेकिन यह तर्क करना मुश्किल है कि यह अधिकांश स्क्रिप्ट किडी हमलों को विफल नहीं करता है।


25
+1 - "सुडो" का उपयोग कार्यक्रमों को मूल रूप से ओवरट एक्ट के रूप में निष्पादित करता है। यह "हैकर्स को रोकना" की बात नहीं है, यह आपको एक गैर-विशेषाधिकार प्राप्त उपयोगकर्ता के रूप में काम करने और रूट विशेषाधिकार के आह्वान को एक अभिप्रेरित, ओवरट अधिनियम के रूप में प्राप्त करने की आदत है।
इवान एंडरसन

2
मुझे आश्चर्य है कि इवान वास्तव में एक एअर इंडिया है।
बार्ट सिल्वरस्ट्रिम

11
सूडो एक ऑडिट ट्रेल भी जोड़ता है। जब सूडो के रूप में कौन, क्या और कब लॉग इन होता है। कौन सी लॉग फ़ाइल डिस्ट्रो के साथ अलग-अलग हो सकती है लेकिन RedHat डिस्ट्रो / var / log / सिक्योर का उपयोग करते हैं और उबंटू /var/log/auth.log..I का उपयोग करता है। मुझे यकीन नहीं है कि यह सभी डेबियन आधारित डिस्ट्रो के लिए सही है।
3dinfluence

3
+1 - यह सामान बनाने या सामान बनाने के अधिकारों के बारे में नहीं है, यह विनाश करने के अधिकारों के बारे में भी है। रूट के रूप में लॉगिंग (या उस मामले के लिए किसी अन्य ओएस पर समतुल्य) सुरक्षा बंद के साथ बंदूक ले जाने के चारों ओर घूमने जैसा है। आप कभी भी जानबूझकर उस ट्रिगर को नहीं छू सकते हैं, लेकिन क्या आप खुद पर भरोसा करेंगे कि यह सब उसी तरह होगा?
मैक्सिमस मिनिमस

3
mh: / me अपनी काउबॉय टोपी लगाता है, अपनी पिस्तौल पर सेफ्टी को उतारता है, बीयर खोलता है, कम ग्रैन्स में पैंस के बारे में कुछ बोलता है, और फिर रूट के रूप में लॉग इन करता है।
काइल ब्रान्ड

29

यदि आप किसी बेवकूफ को रूट के रूप में अपने सर्वर पर लॉग इन करने की अनुमति नहीं देते हैं, तो हमेशा रूट के रूप में अपने आप को न चलाएं। जब तक आप दिल से यह नहीं कह सकते कि आप कभी भी बेवकूफ नहीं हैं। सच में नहीं? पक्की बात? :)

लाभ: एक साथ एक रूट और एक बेवकूफ होने की संभावना को कम करता है ।


6
+1 - "लाभ: एक साथ रूट और एक बेवकूफ होने की संभावना को कम करता है।" मुझे यह बिल्कुल पसंद है।
इवान एंडरसन

+1 स्कॉट एडम्स के दर्शन के लिए कि हर कोई एक बेवकूफ है। :) हाँ, इसका मतलब है कि आप और मैं भी।
Ernie

बिल्कुल - यह नौकरी के साक्षात्कार में मेरे प्रमुख प्रश्नों में से एक है - आपने आखिरी बार पेंच कब डाला था? सभी के पास है, आपको केवल "सबसे मनोरंजक sysadmin फ़ुबर" या जो कुछ भी है, उसके बारे में यहाँ पर सूत्र पढ़ने की जरूरत है। यदि कोई अपने जीवन में कम से कम एक बार वास्तविक गूंगा त्रुटि करने के लिए स्वीकार नहीं करेगा, तो संभवत: कुछ मुट्ठी भर कारण हैं जो आप उनके साथ काम नहीं करना चाहते हैं।
टॉम न्यूटन

9

मुख्य कारण गलतियाँ हैं। यदि आप हमेशा रूट होते हैं, तो सरल टाइपो वास्तव में सिस्टम को खराब कर सकता है। यदि आप केवल रूट के रूप में लॉग इन करते हैं या उन चीजों को करने के लिए sudo का उपयोग करते हैं जिनकी आपको आवश्यकता होती है तो आप एक खतरनाक गलती करने के जोखिम को कम करते हैं।


9

जब आप रूट करते हैं, तो आप अनुमतियों के बारे में आलसी हो जाते हैं, क्योंकि आपके पास हर समय सब कुछ तक पहुंच होती है, आप परवाह नहीं करते हैं जब चीजें 777 या 644 या जो भी हों। इसलिए यदि आप कभी भी अपने सिस्टम पर किसी और को ऐसा करने देते हैं कि आप सब कुछ एक्सेस नहीं करना चाहते हैं, तो यह अचानक मशीन को अन्य लोगों द्वारा उपयोग करने के लिए सुरक्षित बनाने के लिए एक वास्तविक कठिनाई बन जाता है।


5
इसे "रूट रोट" कहा जाता है।
kmarsh

1
मुझे वह शब्द पसंद है, "रूट रोट"। वास्तव में, हर समय रूट के रूप में चल रहा है * निक्स मशीनों को विंडोज-जैसी 95 मशीनों में बदल सकता है, जिसमें मल्टी-यूजर सुरक्षा नहीं है। (मुझे एक SCO मशीन याद है, बरसों पहले, जहां साझा लेखांकन ऐप पर हर उपयोगकर्ता रूट के रूप में चल रहा था क्योंकि "इसने अनुमति के मुद्दों को दूर कर दिया"> sigh <)
इवान एंडरसन

मुझे याद है कि इस तरह की एक व्याख्या मिल रही थी - उनके पास एक मेलिंगलिस्ट टूल था, जो रूटमेल के साथ चल रहा था, साथ ही सेंडमेल भी। मेरा जवाब था "हैकर्स के लिए अनुमति के मुद्दे चले गए।"
duffbeer703

7

रूट के रूप में लॉग इन न करने के पीछे कुछ प्रमुख संकेत हैं: 1) रूट पासवर्ड को पूरे नेटवर्क में कभी भी लॉगिन टाइम 2 पर नहीं भेजा जाता है) यह बताने का कोई तरीका नहीं है कि कई उपयोगकर्ता एक ही खाते (रूट या अन्य) के रूप में लॉगिन करते हैं या नहीं। 3) गलती से कुछ 'बेवकूफ'


3

यह अपने आप से सुरक्षा के लिए अधिक है ताकि आपके पास Windows में UAC के अनुरूप उच्च विशेषाधिकार आदेशों की समीक्षा करने का दूसरा मौका हो। यह बहुत आसान है जैसे गलती से कुछ करना जैसे rm -rf /रूट में लॉग इन करते समय।

इसके अलावा, आपके पास ट्रैसीबिलिटी है। यह आपकी स्थिति में एक बड़ी समस्या नहीं है, जहां आप केवल एक (सैद्धांतिक रूप से) कमांड जारी कर रहे हैं, लेकिन किसी व्यक्ति को लॉग इन और ट्रेस करने की क्षमता विश्लेषण के कई रूपों का एक प्रमुख घटक है।


ट्रैसेबिलिटी उन प्रणालियों में महत्वपूर्ण है, जहां एक से अधिक व्यक्ति सिसडमिन के रूप में काम करते हैं। यह केवल वांछनीय नहीं है यह नियामक शासनों द्वारा अनिवार्य है।
एपीसी

मैंने शुक्रवार को ऐसा किया। हटाने के बजाय "/ डंप / फ़ोल्डर /" मैंने फ़ोल्डर हटा दिया /। एक बदबूदार बैकस्लैश ने मुझे याद दिलाया कि हम रूट के रूप में लॉगिन क्यों नहीं करते हैं।
oneodd1

2

मुख्य रूप से अंतर यह है
कि दुर्घटना से आप कुछ भी बुरा नहीं कर सकते।
वह "दुष्ट" कोड सिस्टम पर नहीं ले जा सकता है।
सूचना: बुराई कोड का मतलब यह नहीं है कि किसी के पास सिस्टम तक पहुंच है।


मैंने देखा है कि इन दिनों, बुराई कोड का मतलब आमतौर पर स्पैम बॉट होता है, जो किसी भी उपयोगकर्ता के रूप में चल सकता है।
Ernie

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

2

आपको हमेशा संभव न्यूनतम स्तर के खातों का उपयोग करना चाहिए। जड़ के रूप में हर समय चलना बुरी आदतों और आलस्य को प्रोत्साहित करता है जो जीवन को अप्रिय बना देगा जब आप कई उपयोगकर्ताओं के साथ काम कर रहे होते हैं या किसी सार्वजनिक / अर्ध-सार्वजनिक नेटवर्क पर कुछ उजागर करते हैं।

यह भी ध्यान रखें कि पासवर्ड क्रैकिंग केवल एक समझौता परिदृश्य है - और या तो सबसे आम परिदृश्य नहीं है। आप अपने सिस्टम पर चलने वाले कुछ डेमन थॉट्स में एक ब्राउज़र भेद्यता, या एक भेद्यता का शिकार होने की अधिक संभावना रखते हैं।

बिना सोचे समझे उपयोग किए जाने वाले कोड के बारे में सोचें। उदाहरण के लिए, एडोब फ्लैश का लिनक्स पोर्ट, जो कि एक प्रकार का पौधा है, जो केवल अपेक्षाकृत हाल के दिनों में उपयोग करने योग्य है। आपको लगता है कि कोड कितना सुरक्षित है? क्या आप चाहते हैं कि आप अपने सिस्टम पर पूर्ण नियंत्रण रख सकें?


2

यह एसएसएच ब्रूट बल के हमलों के खिलाफ रोक सकता है। हर यूनिक्स का एक 'रूट' खाता है। हालाँकि यह बाहर से स्पष्ट नहीं है कि आपका 'sudo' उपयोगकर्ता नाम क्या होगा। इसलिए अगर कोई अपने तरीके से बल देने की कोशिश करना चाहता है, तो उन्हें पता है कि एक मूल खाता है और शायद वह कोशिश करेगा। हालांकि वे नहीं जानते कि आप सूडो का उपयोग कहां कर रहे हैं।



1

मेरी सलाह होगी कि हर समय रूट का उपयोग करके थोड़ी देर के लिए प्रयास करें; आपको जल्द ही पता चल जाएगा कि आपको क्यों नहीं करना चाहिए :)


1

यहां तक ​​कि अगर मुझे "अस्पष्टता से सुरक्षा" पर भरोसा नहीं है, तो निश्चित रूप से कभी-कभी रूट लॉगिन के बजाय कस्टम लॉगिन का उपयोग करने का एक फायदा है। इस प्रकार आप रूट लॉग इन को रोकने के लिए SSH को भी कॉन्फ़िगर कर सकते हैं।

जैसा कि अन्य ने भी कहा, रूट बिना किसी पुष्टि के सब कुछ कर सकता है। तो एक अनपेक्षित उपयोगकर्ता का उपयोग करके बेवकूफ गलती और टाइपोस को रोका जा सकता है।

कई उपयोगकर्ता खातों के पक्ष में एक और तर्क विभिन्न उपयोगकर्ताओं के तहत अलग-अलग सॉफ्टवेअर चलाने के लिए है। ऐसा करने पर, यदि किसी एप्लिकेशन में सुरक्षा दोष का शोषण किया जाता है, तो शोषक केवल अपने रनिंग उपयोगकर्ता के लिए सुलभ फाइलों और संसाधनों तक पहुंच सकता है।

रूट का उपयोग नहीं करने के लिए एक अंतिम बिंदु: संसाधन खपत। रूट की कोई सीमा नहीं है कि वह कितनी मेमोरी, प्रोसेसिंग टाइम, फाइल हैंडलर या डिस्क स्पेस का उपयोग कर सकता है। बहुत सारे फाइल सिस्टम पर, डेटा ब्लॉक होते हैं जो केवल रूट पर आरक्षित होते हैं। तो एक सामान्य उपयोगकर्ता कभी भी आपकी डिस्क को भरने के लिए उनका उपयोग नहीं कर सकता है। ulimit कमांड का उपयोग मेमोरी को प्रतिबंधित करने के लिए भी किया जा सकता है और हैंडलर नंबर को एक उपयोगकर्ता उपभोग कर सकता है। लेकिन अगर आप रूट (या रूट के रूप में चल रहे एप्लिकेशन) हैं, तो कुछ भी आपको इस सीमा को बदलने से नहीं रोकता है।


0

हां, मैं आपसे सहमत हूं, और मुझे लगता है कि यह मानवीय त्रुटियों और कभी-कभी दुर्भावनापूर्ण कार्यक्रमों के खिलाफ सुरक्षा का सवाल है। बुरी चीज जो मैंने कभी नहीं देखी, वह यह है कि रूट को डिफ़ॉल्ट गनोम खाते के रूप में उपयोग करना।
मुझे लगता है कि अधिकांश उपयोगकर्ता जो कि विंडोज उपयोगकर्ता हैं वे हाल ही में लिनक्स या यूनिक्स में चले गए हैं। रूट करने के लिए व्यवस्थापक विशेषाधिकार के उपयोग की प्रतिलिपि बनाने का प्रयास करें।


0

रूट के रूप में लॉग इन होने में कुछ भी गलत नहीं है। यह मांसपेशी मेमोरी को केवल सुरक्षित कमांड टाइप करने में मदद करता है और बड़े परिणामों के साथ क्रिया करते समय विचार की सटीकता को बढ़ावा देता है। मैं सिस्टम एडमिनिस्ट्रेशन में बेहतर होने के लिए रूट के रूप में काम करने की सलाह देता हूं।

तुम भी जैसे शांत सामान करने के लिए मिलता है ping -i 0.2 -c 1000 example.com

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