ฉันมีเซิร์ฟเวอร์ Debian Lenny และฉันต้องการให้www-dataผู้ใช้มี/usr/local/zend/binใน PATH ดังนั้นจึงสามารถเรียกใช้สคริปต์ใน cron www-dataได้
ฉันจะเพิ่ม/usr/local/zend/binเส้นทางเพื่อให้www-dataสามารถ execuate ไฟล์ใน/usr/local/zend/bin?
ฉันมีเซิร์ฟเวอร์ Debian Lenny และฉันต้องการให้www-dataผู้ใช้มี/usr/local/zend/binใน PATH ดังนั้นจึงสามารถเรียกใช้สคริปต์ใน cron www-dataได้
ฉันจะเพิ่ม/usr/local/zend/binเส้นทางเพื่อให้www-dataสามารถ execuate ไฟล์ใน/usr/local/zend/bin?
คำตอบ:
/etc/login.defsสถานที่แรกที่มีการตั้งค่าเส้นทางคือ มีการตั้งค่าสำหรับรูทและการตั้งค่าสำหรับคนอื่น ๆ
อีกที่หนึ่งที่คุณสามารถกำหนดตัวแปรสภาพแวดล้อม/etc/environmentได้ การตั้งค่าเหล่านี้จะมีผลกับทุกคน (คุณไม่สามารถเขียนรหัสเชลล์โดยพลการได้)
สถานที่ที่สามที่คุณสามารถกำหนดตัวแปรสภาพแวดล้อม/etc/profileได้ มีคุณสามารถเขียนรหัสเปลือกโดยพลการ ~www-data/.profileหากคุณต้องการการตั้งค่าเฉพาะของผู้ใช้มีความสอดคล้องกันไฟล์ต่อผู้ใช้ แต่สิ่งนี้จะใช้กับการล็อกอินคอนโซลแบบโต้ตอบเท่านั้น โดยเฉพาะอย่างยิ่งมันจะไม่นำไปใช้กับงาน cron /etc/profileจนกว่าพวกเขาอย่างชัดเจนแหล่งที่มา
หากคุณต้องการเพียงPATHการตั้งค่านั้นใน crontab ผู้ใช้คุณสามารถเขียนได้ที่จุดเริ่มต้นของ crontab โปรดทราบว่าคุณต้องการรายการทั้งหมด ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin) คุณไม่สามารถใช้การทดแทนตัวแปร ( PATH=$PATH:/usr/local/zend/binจะไม่ทำงานที่นั่น)
/etc/login.defsจะถูกเพิกเฉย? ฉันได้อัปเดตENV_PATHและกำลังสะท้อน $ PATH เมื่อโหลด. bashrc บางที่ตรงกลางมันอาจมีการเปลี่ยนแปลงหรือไม่ได้รับการปรับปรุงตามที่แสดงค่าเก่า ฉันรีสตาร์ทคอมพิวเตอร์ - ดังนั้นจึงไม่เป็นเช่นนั้น
PATHเพิ่มเติมหรือทดแทนวิธีอื่น
การกำหนดเส้นทางสำหรับผู้ใช้ทั้งหมดยกเว้นรากแก้ไขหรือ/etc/profile /etc/enviromentสำหรับรูทหรือผู้ใช้แต่ละรายให้แก้ไข.bashrcหรือ.bash_profileในโฮมไดเร็กตอรี่ตามลำดับ PATH=$PATH:/new/location/เพิ่ม
ในการตั้งค่า var สำหรับผู้ใช้ทุกคนโดยไม่ต้องเป็นภาระprofileคุณสามารถเพิ่มสคริปต์ขนาดเล็กของคุณเองลงใน/etc/profile.dไดเรกทอรีดังนี้
echo 'PATH="/usr/local/zend/bin:$PATH"' > /etc/profile.d/zend_path.sh
จากนั้น relogin
nano / etc / profile
เพิ่มบรรทัดเหล่านี้ในตอนท้ายของไฟล์:
ส่งออก JAVA_HOME = / opt / jdk-12.0.1
ส่งออก MAVEN_HOME = / opt / apache-maven-3.6.1
ส่งออก M2_HOME = / opt / apache-maven-3.6.1
ส่งออก M2 = / opt / apache-maven-3.6.1 / bin
ส่งออก PATH = $ JAVA_HOME / bin: $ M2: $ PATH
บันทึกไฟล์ รีสตาร์ทหรือใช้คำสั่งด้านล่าง:
source / etc / profile
ทดสอบการตั้งค่าของคุณ:
echo $ JAVA_HOME
javac - รุ่น