क्या उबंटू में दो सूडो उपयोगकर्ता मौजूद होने पर उपयोगकर्ता फाइलें अभी भी निजी हैं?


31

मैं अपने एक सहयोगी के साथ अपना व्यक्तिगत उबंटू पीसी साझा कर रहा हूं।

मैंने एक अलग पासवर्ड के साथ एक और उपयोगकर्ता बनाया (वह निश्चित रूप से जानता है) और इसे sudoerसूची में जोड़ा ।

यह देखते हुए कि sudoएक एकल उबंटू प्रणाली में दो उपयोगकर्ता हैं :

  • क्या इनमें से किसी भी उपयोगकर्ता की निजी फ़ाइलें (मालिकों और अनुमतियों द्वारा निर्दिष्ट) अभी भी निजी हैं?

  • क्या मैं अपने सहकर्मी की फाइलों को sudoकमांड के माध्यम से संशोधित कर सकता हूं sudo su, या इसके विपरीत?



6
उबंटू उपयोगकर्ता बनाते समय एक होम फोल्डर को एन्क्रिप्ट करने की अनुमति देता है। हो सकता है कि यहां ठीक वैसी ही सुविधा हो।
थोरबजोरन रावन एंडरसन


@ ThorbjørnRavnAndersen एक बार जब मैंने होम फ़ोल्डर को एन्क्रिप्ट किया, तो क्या मैं अभी भी अंदर की फाइलों को उतना ही सुविधाजनक तरीके से एक्सेस कर सकता हूं जितना मैंने पहले किया था?
जिझोउ हुआंग

3
आप अन्य उपयोगकर्ता से sudo एक्सेस क्यों नहीं हटाते हैं, और आप एकमात्र व्यवस्थापक बन जाते हैं? जिन कारणों से अन्य उपयोगकर्ता को sudo की आवश्यकता होती है, आप उन्हें ठीक कर सकते हैं ताकि उन्हें sudo (माउंटिंग, प्रिंटिंग, ऑटो-अपडेट आदि) की आवश्यकता न हो
Xen2050

जवाबों:


51

यदि आपका सहकर्मी सुडोर्स सूची में है तो वह उतना ही जड़ है जितना आप चाहते हैं (और वह आपको भी आरोपित कर सकता है), और फिर वह सब कुछ देख सकता है।

यदि आप उपयोगकर्ता गोपनीयता चाहते हैं तो यह सबसे खराब सेटअप हो सकता है। आपको निश्चित रूप से यह पढ़ना चाहिए कि लिनक्स पर उपयोगकर्ता प्रबंधन कैसे काम करता है। यहाँ कुछ लेख यो के साथ शुरू कर सकते हैं:

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

तो उस मामले में सबसे अच्छी बात है उचित उपयोगकर्ता प्रबंधन, रूट के लिए पासवर्ड, और एन्क्रिप्टेड ड्राइव और / या एन्क्रिप्टेड होम डायरेक्टरीज़।


2
हालांकि सुनिश्चित करें कि sudo -iकाम नहीं करता है :)
Wilf

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

19

एक सरल विकल्प यह है कि आप अपने निजी डेटा को एन्क्रिप्टेड फ़ाइल में रख सकते हैं (टार आर्काइव फ़ाइल हो सकती है, जिसे आप एन्क्रिप्ट करते हैं, उदाहरण के लिए gpg के साथ)। आपको उन्हें देखने के बाद स्पष्ट पाठ फ़ाइलों को ओवरराइट करना और निकालना याद रखना चाहिए।

आप सभी के लिए एक और विकल्प जो एक कंप्यूटर और sudo (रूट) एक्सेस साझा करता है वह है एन्क्रिप्टेड होम और एन्क्रिप्टेड स्वैप का उपयोग करना।

लेकिन यह मदद नहीं करेगा, यदि आप एक ही समय में लॉग इन हैं। तथ्य की बात के रूप में आप एन्क्रिप्टेड घर के साथ भी स्पष्ट पाठ प्रारूप में अपनी फ़ाइलों से छुटकारा पाने के लिए कंप्यूटर को रिबूट करना होगा।


