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/
में है $PATH
sudo वातावरण के लिए। (या यह करता है? क्या मैं $PATH
सुपर उपयोगकर्ता पर्यावरण के लिए सामग्री देख रहा हूं , या उपयोगकर्ता $PATH
के पर्यावरण के लिए जिसे कहा जाता है sudo
? क्या CentOS कमांड के साथ चलने के लिए एक नया वातावरण बनाता है sudo
, या क्या यह केवल कॉलर के वातावरण में कमांड चलाता है? )
रनिंग sudo ls -la /usr/local/bin/executable
के लिए एक सूची रिटर्न executable
में /usr/local/bin/
स्वामित्व के साथ lrwxrwxrwx. 1 root root
। (क्या ln --symbolic
वास्तव में डिफ़ॉल्ट रूप से वैश्विक रूप से संपादन योग्य लिंक बनाता है? यह नहीं है - एक भयानक विचार?) मेरी समझ यह है कि इस शो को चलाने में सक्षम sudo
होना चाहिए executable
।
मैं क्या खो रहा हूँ?