การอนุญาตไดเรกทอรี macOS Mojave


10

MacOS Mojave ได้เพิ่มเอฟเฟกต์ของ SIP ลงในโฮมไดเรกทอรีของผู้ใช้ โดยค่าเริ่มต้นการเข้าถึงถูกปฏิเสธไปยังไดเรกทอรีต่างๆในไดเรกทอรีบ้านของผู้ใช้ ตัวอย่างบางส่วนของไดเรกทอรีเหล่านี้เป็นไปตาม

~/Library/Messages
~/Library/Mail
~/Library/Safari
[… etc.]

ในการเข้าถึงไดเรกทอรีเหล่านี้จากเทอร์มินัลจะต้องกำหนดแอปพลิเคชันเทอร์มินัลในการตั้งค่าระบบ> ความปลอดภัยและความเป็นส่วนตัว> ความเป็นส่วนตัว> การเข้าถึงดิสก์ทั้งหมด การกำหนดค่าใช้งานได้ยกเว้นไดเรกทอรีต่อไปนี้บนระบบของฉัน พฤติกรรมเดียวกันอาจมีอยู่สำหรับข้อมูลอื่นในภาชนะบรรจุ - ไม่แน่ใจ

~/Library/Containers/com.apple.mail/Data/DataVaults

พฤติกรรมที่น่าสนใจเป็นเรื่องง่ายที่จะทำซ้ำ ไดเรกทอรีไม่สามารถมองเห็นได้

cd ~/Library/Containers/com.apple.mail/Data
ls
ls: DataVaults: Operation not permitted

ฉันใช้rsyncเพื่อสะท้อนไดเรกทอรีบ้านของฉันไปยังฮาร์ดไดรฟ์ภายนอก แต่ฉันไม่สามารถทำได้อีกต่อไปเพราะrsyncบ่นว่า "พบข้อผิดพลาดของ IO - การข้ามการลบไฟล์" ซึ่งทำให้เอฟเฟกต์การมิเรอร์ ฉันไม่พบเอกสารใด ๆ เกี่ยวกับปัญหานี้ ฝ่ายสนับสนุนของ Apple ไม่มีความคิด เหตุใดไดเรกทอรีนี้จึงพิเศษและเราจะเข้าถึงโดยไม่ปิดการใช้งาน SIP ได้อย่างไร

ผลลัพธ์ของการตรวจสอบเพิ่มเติมด้วยการปิดใช้งาน SIP

ตามข้อมูลระบบการอัปเกรด Mojave นั้นได้ดำเนินการในวันที่ 24 กันยายน 2018 และไดเรกทอรีดังกล่าวก็ถูกสร้างขึ้นในวันเดียวกัน ผู้ใช้ของฉันเป็นเจ้าของไดเรกทอรีและกลุ่มพนักงานคือเจ้าของกลุ่ม สิทธิ์ของมันคือ 0700 มันได้ขยายคุณสมบัติตามที่ระบุโดย@สัญลักษณ์ ไม่มี ACL ไม่มีธง

xattr -l ~/Library/Containers/com.apple.mail/Data/DataVaults

com.apple.quarantine: 0082;00000000;Mail;
com.apple.rootless: Mail

ls -lO DataVaults
(no result; exit 0)

หลังจากปิดใช้งาน SIP การลบไดเรกทอรีและเปิดใช้งาน SIP อีกครั้งไดเรกทอรีจะปรากฏขึ้นพร้อมกับการอนุญาตเดียวกันทันทีที่เปิดจดหมาย เมล (เวอร์ชั่น 12.0 (3445.100.39)) ไม่มีปลั๊กอิน

ผลลัพธ์จากการติดตั้งใหม่ในวันที่ 16 ต.ค. 2018

ไดเรกทอรีไม่มีอยู่หลังจากการจัดรูปแบบและติดตั้งใหม่ ฉันยังไม่รู้เลยว่าจะเริ่มต้นอย่างไร

ผลลัพธ์จากการอัปเกรดเมื่อวันที่ 29 มีนาคม 2019

ไดเรกทอรีปรากฏขึ้นอีกครั้งพร้อมกับการอัพเกรดเป็น Mojave 10.14.4 (18E226) และ / หรือรุ่นจดหมาย 12.4 (3445.104.8)


ไดเร็กทอรีได้รับการป้องกันโดยแฟล็กไฟล์ ACL หรือแอ็ตทริบิวต์ส่วนขยาย ฉันสังเกตว่าไฟล์และไดเรกทอรีจำนวนมากได้มาซึ่งcom.apple.quarantineคุณสมบัติหลังจากอัพเกรดเป็น Mojave ตัวอย่างเช่น สำหรับการสำรองข้อมูลของฉันเอง (ใช้resticจาก Homebrew) ฉันไม่สนใจบิตเหล่านี้~/Libraryเพราะดูเหมือนว่าไม่มีใครสนใจฉันหรือสิ่งที่ฉันมักจะทำอยู่แล้ว ฉันมี 24 ของเหล่านี้เอง
Kusalananda