सामान्य सुरक्षा में बहुत मुश्किल है, और एन्क्रिप्टेड डिस्क (एन्क्रिप्शन के साथ LVM) के साथ एक एकल उपयोगकर्ता प्रणाली चीजों को सुरक्षित रखने का सबसे सरल तरीका होगा।

  • साझा कंप्यूटर में संवेदनशील निजी डेटा संग्रहीत न करें
  • अपने नियोक्ता से संबंधित कंप्यूटर में निजी डेटा को स्टोर न करें

3
एक dm-crypt / LUKS कंटेनर (किसी भी आवेदन पत्र 'अस्थायी फ़ाइलें और स्वैप को छोड़कर) क्लियर फ़ाइलों को अधिलेखित करने के बारे में चिंता करने की जरूरत नहीं है, या एक भी एन्क्रिप्टेड ~ / .Private साथ निर्देशिकाecryptfs-mount-private
Xen2050

6
यह आपको बुरी नौकरानी के हमलों से भी बचाता नहीं है: अन्य sudo उपयोगकर्ता आपको अपना पासफ़्रेज़ देने के लिए सिस्टम को बदलने के लिए बदल सकता है। इस तरह के प्रश्न को पढ़ा जाना चाहिए "मुझे अपने सहयोगी पर रूसी जासूस होने का संदेह है। क्या मुझे उसे अपने कंप्यूटर पर सुडोल अधिकार देना चाहिए?"
नवबंर

एन्क्रिप्टेड डिस्क छवि के साथ एक आभासी मशीन के बारे में क्या? blogs.oracle.com/scoter/…
leftaroundabout

1
यदि आपको गोपनीयता की आवश्यकता है, तो आपको दूसरे शब्दों में किसी अन्य उपयोगकर्ता के लिए एकल उपयोगकर्ता प्रणाली की आवश्यकता है , निश्चित रूप से कोई अन्य sudo उपयोगकर्ता नहीं है। एन्क्रिप्शन सिस्टम के साथ उबंटू LVM बुरी नौकरानी के हमलों की चपेट में है। फिर भी मुझे लगता है कि यह एन्क्रिप्टेड होम सहित अन्य आसान विकल्पों से बेहतर है। बेशक, यदि आप चाहें, तो आप एक घुसपैठिया के लिए चीजों को और अधिक कठिन बनाने के लिए, डिस्क और एन्क्रिप्टेड होम और एक उपयोगकर्ता प्रणाली का उपयोग कर सकते हैं, उदाहरण के लिए इस लिंक के अनुसार, iso.qa.ubuntu.com/qatracker.milestones / ३६३ / बिल्ड / १२६३४२ /…
सुडोडुस

सभी नए रूट उपयोगकर्ता को डायमोर्फिन की तरह कर्नेल स्पेस रूटकिट स्थापित करना होगा। यूजरलैंड LD_PRELOADहैक्स के साथ घूमने-फिरने से भी परेशान होने की जरूरत नहीं है : बस एक साधारण कीस्ट्रोक लकड़हारा बनाइए, और टाइपिंग के समय / समूहीकरण और कुछ पाठ पार्सिंग के आधार पर कुछ फजी के-मतलब सेगमेंटेशन करने के लिए कुछ अजगर लिपियों पर इसे फेंक दें। किया हुआ। अब आपके पास उपयोगकर्ता के लिए पासफ़्रेज़ है और संभवतः उनके व्यक्तिगत डेटा पर प्राप्त कर सकते हैं।
बादल

8

एक बार जब आप प्राप्त कर सकते हैं rootअनुमतियाँ (जैसे का उपयोग कर sudo, su, आदि)।
आपके पास सिस्टम की प्रत्येक फ़ाइल तक पूरी पहुंच है।

जो कर चुके उपयोगकर्ताओं के दोनों तो sudoअनुमति है, और हो गया कर सकते हैं rootका उपयोग कर sudo bashसिस्टम पर हर फ़ाइल के लिए पूरा उपयोग करना होगा

के अनुसार इस क्यू एंड ए में SE-Security: आप संशोधित करने के लिए सक्षम हो सकता है SELinux(जो उबंटू नहीं है) सीमित करने के क्रम में rootउपयोग:

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


2
आप एपर्मोर और सेलिनक्स दोनों के साथ रूट को सीमित कर सकते हैं, हालांकि, किसी को रिकवरी शेल या लाइव सीडी के माध्यम से पूर्ण रूट एक्सेस या एक्सेस के साथ, या तो सिस्टम (ऐपर्मर या सेलिनक्स) के साथ इसे वापस बदल सकते हैं।
पैंथर

1
यहां तक ​​कि अगर आप SELinux का उपयोग करते हैं या इस तरह की सीमा को सीमित करने के लिए कि क्या रूट सीधे कर सकते हैं, वे अभी भी उन उपयोगिताओं को संशोधित करने में सक्षम हो सकते हैं जो उपयोगकर्ता स्वयं चलाते हैं। और अगर वे किसी भी उन्नयन को चलाने में सक्षम हैं, तो उन्हें सिस्टम पर बायनेरिज़ को संशोधित करने की आवश्यकता होगी ...
ilkkachu

5

यह सुनिश्चित करने के लिए कि अन्य उत्तर पहले से ही पूरी तरह स्पष्ट हैं: वह अन्य उपयोगकर्ता न केवल "आपके जितना मूल" है (वीडियोनॉउथ का उत्तर), वे भी आपके (आपके उपयोगकर्ता खाते में स्विच) हो सकते हैं

ऐसा इसलिए है क्योंकि सुपरसुसर विशेषाधिकारों के साथ, किसी भी खाते में स्विच किया जा सकता है।

आपको शायद पता हो

sudo su

जो रूट शेल खोलने का एक विकल्प है यदि रूट में पासवर्ड सेट नहीं है (तो आप सीधे रूट के रूप में लॉग इन नहीं कर सकते हैं)।

su"स्विच उपयोगकर्ता" के लिए छोटा है। उपयोगकर्ता किस पर स्विच करता है? कोई नहीं कहा गया है, है ना? लेकिन मैन पेज से हम यह सीख सकते हैं:

एक उपयोगकर्ता नाम के बिना आह्वान किया, सु सुपरसियर बनने के लिए चूक।

तो यह प्रभावी रूप से है

sudo su root

यदि आप rootकिसी और चीज़ का नाम नहीं लेते हैं ।

यदि आप बस चलाते हैं su <someuser>, तो आपको पासवर्ड के लिए संकेत दिया जाएगा। इसलिए यदि आप दौड़ते हैं su root, तो आपको रूट के पासवर्ड के लिए संकेत दिया जाता है (जो डिफ़ॉल्ट रूप से उबंटू में मौजूद नहीं है, इसलिए आप लॉग इन नहीं कर सकते हैं (ध्यान दें कि कोई पासवर्ड सेट नहीं किया जा रहा है) पासवर्ड के माध्यम से लॉगिंग का कोई साधन नहीं है खाली स्ट्रिंग होने के कारण पासवर्ड से अलग))। लेकिन अगर आप चलाते हैं sudo su root, तो आपको अपने पासवर्ड के लिए संकेत दिया जाता है। और आप केवल इसके लिए संकेत देते हैं sudo। एक बार sudoअपना पासवर्ड प्राप्त करने के बाद , यह सुपरयुसर विशेषाधिकारों के साथ इसे प्राप्त कमांड को चलाता है। जैसा कि सुपरसुसर विशेषाधिकारों के होने पर किसी भी खाते में स्विच करने में सक्षम है, एक पासवर्ड प्रॉम्प्ट आवश्यक नहीं है।

