CentOS 7 पर, मैंने कुछ निष्पादनों को स्थापित किया /opt/app-version/bin/executable। उन निष्पादनों में निम्नलिखित अनुमतियाँ हैं:
rwxrwxr-x. 500 500
मार्ग में प्रत्येक निर्देशिका का स्वामित्व /opt/app-version/bin/है - 500 500संदर्भ /opt, जो है root root।
मेरा पहला सवाल: यह 500 500व्यवसाय क्या है ? यह देखते हुए कि मैंने sudoमालिक और समूह का उपयोग करके , निष्पादन योग्य वस्तुओं को स्थापित नहीं किया है root?
मैंने निष्पादन योग्यों को प्रतीकात्मक लिंक बनाने के लिए निम्नलिखित कमांड को रूट के रूप में चलाया है /usr/local/bin/:
ln /opt/app-version/bin/executable /usr/local/bin/executable --symbolic
मैं executableकमांड लाइन से एक नियमित उपयोगकर्ता के रूप में चलाने में सक्षम हूं , लेकिन एक नियमित उपयोगकर्ता के रूप में उपयोग नहीं कर रहा हूं sudo।
रनिंग sudo executableरिटर्न sh: executable: command not found।
चल रहा है sudo echo $PATHपता चलता है कि /usr/local/bin/में है $PATHsudo वातावरण के लिए। (या यह करता है? क्या मैं $PATHसुपर उपयोगकर्ता पर्यावरण के लिए सामग्री देख रहा हूं , या उपयोगकर्ता $PATHके पर्यावरण के लिए जिसे कहा जाता है sudo? क्या CentOS कमांड के साथ चलने के लिए एक नया वातावरण बनाता है sudo, या क्या यह केवल कॉलर के वातावरण में कमांड चलाता है? )
रनिंग sudo ls -la /usr/local/bin/executableके लिए एक सूची रिटर्न executableमें /usr/local/bin/स्वामित्व के साथ lrwxrwxrwx. 1 root root। (क्या ln --symbolicवास्तव में डिफ़ॉल्ट रूप से वैश्विक रूप से संपादन योग्य लिंक बनाता है? यह नहीं है - एक भयानक विचार?) मेरी समझ यह है कि इस शो को चलाने में सक्षम sudo होना चाहिए executable।
मैं क्या खो रहा हूँ?