मैं एक अन्य गैर-रूट उपयोगकर्ता के रूप में एक इंटरैक्टिव शेल कैसे प्राप्त कर सकता हूं?


14

मैं Ubuntu 10.04 LTS सर्वर का उपयोग कर रहा हूं, डिफ़ॉल्ट सुरक्षा मॉडल (रूट लॉक किया गया है, sudoविशेषाधिकारों का उपयोग करके )। sudo -iजब भी मुझे उन्नत विशेषाधिकार के साथ आदेशों की एक श्रृंखला को चलाने की आवश्यकता होगी, या जब मुझे रूट-ओनली विशेषाधिकारों वाली निर्देशिकाओं के बारे में अफवाह करने की आवश्यकता होगी, तो मैं कभी-कभी इसका उपयोग करने का आनंद लेता हूं।

कभी-कभी, जब अपने स्वयं के गैर-विशेषाधिकार प्राप्त सिस्टम खाते ( adduser --system --group --no-create-home --disabled-login some-daemon-user) के रूप में चलेंगे सॉफ्टवेयर स्थापित करते हैं, तो मुझे लगता है कि मुझे अपने या रूट के बजाय उस उपयोगकर्ता के रूप में कमांड का एक क्रम चलाने की आवश्यकता है । मैंने उपयोग करने की कोशिश की है sudo -i -u some-daemon-user, लेकिन यह 1बिना किसी त्रुटि संदेश के केवल एक स्थिति देता है ।

मैं देख लिया है syslog, messages, auth, और debugलॉग में फ़ाइलों /var/logऔर उनमें से कोई कोई संदेश है कि संदर्भ शामिल sudoया विचाराधीन खाता।

तो, क्या यह संभव है कि एक और नॉन-रूट यूजर बनें, सूडो-स्टाइल बिना पासवर्ड सेट किए और लॉग इन (उनके रूप में) किए बिना? क्या मेरा सिस्टम किसी तरह से 'टूट गया' है या मैं सिर्फ गलत कर रहा हूं?

जवाबों:


14

अहम् .. समस्या यह है कि उन उपयोगकर्ताओं के मानक शेल सामान्य रूप से सेट होते हैं /bin/falseऔर सुरक्षा कारणों से आपको इसे नहीं बदलना चाहिए। लेकिन आप अभी भी उदाहरण के लिए दौड़ सकते हैं:sudo -u www-data /bin/sh


1
क्या आप "सुरक्षा कारणों" पर अधिक जानकारी दे सकते हैं? क्या यह कोई भिन्न है यदि मैं sudoउपयोगकर्ता के रूप में शेल चलाने के लिए उपयोग करता हूं , जैसा कि फ्लोरियन ऊपर बताता है?
कैल्रियन

1
इसका कारण यह है, कि कोई भी हमलावर सिस्टम प्रोग्राम के रूप में लॉगिन को पूरा करता है, अर्थात लॉगिन प्रोग्राम में बग का दोहन करके, एक वैध शेल के साथ समाप्त होने की संभावना कम है। तो, आपको सेटिंग छोड़ देनी चाहिए क्योंकि यह / etc / passwd फ़ाइल में है, भले ही यह केवल अच्छे कर्म के लिए हो। सूडो के माध्यम से सीधे शेल को आमंत्रित करना इस से संबंधित नहीं है।
पॉल हेन्सश

इसलिए समस्या passwdफ़ाइल में एक शेल सेट कर रही है , वास्तव में उपयोगकर्ता के रूप में शेल नहीं चल रहा है। पकड़ लिया!
कालरात्रि

9

sudo -iलक्ष्य उपयोगकर्ता के पासवर्ड डेटाबेस प्रविष्टि द्वारा निर्दिष्ट शेल चलाता है, जो /bin/falseआपके सिस्टम उपयोगकर्ता के लिए है।

उपयोग

 sudo -u some-daemon-user bash

या

sudo -u some-daemon-user -H bash

यदि आप लक्ष्य उपयोगकर्ता के लिए $ HOME परिवेश चर सेट करना चाहते हैं।

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