इसलिए अमल करके

sudo su <yourusername>

, अन्य sudoer आप के रूप में लॉग इन कर सकते हैं।


+1; हां, मैंने भ्रम का कारण नहीं होने के लिए इसका उल्लेख नहीं किया, मशीन की सुरक्षा का क्षेत्र व्यापक है और पत्थरों से भरा हुआ है जिस पर आप संघर्ष कर सकते हैं। अभी भी अच्छा है जो पहले से ही जवाब के रूप में दिया गया है।
19:22 पर वीडियोनौथ

निश्चित नहीं है, लेकिन sudo suहमेशा UID 0 और GUID 0 के लिए डिफ़ॉल्ट नहीं है ? यदि हाँ तो इससे कोई फर्क नहीं पड़ता कि आपने 'रूट' का नाम कैसे रखा।
वीडियोनौथ

@Videonauth आप अपनी दूसरी टिप्पणी में दूसरे वाक्य के साथ सही हैं। हालाँकि, यह बहुत कारण है कि मैंने उस वाक्य को शामिल किया जिसकी आप आलोचना कर रहे हैं। यदि आप का नाम बदला rootहै john, sudo suतो अब के बराबर है sudo su johnऔर अब नहीं है sudo su root
UTF-8

3

यह उन कार्यक्रमों को सीमित करना संभव है जो सूडो फाइल ( /etc/sudoers) को संपादित करके सुडो विशेषाधिकार वृद्धि का उपयोग करके चलाया जा सकता है ।

