कैसे Debian में सभी उपयोगकर्ताओं के लिए PATH सेट करें?


25

मेरे पास एक डेबियन लेनी सर्वर है, और मैं चाहूंगा कि www-dataउपयोगकर्ता को /usr/local/zend/binइसके PATH में होना चाहिए, इसलिए यह क्रोन में एक स्क्रिप्ट निष्पादित कर सकता है www-data

मैं /usr/local/zend/binPATH में कैसे जोड़ूं , ताकि www-dataफाइलों को निष्पादित किया जा सके /usr/local/zend/bin?

जवाबों:


40

पहला स्थान जहां PATH सेट है /etc/login.defs। रूट के लिए एक सेटिंग है और बाकी सभी के लिए एक सेटिंग है।

एक अन्य स्थान जहाँ आप पर्यावरण चर को परिभाषित कर सकते हैं /etc/environment। ये सेटिंग्स सभी पर लागू होंगी (आप वहां मनमाना शेल कोड नहीं लिख सकते हैं)।

एक तीसरा स्थान जहां आप पर्यावरण चर को परिभाषित कर सकते हैं /etc/profile। वहां आप मनमाना शेल कोड लिख सकते हैं। यदि आप एक उपयोगकर्ता-विशिष्ट सेटिंग चाहते हैं, तो संबंधित प्रति-उपयोगकर्ता फ़ाइल है ~www-data/.profile। लेकिन यह केवल इंटरेक्टिव लॉगिन को सांत्वना देने के लिए लागू होगा; विशेष रूप से यह क्रोन नौकरियों पर लागू नहीं होगा जब तक कि वे स्पष्ट रूप से स्रोत न हों /etc/profile

यदि आपको केवल PATHउपयोगकर्ता क्रॉस्टैब में उस सेटिंग की आवश्यकता है , तो आप इसे क्रॉस्टैब की शुरुआत में लिख सकते हैं। ध्यान दें कि आपको पूरी सूची ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin) की आवश्यकता है, आप एक चर प्रतिस्थापन का उपयोग नहीं कर सकते हैं ( PATH=$PATH:/usr/local/zend/binवहां काम नहीं करेंगे)।


---- आप कैसे पुनः लोड करते हैं उदा /etc/login.defs?
मीकाल्विन

@MrCalvin लॉग-इन करके।
गिल्स

1
क्या कोई कारण /etc/login.defsनजरअंदाज किया जाएगा? मैंने अपडेट किया है ENV_PATHऔर .bashrc लोड होने पर $ PATH की गूंज है। कहीं बीच में यह या तो बदला जा रहा है, या यह अपडेट नहीं है क्योंकि यह पुराने मूल्य को प्रदर्शित कर रहा है। मैंने कंप्यूटर को पुनः आरंभ किया है - इसलिए ऐसा नहीं है।
अन्नान

@ अननान संभावना है कि इसे कहीं बदला जा रहा है। ध्यान दें कि मेरा जवाब सिस्टमड से पहले 2010 में लिखा गया था; यदि आपका सिस्टम systemd का उपयोग करता है, तो इसके PATHअतिरिक्त या अन्य तरीकों के प्रतिस्थापन में परिभाषित करने का अपना तरीका हो सकता है।
गिलेस एसओ- बुराई को रोकना '26

8

रूट, एडिट /etc/profileया को छोड़कर सभी उपयोगकर्ताओं के लिए एक पथ सेट करने के लिए /etc/enviroment। रूट या एक व्यक्तिगत उपयोगकर्ता के लिए क्रमशः अपने .bashrcया .bash_profileअपने घर निर्देशिका में संपादित करें । को जोड़ें PATH=$PATH:/new/location/


1

सभी उपयोगकर्ताओं के लिए बस वर्जन सेट करने के लिए profile, अपने बोझ को कम करने के लिए , आप अपनी छोटी स्क्रिप्ट को /etc/profile.dउस तरह निर्देशिका में जोड़ सकते हैं :

echo 'PATH="/usr/local/zend/bin:$PATH"' > /etc/profile.d/zend_path.sh

फिर रिलॉन्ग किया।


1

नैनो / आदि / प्रोफ़ाइल

इन लाइन को फाइल के अंत में जोड़ें:

निर्यात JAVA_HOME = / ऑप्ट / jdk-12.0.1

MAVEN_HOME = / opt / apache-maven-3.6.1 निर्यात करें

निर्यात M2_HOME = / opt / apache-maven-3.6.1

निर्यात एम 2 = / ऑप्ट / अपाचे-मावेन-3.6.1 / बिन

PATH = $ JAVA_HOME / bin: $ M2: $ PATH निर्यात करें

फ़ाइल सहेजें। नीचे दिए गए कमांड को पुनरारंभ या उपयोग करें:

स्रोत / आदि / प्रोफ़ाइल

अपनी सेटिंग्स का परीक्षण करें:

इको $ JAVA_HOME

javac - विसर्जन

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