GNU / Linux में "गुलाम" उपयोगकर्ता खाते


1

कैसे एक उपयोगकर्ता खाते को rootकिसी अन्य उपयोगकर्ता खाते के लिए पसंद किया जाए, उदाहरण के लिए, पढ़ने, लिखने में सक्षम होने के लिए, यह सभी फाइलें हैं, इस खाते से मास्टर और बैक करने के लिए चाउट करें, मारें / ptrace करें यह सभी प्रक्रियाएं हैं और सभी सोच rootसकते हैं, लेकिन केवल उस विशेष slaveखाते तक ही सीमित है ?

अब मैं इसे "मास्टर" उपयोगकर्ता को अनुमति देकर sudo -u slaveuserऔर सेटिंग करके इसका अनुकरण कर रहा हूं setfacl -dRm u:masteruser:rwx ~slaveuser

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

यदि इसे कुछ सरल कर्नेल पैच की आवश्यकता है तो यह ठीक है।

PS टैग "selinux" का मतलब यह नहीं है कि मैं SELinux का उपयोग करके इसे हल करना चाहता हूं, यह कुछ हद तक संबंधित है।


प्रति से नहीं। SELinux देखें
इग्नासियो वाज़क्वेज़-अब्राम्स

@Ignacio Vazquez-Abrams, क्या SELinux बस ऐसा कर सकता है (अन्य चीजों के लिए घुसपैठ के बिना या इसके जटिल कॉन्फ़िगरेशन फ़ाइलों से निपटने के लिए)?
वि।

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

यह SELinux के साथ तुच्छ नहीं होगा। यह बस आपकी योजना को काम करने की संभावना प्रदान करता है।
इग्नासियो वाज़क्वेज़-अब्राम्स

@ खराब टिप्पणी। मास्टर उपयोगकर्ता पहले से ही "sudo" कर सकता है (रूट करने के लिए नहीं, लेकिन खातों को स्लेट करने के लिए)। कार्यक्रम पहले से ही अलग-अलग गैर-रूट खाते चला रहे हैं। लेकिन उन सभी पर शासन करने के लिए एक खाता होना चाहिए। मैं नहीं चाहता कि यह "एक खाता" जड़ हो, क्योंकि मैं वहां भी कुछ कार्यक्रम चलाता हूं।
वि।

जवाबों:


0

पारंपरिक यूनिक्स सुरक्षा मॉडल केवल वह नहीं करता जो आप चाहते हैं। rootसब कुछ कर सकते हैं, और अन्य सभी उपयोगकर्ताओं को समान बनाया जाता है। उपयोगकर्ताओं के बीच जटिल संबंधों से बहुत काम की आवश्यकता होती है root

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

आप प्रत्येक एप्लिकेशन को एक अलग हल्के आभासी मशीन में भी चला सकते हैं (VServer शायद इसके लिए सबसे उपयुक्त है)। OLPC (प्रति बच्चा एक लैपटॉप) परियोजना ने कोशिश की, और प्रदर्शन को संतोषजनक पाया लेकिन बाद में इस विचार को त्याग दिया, मुझे नहीं पता कि क्यों (शायद अनुप्रयोगों के बीच डेटा साझा करना बहुत बोझिल था?)।

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