ทำไม/tmp
symlink ถึง/private/tmp
บน Mac OS X กล่าวอีกนัยหนึ่งทำไมไม่/tmp
เพียงแค่ไดเรกทอรีปกติเช่นบน Linux หรือ BSD ฉันเข้าใจว่ามันใช้งานได้อย่างไรและฉันก็ไม่รังเกียจฉันแค่สนใจในเหตุผลทางประวัติศาสตร์
ทำไม/tmp
symlink ถึง/private/tmp
บน Mac OS X กล่าวอีกนัยหนึ่งทำไมไม่/tmp
เพียงแค่ไดเรกทอรีปกติเช่นบน Linux หรือ BSD ฉันเข้าใจว่ามันใช้งานได้อย่างไรและฉันก็ไม่รังเกียจฉันแค่สนใจในเหตุผลทางประวัติศาสตร์
คำตอบ:
AIUI เป็นโฮลดิ้งจากNextStep (ซึ่งใช้ OS X เป็นพื้นฐาน) และ NextStep ทำเพื่อสนับสนุน NetBooting แนวคิดก็คือคุณสามารถบูตจากไดรฟ์ข้อมูลที่โฮสต์บนเครือข่าย (อาจเป็นแบบอ่านอย่างเดียวและใช้ร่วมกับคอมพิวเตอร์เครื่องอื่น ๆ ) และในขั้นตอนการบู๊ตจะทำให้ไดรฟ์ข้อมูลภายในเครื่อง (เขียนได้) บน / ส่วนตัว ดังที่ได้กล่าวถึงการอนุญาตให้แก้ไขรันไทม์ของ / var และ / tmp นี้รวมถึงการตั้งค่าต่อคอมพิวเตอร์ใน / etc
ไม่จำเป็นอีกต่อไปเนื่องจากระบบ NetBoot ปัจจุบันของ Apple ใช้อิมเมจเงาดิสก์เพื่อจัดเก็บการเปลี่ยนแปลงที่ใดก็ได้บนโวลุ่มการบูต แต่บางโปรแกรม / docs / etc ตอนนี้ถือว่าไฟล์อยู่ภายใต้ / private ดังนั้นมันจึงเป็นปัญหามากเกินไปที่จะสลับมันกลับ ...
ฉันสงสัยในสิ่งเดียวกันเสมอ ฉันไม่พบเอกสารใด ๆ ที่จะสนับสนุน แต่โดยทั่วไปจะใช้รูปแบบนี้เพื่อให้ง่ายต่อการจัดเก็บไฟล์ในโวลุ่มอื่น (เช่นฮาร์ดไดรฟ์) สิ่งนี้อนุญาตให้ไดร์ฟถูกเมาท์ (เช่นต่อพ่วง) ในระบบไฟล์ได้ในที่เดียว ตัวอย่างเช่นเมื่อไดรฟ์ที่มีการติดตั้งที่/private
แล้วโฟลเดอร์/etc
, /tmp
และ/var
จะแล้วทั้งหมดตั้งอยู่บนไดรฟ์อื่น ๆ ที่
สิ่งที่ฉันไม่สามารถพูดได้คือสาเหตุที่สิ่งนี้มีประโยชน์ เป็นมูลค่า noting แต่ที่ทั้งสามโฟลเดอร์ที่มี "ข้อมูล" ไฟล์เช่นการกำหนดค่าชั่วคราวบันทึกชั่วคราวและไฟล์ฐานข้อมูลมากกว่ารหัสปฏิบัติการที่มีอยู่ใน/bin
, /sbin
และ/usr
โฟลเดอร์
ไม่แน่ใจเกี่ยวกับเหตุผลทางประวัติศาสตร์ แต่ OS X "จัดโครงสร้าง" โครงสร้าง Unix ทั่วไปอยู่เสมอ /tmp
ไม่ได้เป็นเพียงสิ่งเดียวที่จะไป/private
ก็ยังมีและ/etc
/var
บางทีบางคนที่มีพื้นหลัง OS X มากขึ้นอาจมีบางสิ่งที่สมเหตุสมผลมากกว่า
/tmp
เป็นสัญลักษณ์ lynk /private/etc
เพื่อรักษาระบบไฟล์ที่แยก 2 อย่างชัดเจน:
/
ซึ่งสามารถติดตั้งเป็นแบบอ่านอย่างเดียวเพื่อป้องกันการแก้ไขโดยไม่ตั้งใจหรือไม่พึงประสงค์และเพื่อป้องกันการถูกเติมด้วยไฟล์ที่เพิ่มขึ้นเสมอ (บันทึกและไฟล์ชั่วคราว)
/private
ซึ่งสามารถเมาท์เป็นการอ่าน - เขียนและเก็บไดเร็กทอรีใด ๆ ที่มีไฟล์ที่แก้ไขได้
หากคุณดู/
คุณจะสังเกตเห็น 3 ไดเรกทอรีซึ่งเป็นลิงก์สัญลักษณ์ที่คล้ายกันด้วยเหตุผลเดียวกันนี้:
cd /
ls -al | grep '> private'
การแยกการเข้าถึงนี้ระหว่างระบบไฟล์แบบอ่าน - เขียนและแบบอ่านอย่างเดียวไม่ได้ใช้จริง ๆ (ใน MacOS X) แต่ทุกอย่างอยู่ในตำแหน่งเพื่อให้เกิดการแยกการรักษาความปลอดภัยนี้
ผู้ดูแลระบบบางคนกำลังบังคับให้แยกการรักษาความปลอดภัยนี้โดยการกำหนด/private
ระบบไฟล์ที่เฉพาะเจาะจงด้วยขนาดที่เหมาะสมและตัวเลือกการติดตั้งที่เหมาะสม (ที่สะดุดตาที่สุดnosuid
)