ขออภัยฉันอ่านคำถามของคุณอีกครั้งและแน่นอนหลังจากเพิ่ม iTerm2 (ในกรณีของฉัน) ลงในแอพด้วย "การเข้าถึงดิสก์เต็ม" ตอนนี้การสำรองข้อมูลจะทำงานโดยไม่มีปัญหา (ขอบคุณสำหรับสิ่งนั้น!) ฉันไม่สามารถพูดเพิ่มเติมเกี่ยวกับกรณีของคุณ ในเครื่องของฉันฉันสามารถดูไดเรกทอรีที่โดยเฉพาะอย่างยิ่งและจะมีการเชื่อมโยงสัญลักษณ์บางส่วนของไดเรกทอรีในไดเรกทอรีบ้านของฉัน (คนที่ "เริ่มต้น" ชอบDocuments, Movies, Musicฯลฯ )
Kusalananda

ไม่สามารถพูดได้มากกว่านี้ ฉันไม่มีไดเรกทอรี / symlink นั้น คุณอัพเกรดหรือติดตั้งใหม่หรือไม่? "DataVaults" ส่งเสียงกริ่งที่เกี่ยวข้องกับแอปพลิเคชันหรือฟีเจอร์ที่คุณเคยใช้หรือไม่
Kusalananda

คำตอบ:


6

ไดเรกทอรี DataVaults จะทำอย่างไรกับสิทธิ การเข้าถึงถูกป้องกันเว้นแต่เจ้าของสิทธิ์ให้สิทธิ์การเข้าถึง การให้สิทธิ์สำหรับ Mail.app สามารถแสดงรายการได้ดังต่อไปนี้และระบุ XML plist

codesign -d --entitlements - /Applications/Mail.app/

ในขณะนี้วิธีการเดียวที่เหลือในการรับการเข้าถึงไดเรกทอรีคือการปิด SIP ในเรื่องเกี่ยวกับrsyncปัญหาของฉันฉันเลือกที่จะเปิดใช้งาน SIP และใช้rsysncตัวเลือกexcludeเพื่อเพิกเฉยไดเรกทอรี DataVaults ซึ่งโดยวิธีการนี้ไม่มีเนื้อหา

จากความคิดเห็นบล็อกที่Eclectic Light Companyเสนอเบาะแสเพิ่มเติม:

/var/folders/t9/[long ID]/C/com.apple.QuickLook.thumbnailcache”เป็น DataVault ซึ่งเป็นคอนเทนเนอร์ส่วนบุคคลชนิดใหม่ที่ Apple เปิดตัวในช่วงประมาณ 10.13.4 ไฟล์ / โฟลเดอร์เหล่านี้ถูกระบุโดยแฟล็กไฟล์“ UF_DATAVAULT” สิ่งเหล่านี้ถูกนำไปใช้ผ่าน SIP (ไม่ใช่เทคนิค sandboxing แต่เป็นส่วนสำคัญเดียวกัน) แอปพลิเคชันต้องมีสิทธิ์ในการสร้างหรือเข้าถึง data vaults ที่เฉพาะเจาะจงหรือแม้กระทั่ง stat () โฟลเดอร์ DataVault

อุปกรณ์เหล่านี้มีค่าในการตรวจสอบที่ลึกซึ้งยิ่งขึ้น Apple ไม่มี (และเห็นได้ชัดว่าไม่มีแผนที่จะ) ให้สิทธิเหล่านี้แก่บุคคลที่สาม พิจารณาความหมายของสิ่งนั้น - Apple กำลังสร้างแพลตฟอร์มที่มีเพียงข้อมูลที่สร้างขึ้นในแอปพลิเคชันของ Apple เท่านั้นที่ได้รับความปลอดภัยระดับสูงสุด

นอกจากนี้ให้พิจารณาว่าคุณ (ผู้ใช้) ไม่สามารถเห็นสิ่งที่อยู่ใน DataVaults เหล่านี้ได้โดยไม่ต้องปิด SIP เป็นการยากที่จะบอกว่า Apple เก็บอะไรไว้บ้าง แต่บางอันก็น่าตกใจ นี่เป็นเพียงข้อมูลบางส่วนที่รู้จักกันดี:

~/Library/VoiceTrigger/SAT

~/Library/Containers/com.apple.mail/Data/DataVaults /private/var/folders/0z/fs4vdwmx6g31n69qt5v5ff580000gn/0/com.apple.nsurlsessiond

เห็นได้ชัดว่าครั้งแรกนั้นมี "Siri Audio Transcripts" - ทุกสิ่งที่คุณเคยพูดถึง Siri บน Mac ของคุณ

ฉันไม่พบการตั้งค่าสถานะ~/Library/Containers/com.apple.mail/Data/DataVaultsและการติดตั้งใหม่ทั้งหมดของ Mojave ทำให้ไดเรกทอรีไม่ปรากฏอีกเลยตั้งแต่นั้นมา

ภาพรวมสรุปของการควบคุมการเข้าถึงยังได้รับการตีพิมพ์


คุณสามารถพิจารณาตัวเลือก rsync --ignore-errors
dave
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.