सूद-आई और सूदो सु - में क्या अंतर है


जवाबों:


30

वे कार्यात्मक रूप से एक ही चीज़ के करीब प्रदान कर सकते हैं, लेकिन ऐसा लगता है कि 'सुडो-आई' हल्का वजन है और आपके पर्यावरण में कुछ उपयोगी संदर्भों को रखता है।

आप 'ps auxf' को देख कर अतिरिक्त प्रक्रियाएँ देख सकते हैं (f आपको वन व्यू देता है)

sudo -i इस प्रोसेस ट्री की पैदावार करता है

jkrauska  4480  0.0  0.0  76828  1656 ?        S    23:38   0:00  |   \_ sshd: jkrauska@pts/0
jkrauska  4482  0.0  0.0  21008  3816 pts/0    Ss   23:38   0:00  |       \_ -bash
root      4675  0.6  0.0  19512  2260 pts/0    S+   23:42   0:00  |           \_ -bash

सुडो सु - इस प्रक्रिया पेड़ की पैदावार

jkrauska  4480  0.0  0.0  76828  1656 ?        S    23:38   0:00  |   \_ sshd: jkrauska@pts/0
jkrauska  4482  0.0  0.0  21008  3816 pts/0    Ss   23:38   0:00  |       \_ -bash
root      4687  0.5  0.0  43256  1488 pts/0    S    23:42   0:00  |           \_ su -
root      4688  0.5  0.0  19508  2252 pts/0    S+   23:42   0:00  |               \_ -su

ध्यान दें कि वे एक ही बैश प्रक्रिया pid, 4482 से शुरू कर रहे हैं, लेकिन यह su - एक और स्पॉन लगता है))।

आपका पहला 'sudo' पहले से ही आपके एक्सेस लेवल को रूट कर रहा है। सुडो के अंदर एक उपयोगकर्ता नाम निर्दिष्ट किए बिना सु चलाने से दो बार रूट करने के लिए वर्तमान उपयोगकर्ता बदल जाता है।

इसकी जांच करने का दूसरा तरीका स्ट्रेस -f के साथ दोनों कमांड चलाकर है।

strace -f -o sudoi sudo -i

बनाम

strace -f -o sudosu sudo su -

यदि आप उन दो उपभेदों को अलग करते हैं, तो आप सूडो सु - के लिए अधिक पूर्ववत चल रहे देखेंगे।

एक और चीज़।

sudo मैं अतिरिक्त वातावरण चर SUDO द्वारा निर्धारित बनाए रखता है।

SUDO_USER=jkrauska
SUDO_UID=1000
SUDO_COMMAND=/bin/bash
SUDO_GID=1000

sudo su - उन चर को क्लोब करता है।


धन्यवाद, मैंने आपको सही उत्तर के रूप में वोट दिया। एक और सवाल, तो sudo su -व्यर्थ है?
हॉवर्ड

यदि आप SUDO वापस संदर्भ लेना चाहते हैं तो यह उपयोगी हो सकता है। तो उस मामले में व्यर्थ नहीं।
जोएल के

तर्क-वितर्क, पर्यावरण चर चर, और सुरक्षा में गैर-रूट उपयोगकर्ता बनने पर भी बड़े अंतर हैं। देखें कि मैंने यहाँ क्या जोड़ा: serverfault.com/q/601140/102814
क्रेग रिंगर

1

उत्तर दिया: नहीं, वे समान नहीं हैं।

लंबे उत्तर: सुडो और सु - अलग-अलग कार्यक्रम हैं जो एक ही कार्य को पूरा करते हैं, जो आपको विशेषाधिकारों की ओर बढ़ा रहा है।

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

sudo में कुछ विशेषताएं हैं जो su नहीं करता है। सुडो में मुख्य तत्व यह "एक" कमांड को रूट के रूप में चलाने की क्षमता है और फिर सामान्य उपयोगकर्ता के लिए विशेषाधिकार छोड़ देता है। उदाहरण: रूट के स्वामित्व वाली फ़ाइल को निकालें।

sudo rm /root/someFile

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

sudo अन्य लाभ भी प्रदान करता है जैसे उपयोगकर्ता द्वारा चलाए जा सकने वाले प्रोग्राम के सेट को प्रतिबंधित करना, sudo और अन्य चीजों के तहत चलने वाले कमांड को लॉग करता है। संक्षेप में अधिक जानकारी के लिए sudo

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

अधिक जानकारी: sudo का उपयोग करना और उसे सक्षम करना


suभी केवल एक ही आदेश चला सकते हैं:su -c 'command ...'
एलिया कगन

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