ฉันได้ลองใช้ gnome-keyring ในเซิร์ฟเวอร์ที่ไม่มีส่วนหัวแล้ว แต่มีข้อผิดพลาด ฉันจึงกลับไปใช้ตัวแปรสภาพแวดล้อม https://unix.stackexchange.com/questions/690295/error-secret-tool-cannot-create-an-item-in-a-locked-collection
ฉันลองใช้ .env และ .profile แต่ Bash ไม่ได้เรียกอันหลัง แต่ใช้ .bash_profile การตั้งค่าตัวแปร PATH ใน /etc/environment กับ .profile
ฉันไม่แน่ใจว่าจะใช้ได้กับสคริปต์หรือยูทิลิตีเมื่อฉันไม่ได้เข้าสู่ระบบเพื่อรัน แม้ว่ามันจะรันด้วยรูท privs ก็ตาม ตัวอย่างเช่น สคริปต์ cron.daily ที่ส่งอีเมลรายงาน ฉันต้องการส่ง $EMAIL และส่งผ่านตัวแปรยูทิลิตี้อื่นๆ เช่น apticron เพื่อความปลอดภัยและง่ายต่อการเปลี่ยนแปลง
คำตอบนี้แนะนำให้ใช้ env var ชี้ไปที่ไฟล์ปรับแต่ง ซึ่งฉันคิดว่าฉันสามารถตั้งค่ากลุ่มความเป็นเจ้าของและอนุญาตได้ แต่มีวิธีธรรมดากว่านี้ไหม? https://stackoverflow.com/a/26030125/4240654
แก้ไข: ฉันเพิ่งทดสอบสคริปต์หลังจากตั้งค่า vars เป็น .bashrc และดูเหมือนว่าจะใช้งานได้ ยังคงทดสอบยูทิลิตี้เช่น Apticron ... ซึ่งปรากฎว่าไม่ยอมรับตัวแปรเช่น EMAIL=$EMAIL
ใน /etc/apticron/apticron.conf อาจเป็นเพราะไม่ได้ทำงานใน root ENV ตกลงจริง ๆ แล้วทั้งคู่ใช้งานได้ทันทีหลังจากแสดงความคิดเห็น EMAIL = "ราก"
ใน /usr/lib/apticron/apticron.conf (ซึ่งไม่จำเป็นต้องเกิดขึ้นกับการใช้อีเมลข้อความธรรมดา ดังนั้นจึงไม่สอดคล้องกัน และสำหรับ Apticron เท่านั้น) การใช้ไฟล์และ EMAIL=$(แมว .env)
ยังไม่ทำงานกับ Apticron
การแก้ปัญหาที่เป็นไปได้:
สองรายการแรกจำเป็นต้องเปิดไฟล์หรือร้านค้า และเปิดทิ้งไว้บนเซิร์ฟเวอร์ VM ซึ่งจะเหมือนกับการใช้ไฟล์ที่จำกัดการเข้าถึง เช่น .env
.bashrc นั้นอนุญาต 644 โดยค่าเริ่มต้นดังนั้นผู้ใช้รายอื่นจึงอ่านได้แม้ว่า /root dir จะเป็น 700 ดังนั้นจึงไม่สามารถข้ามผ่านได้ ที่สำคัญกว่านั้น env vars แม้ตั้งค่าโดยรูทก็สามารถเข้าถึงได้โดยผู้ใช้ทุกคน .. อาจเป็นเพราะกระบวนการลูกทั้งหมดสืบทอด parent env vars Postfix เก็บรหัสผ่านไว้ในไฟล์แยกต่างหากโดยมี 600 perms ที่เป็นของ root จากนั้นแฮชเพื่อใช้ในหน่วยความจำ