सुपर उपयोगकर्ता पर इस सवाल का स्वीकृत जवाब आगे के विवरण के लिए और यहां यूनिक्स और लिनक्स पर भी देखें । विशेषाधिकारों को सीमित करने के सुझाव के लिए स्लम द्वारा उत्तर देखें /etc/sudoers

manटाइप करके sudoers पेज भी देखें man sudoersऔर इसका परीक्षण करना न भूलें। याद रखें कि अनफ़िट किए गए sudo एक्सेस के साथ एक उपयोगकर्ता किसी अन्य उपयोगकर्ता को पूरी तरह से प्रतिरूपित कर सकता है। उदाहरण के लिए, यदि उपयोगकर्ता fooकमांड चलाना चाहते थे

sudo exec su - bar

वे तब उपयोगकर्ता के रूप में कार्य करने में सक्षम होंगे bar, उपयोगकर्ता के सभी विशेषाधिकार।


6
ध्यान दें कि विशिष्ट sudoersमें दिखाया गया लाइनों SLM के और mtak के जवाब से काम नहीं करते , कुछ कार्यों और दूसरों को नहीं प्रदर्शन करने की क्षमता देने के लिए यह trivially आसान निष्पादित करने के लिए उन्हें इस्तेमाल करने के रूप में किसी भी आदेश। (विस्तृत विवरण के लिए उन उत्तरों में से प्रत्येक पर टिप्पणियों को देखें।) यह उत्तर कड़ाई से गलत नहीं हो सकता है कि कभी-कभी उपयोगकर्ताओं को sudoप्रभावी रूप से प्रशासक बनाए बिना रूट के रूप में विशिष्ट कमांड चलाने के लिए उपयोग करने की अनुमति देना संभव है । लेकिन यह अधिकार पाना बहुत कठिन है।
एलियाह कगन

@ एलियाकगन राइट यह सावधानीपूर्वक सुनिश्चित करने के लिए आवश्यक होगा कि आप उन्हें एक तंत्र तक पहुंचने की अनुमति न दें जो उन्हें किसी भी आदेश को निष्पादित करने की अनुमति देगा। बेशक, यह उस भरोसे के स्तर पर निर्भर करता है जो आप दूसरे व्यक्ति में रखते हैं।

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

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

और जब से मैंने अपनी पिछली टिप्पणी में वर्णों से बाहर भाग लिया है: 3) आप स्पष्टीकरण में थोड़ा गहराई से जा सकते हैं, @EliahKagan के उल्लेखों को इंगित करते हैं।
वीडियोनौथ

0

पिछले उत्तर पूरी तरह से लागू नहीं होते हैं, यदि आप encrypt home folderउबंटू को स्थापित करते समय चिह्नित करते हैं। यह हर उपयोगकर्ता के लिए एन्क्रिप्टेड होम फोल्डर की गारंटी देता है, यहां तक ​​कि रूट उस होम फोल्डर के उपयोगकर्ता / मालिक के उचित पासवर्ड के बिना डेटा को नहीं पढ़ सकता है। आपके कॉलगर्ल को फ़ाइलों को पढ़ने के लिए अपना पासवर्ड बदलना होगा, जिस पर ध्यान दिया जाएगा।

और निश्चित रूप से लोग सही हैं, कि मूल्यवान और संवेदनशील डेटा के साथ मशीनों को साझा करना और इसके शीर्ष पर सहकर्मियों के साथ रूट एक्सेस करना, एक अच्छा विचार नहीं है।

