मुझे martinउपयोगकर्ता martin-testको पासवर्ड के बिना उपयोगकर्ता पर स्विच करने की अनुमति देने की आवश्यकता है
su - martin-test
मुझे लगता है कि इसे कॉन्फ़िगर किया जा सकता है /etc/pam.d/su। उस फ़ाइल में कुछ पंक्तियाँ पहले से ही हैं जो अनकम्प्रेस्ड हो सकती हैं। हालाँकि, मुझे उपयोगकर्ता martinको समूह में जोड़ने का विचार पसंद नहीं है wheel। मैं martinस्विच करने में सक्षम होने की तुलना में किसी भी अधिक विशेषाधिकार नहीं देना चाहता martin-test। मैं भी उपयोग नहीं करना चाहता sudo।
उपयोगकर्ता के विशेषाधिकारों को martinन्यूनतम रखते हुए, इसे करने का सबसे अच्छा तरीका क्या होगा ?
sudoसिर्फ इस वजह से स्थापित नहीं करना चाहता (मैं आम तौर पर उपयोग sudoनहीं करता हूं और मुझे विशेष रूप से पसंद नहीं है)। और मुझे लगता है कि इसका उपयोग pamकरना क्लीनर और अधिक पारदर्शी तरीका है।
sudoइसके लिए था। इसके अलावा सामान्य रूप से इसका उपयोग नहीं करने पर, आपत्तियां क्या हैं?
pam, तो मैं उस पर प्राथमिकता दूंगा sudo। यदि sudoएकमात्र संभावना है, तो इससे भी ठीक है। मेरी आपत्तियां sudoज्यादातर वैचारिक हैं: मुझे प्रशासन के साथ उपयोगकर्ता का विचार पसंद नहीं है sudo foo। जब मुझे प्रशासन करने की आवश्यकता होती है, मैं रूट के रूप में लॉग इन करता हूं। अन्यथा मैं उपयोगकर्ता के रूप में लॉग इन करता हूं, इन दो अलग-अलग भूमिकाओं को मिश्रित नहीं किया जाना चाहिए। इसके अलावा, मेरे पास पहले से ही pamबुनियादी ढांचा स्थापित है। मैं एक और setuidकार्यक्रम स्थापित नहीं करना चाहता, जो संभवतः सुरक्षा बग का परिचय दे सके।
sudo fooविशिष्ट आदेशों के लिए नहीं करना है । सूडो के पास sudo -sएक शेल लॉन्च होगा। सुडो एक बहुत ही सामान्य उपयोगिता है जिसका अर्थ है कि सुरक्षा को पूरी तरह से वीटो किया गया है, कुछ पैम चालबाजी की तुलना में कहीं अधिक होगा। मैं यह भी तर्क दूंगा कि विशिष्ट कमांड लॉन्च करने की तुलना में कार्यों के लिए एक रूट शेल प्राप्त करना अधिक असुरक्षित है। जब आप एक शेल लॉन्च करते हैं, तो आप सब कुछ रूट के रूप में चलाते हैं । यदि उन चीजों में से किसी एक (जैसे एक साधारण ls) में सुरक्षा भेद्यता है, तो आपने अभी-अभी एक सुरक्षा छेद खोला है।
sudoउदाहरण के लिए ऐसा करना आसान हैsudo -u martin-test -i। क्या कोई कारण है जिसके बारे में आप विशेष रूप से पूछ रहे हैंsu?