मैं एक निर्देशिका में सीडी क्यों नहीं कर सकता?


14

मैं Ubuntu 10.04.2 LTS चला रहा हूं। मैं निर्देशिका cdमें क्यों नहीं कर सकता /var/www?

david@ubuntu:/var$ pwd
/var

david@ubuntu:/var$ ls -l
drwxrwxr-- 13 root root  4096 2011-02-26 21:53 www

david@ubuntu:/var$ cd www
-bash: cd: www: Permission denied

david@ubuntu:/var$ sudo cd www
sudo: cd: command not found

2
cdमें निर्मित शेल का sudoउपयोग नहीं किया जा सकता है।
अगली सूचना तक रोक दिया गया।

और यहां तक ​​कि अगर इसका इस्तेमाल किया जा सकता है, तो यह व्यर्थ होगा। आम तौर पर किसी अन्य प्रक्रिया को अपनी कार्यशील निर्देशिका को बदलने का कोई तरीका नहीं है, इसलिए cdनिष्पादन योग्य जो कुछ भी कर सकता है, वह शेल प्रक्रिया को नहीं बदल सकता है।
डेविड श्वार्ट्ज

जवाबों:


13

आपको एक निर्देशिका में सीडी की अनुमति की आवश्यकता है।

sudo chmod o+x /var/www

3
स्पष्टीकरण का एक छोटा सा: दोनों रूट (उपयोगकर्ता) और रूट (समूह) के ऊपर के उदाहरण में निष्पादित बिट सेट है। तो समूह रूट के सदस्य www में cd कर सकते हैं। उपयोगकर्ता david cd नहीं कर सकता क्योंकि वह रूट समूह के सदस्यों में शामिल नहीं है। आप निरीक्षण कर सकते हैं कि / etc / group
adamo

1

निर्देशिका में प्रवेश करने से '' दूसरों '' को प्रतिबंधित करने का कोई कारण है, नहीं? तो मैं उस निर्देशिका में प्रवेश करने के लिए रूट एक्सेस प्राप्त करने का सुझाव दूंगा, कुछ सामान करूंगा, और इसे छोड़ दूंगा, सूडो शेल को छोड़ कर।

sudo -i 
cd /var/www
# do your thing
cd -
exit

1

बस थोड़ी और जानकारी के लिए, यह आपके सिस्टम के लिए एक वेब उपयोगकर्ता और समूह बनाने के लिए बुद्धिमान होगा और रूट के रूप में चलने वाली सेवाएं नहीं होंगी। फिर आप उस समूह में उपयोगकर्ताओं को जोड़ सकते हैं, यदि आवश्यक हो और रूट विशेषाधिकार नहीं दे रहे हों।

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