इस डेटा के मूल्य के आधार पर, मैं आपसे स्वयं मशीन माँगने का सुझाव दूंगा।


1
यह रूट यूजर को "su -" या समान पैंतरेबाज़ी करने से नहीं रोक सकता है जैसे ही "पीड़ित" लॉग ऑन होता है और एन्क्रिप्टेड ड्राइव को माउंट किया जाता है .... वहाँ एक क्रोन स्क्रिप्ट या अन्य ट्रिगर भी हो सकता है जिसकी प्रतीक्षा है होना। इसके अलावा, एक रूट उपयोगकर्ता बाइनरी को आसानी से एन्क्रिप्ट किए गए होम डायरेक्टरी को अनलॉक करने के लिए पासवर्ड इनपुट से बाइनरी को बदल सकता है, जो क्लियरटेक्स पासवर्ड को स्टोर करता है, और प्रतीक्षा करता है। इस तरह के हमलों को रोकने वाले किसी भी सुरक्षा तंत्र को अभी भी बदला जा सकता है कुछ बाइनरी को बदलकर पीड़ित व्यक्ति उस चीज का उपयोग करेगा जो आप इसे करना चाहते हैं।
रैकैंडबॉमनमैन

5
मैं इस जवाब को एक एन्क्रिप्टेड होम डायरेक्टरी के रूप में डाउनवोट कर रहा हूं, केवल तभी मदद करता है जब आप वर्तमान में लॉग इन नहीं होते हैं। जैसे ही आप अपने डेटा में लॉग इन करते हैं, डिक्रिप्ट हो जाता है और सुडो एक्सेस के साथ अन्य उपयोगकर्ता के लिए उपलब्ध होता है।
पैंथर

2
लेकिन उन्हें क्यों होना पड़ेगा? भले ही समवर्ती लॉगिन कभी दूरस्थ रूप से नहीं किया जाता है (उदाहरण के लिए, SSH) या आभासी कंसोल के साथ, दो उपयोगकर्ताओं को एक ही समय में ग्राफिक रूप से लॉग इन नहीं किया जा सकता है , और बीच में स्विच किया जा सकता है ? मैं ल्यूबुन्टू का उपयोग करता हूं (जिसमें LXDE है) और मैं कभी भी एक साथ कई उपयोगकर्ताओं के साथ ग्राफ़िकल रूप से लॉग इन नहीं करता हूं , लेकिन मेरी धारणा यह थी कि अधिक सुविधा संपन्न डेस्कटॉप वातावरण ने कुछ वर्षों तक इसका समर्थन किया है और इसे डिफ़ॉल्ट रूप से सक्षम किया है। क्या मैं उसके बारे में गलत हूँ? वैकल्पिक रूप से, क्या स्क्रीन लॉक होने पर फाइल को रूट द्वारा डिक्रिप्ट और रीडेबल नहीं किया जाता है?
एलिया कगन

2
IRRC उपयोगकर्ता एन्क्रिप्शन कुंजी को एन्क्रिप्शन और डिक्रिप्शन प्रदान करने के लिए मशीन पर खुले रूप से संग्रहीत किया जाता है, इसलिए sudo su - <username>जिसे अन्य उपयोगकर्ताओं के पासवर्ड की आवश्यकता नहीं है, सामान्य रूप से सफलतापूर्वक अन्य उपयोगकर्ता निर्देशिका को डिक्रिप्ट करेगा। लेकिन मैं यहां गलत हो सकता हूं, इसे वीएम में परीक्षण करने की आवश्यकता है और बाद में ऐसा करेंगे। वैसे भी यह सभी मामलों में से 99% में आता है: "अगर मुझे आपकी मशीन तक भौतिक पहुंच प्राप्त है, तो आपका इलाज हो जाएगा!"।
वीडियोनौथ

1
एक सुपर उपयोगकर्ता अपने उपयोगकर्ता नाम और पासवर्ड को देखने के लिए लॉगिन प्रक्रिया को बदल सकता है। जब तक अन्य उपयोगकर्ता लॉग इन नहीं करता है और समस्या हल हो जाती है तब तक प्रतीक्षा करें।
स्टिग हेमर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.