सु उपयोगकर्ता को नहीं बदलता है लेकिन त्रुटि के साथ प्रतिक्रिया नहीं करता है


56

जबकि rootमैं suएक विशिष्ट नियमित उपयोगकर्ता के रूप में लॉग इन करना चाहूंगा । मैं दौड़ता हूं su usernameऔर तुरंत वापस रूट प्राप्त करता हूं , फिर भी रूट के रूप में। कोई त्रुटि नहीं दी गई है। मैं पुराने के बारे में जानता हूं "जिस उपयोगकर्ता को आप करने की कोशिश कर रहे हैं, उस फ़ोल्डर की अनुमति नहीं है जो आप वर्तमान में" समस्या में हैं, और इस परिदृश्य में ऐसा नहीं है। इसके अलावा, कोई त्रुटि प्रदर्शित नहीं होती है, जो कि हमेशा होती है (जहां तक ​​मुझे पता है) जब उस विशेष अनुमति समस्या का सामना किया जाता है।

मैंने su - usernameउसी प्रभाव के साथ कोशिश की है। कमांड को संसाधित किया जाता है, कोई त्रुटि नहीं देखी जाती है, और मुझे तुरंत वापस संकेत मिलता है।

इस व्यवहार के कारण क्या हो सकता है? मैं इसका निवारण कैसे कर सकता हूं?


8
उपयोगकर्ता के पास क्या शेल है? क्या यह है /bin/false?
camh

4
आपको वास्तव में sudo -u username -s(या -i) BTW का उपयोग करना चाहिए ।
मॉर्गन

2
@camh facepalm कि यह किया गया था। मैंने शपथ ली कि मैंने /etc/passwdकल रात जाँच की और ऐसा नहीं था! =) क्या आप इसे उत्तर के रूप में रख सकते हैं? मैं इसे स्वीकार करूंगा।
वेस्ले

जवाबों:


68

जाँचें कि उपयोगकर्ता के पास क्या शेल है /etc/passwd। यदि शेल /bin/false(लॉगिन को हटाने के लिए एक सामान्य शेल) है, तो आप उस व्यवहार को देखेंगे जिसका आप वर्णन करते हैं। वैकल्पिक रूप से, यह कुछ अन्य तत्काल-समाप्ति कार्यक्रम हो सकता है जो समान प्रभावी परिणाम देता है।


2
वह यह था। मैं कसम खाता हूँ मैं पहले देखा! =)
वेस्ले

25
और अगर आपको उपयोगकर्ता के तहत कुछ डिबग करने की आवश्यकता है जो /bin/falseकि इसके शेल के रूप में है, तो आप इसके साथ कर सकते हैं su - user -s /bin/sh
मार्की ५५५

6

मैं सुझाव दूंगा कि प्रक्रिया विफल हो रही है, यह देखने के लिए सु प्रक्रिया पर स्ट्रेस का उपयोग करें।

strace su donaldduck

आप के माध्यम से हल करने के लिए उत्पादन के बहुत से देना चाहिए, लेकिन वहाँ कुछ जहाँ समस्या हो रही है संकेत करना चाहिए।


1
मूर्ख मार्कडाउन ....
मैगेलन

4

आपको /etc/passwdसंरक्षक होने की इच्छा के बिना शेल को चेक करना चाहिए , और whoamiचलाने के बाद आउटपुट की जांच करनी चाहिए su


1
यकीन नहीं है कि क्यों इसे संरक्षण माना जाएगा, क्योंकि मैं निश्चित रूप से इसे इस तरह से नहीं ले सकता हूं। मेरा मतलब है कि यदि आप चाहें तो मैं कर सकता हूं , लेकिन यह मेरा पहला झुकाव नहीं होगा। =) वैसे भी, हाँ, मैं यह बताना भूल गया कि मैंने यह सुनिश्चित करने के लिए कि मैं वह था जो मैंने सोचा था कि मैं था, और मैं अभी भी था rootऔर उस उपयोगकर्ता को नहीं जो मैं स्विच करना चाह रहा था।
वेस्ले

0

अपने सिस्टम लॉग की जाँच करें: sudo का उपयोग करके सभी क्रियाओं को लॉग करना चाहिए। इसलिए यदि कोई समस्या है, तो इसे लिखा जाना चाहिए।

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