ฉันมีเซิร์ฟเวอร์ 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 - รุ่น