วิธีให้สิทธิ์แอพ Mac เพื่ออ่านระบบไฟล์ทั้งหมด


13

ฉันซื้อแอพนี้ชื่อ Xee จากร้านค้า Mac มันสามารถเปิดไฟล์ได้อย่างสมบูรณ์แบบ แต่เมื่อฉันพยายามเรียกดูโฟลเดอร์จากภายในแอพ Xee มันต้องขออนุญาต (ดูภาพหน้าจอด้านล่าง) ฉันต้องทำสิ่งนี้กับทุกโฟลเดอร์ในครั้งแรกที่ฉันเรียกดู

ฉันคิดว่านี่เป็นข้อ จำกัด ที่กำหนดโดย app store มีวิธีใดบ้างที่จะหลีกเลี่ยงสิ่งนี้และอนุญาตให้แอป (ติดตั้งบนเครื่องของฉัน) เพื่อดูไดเรกทอรีใด ๆ หรือแม้แต่ทำทุกอย่างที่มันต้องการ?

ภาพหน้าจอ


1
สิ่งนี้เรียกว่า - ความปลอดภัย และคุณมักจะไม่ต้องการให้แอปเข้าถึงโฟลเดอร์ใด ๆ บนระบบของคุณ
Rob

สิ่งนี้เกิดขึ้นเฉพาะกับไฟล์ / โฟลเดอร์นอกโฟลเดอร์ผู้ใช้ของคุณหรือสิ่งที่อยู่ภายในหรือไม่
nohillside

@patrix มันเกิดขึ้นภายในโฟลเดอร์ผู้ใช้ของฉัน
Brian Gordon

คำตอบ:


3

มันค่อนข้างยุ่งยาก แต่คุณสามารถเอา sandbox ออกได้โดยเปลี่ยน<key>com.apple.security.app-sandbox</key>ค่า (ซึ่งถูกตั้งค่าเป็น < true/>) ด้วยโปรแกรมแก้ไข hex

ใน macOS Sierra 10.12 ตั้งค่าเป็น < false/>
ใน macOS El Capitain 10.11 หรือก่อนหน้านี้ตั้งเป็น < fals/>

สำหรับ Xee คุณต้องแก้ไขไบนารีต่อไปนี้:

  • /Applications/Xee³.app/Contents/MacOS/Xee³
  • /Applications/Xee³.app/Contents/Loader/Xee3.ImageLoader

ที่มา: /programming/7018354/remove-sandboxing


ขอขอบคุณ! มันได้ผล. อย่าลืมchmod a+xไฟล์ถ้าคุณใช้โปรแกรมแก้ไข hex เพื่อสร้างไฟล์ใหม่
Brian Gordon

นอกจากนี้hexed.itยอดเยี่ยมเช่นกัน
Brian Gordon

1
นี่ไม่ใช่ทางออกที่แท้จริง แอป Sandboxing มีความจำเป็นมากขึ้นเรื่อย ๆ เมื่อเวลาผ่านไปดังนั้นการทำงานกับมันจึงดีกว่าการทำงานกับมัน
Ben Leggiero

พิจารณาให้ข้อเสนอแนะแก่ Appleเกี่ยวกับข้อ จำกัด นี้และวิธี จำกัด เวิร์กโฟลว์ของคุณ ความคิดเห็นของลูกค้าจะช่วยกำหนดรูปร่างสิ่งที่แอพ Mac App Store สามารถทำได้และไม่สามารถทำได้ในอนาคต สำหรับตอนนี้แอพที่ซื้อผ่าน Apple Mac App Store มีจำนวน จำกัด
Bob Fanger

19

แอพพลิเคชั่นนี้ถูก Sandbox แล้ว ซึ่งหมายความว่าแอปพลิเคชันได้รับรหัสที่เซ็นชื่อด้วยชุดของสิทธิ์ สิทธิ์เหล่านี้ถูกบังคับใช้โดย Mac OS X เอกสารประกอบสำหรับนักพัฒนาของ Apple ในการทดลองใช้ผลิตภัณฑ์Sandboxให้รายละเอียดเพิ่มเติม

คุณสามารถดูการให้สิทธิ์ sandbox ของ Xee โดยใช้คำสั่ง Terminal.app ต่อไปนี้:

codesign --display --entitlements - /Applications/Xee.app

บทความของ Ole Begemann, การตรวจสอบรหัสการเซ็นชื่อและสถานะแซนด์บ็อกซ์ในรหัสอธิบายเพิ่มเติม

ลาออกหรือดึงสิทธิ์

ในการลบการให้สิทธิ์คุณจะต้องลงชื่อรหัสแอปพลิเคชันอีกครั้งโดยไม่มีการให้สิทธิ์ - การใช้codesign- หรือถอนการเซ็นชื่อโค้ดทั้งหมดจากแอปพลิเคชัน

ถามนักพัฒนาของ Xee

ไม่แนะนำให้แก้ไขแอปพลิเคชั่น Mac ถามนักพัฒนาของ Xee เพื่อขอความช่วยเหลือเกี่ยวกับวิธีแก้ไขพฤติกรรมนี้ มีเพียงพวกเขาที่มีความรู้ที่เหมาะสมในการแก้ปัญหานี้

นักพัฒนาของ Xeeดูเหมือนจะตระหนักถึงปัญหานี้:

(โปรดทราบว่าเวอร์ชันของ App Store นั้นถูกใช้ Sandbox แล้วในขณะที่รุ่นที่ไม่ใช่ App Store และเวอร์ชั่นเต็มนั้นไม่ใช่แบบ Sandbox หากคุณต้องการความปลอดภัยของ Sandbox OS X คุณควรจะได้รับเวอร์ชั่นของ App Store อย่างไรก็ตามรุ่น Sandbox นั้นจำเป็นต้อง ขออนุญาตจากคุณสำหรับการดำเนินการบางอย่างและหากคุณพบว่าน่ารำคาญคุณควรหาเวอร์ชั่นที่ไม่ใช่ App Store)

บอก Apple

พิจารณาให้ข้อเสนอแนะแก่ Appleเกี่ยวกับข้อ จำกัด นี้และวิธี จำกัด เวิร์กโฟลว์ของคุณ ความคิดเห็นของลูกค้าจะช่วยกำหนดรูปร่างสิ่งที่แอพ Mac App Store สามารถทำได้และไม่สามารถทำได้ในอนาคต สำหรับตอนนี้แอพที่ซื้อผ่าน Apple Mac App Store มีจำนวน จำกัด


2
คำตอบที่เป็นตัวเอกสำหรับการ sandboxing ทำได้ดีครอบคลุมหัวข้อที่ซับซ้อนในลักษณะที่อ่านได้
bmike

-4

ลองคัดลอกเนื้อหาแอพไปยังฮาร์ดไดรฟ์ของคุณและเปิดจากที่นั่น บางทีแอพนี้กำลังป้องกันไฟล์จากตัวมันเอง

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