ฉันสามารถดาวน์โหลดแอพพลิเคชั่นจากเว็บไซต์ที่กำหนดเองและเปิดใช้งานแม้ว่าการตั้งค่า gatekeeper ของฉันจะอยู่ที่ "AppStore Only" นี่คือแอปพลิเคชันของฉัน - ยังไม่ได้ลงชื่อ
อะไรคือสาเหตุของสิ่งนั้น? ฉันสามารถทำซ้ำพฤติกรรมนี้ได้ใน mac ทั้ง 3 เครื่องของฉัน
ฉันสามารถดาวน์โหลดแอพพลิเคชั่นจากเว็บไซต์ที่กำหนดเองและเปิดใช้งานแม้ว่าการตั้งค่า gatekeeper ของฉันจะอยู่ที่ "AppStore Only" นี่คือแอปพลิเคชันของฉัน - ยังไม่ได้ลงชื่อ
อะไรคือสาเหตุของสิ่งนั้น? ฉันสามารถทำซ้ำพฤติกรรมนี้ได้ใน mac ทั้ง 3 เครื่องของฉัน
คำตอบ:
ผู้ใช้ที่เป็นผู้ดูแลระบบสามารถเปลี่ยนการตั้งค่า Gatekeeper หรือปิดการใช้งานได้อย่างสมบูรณ์ดังนั้นจึงไม่มีอันตรายใด ๆ(ในสายตาของฉันอย่างน้อย)ในการนำเสนอกล่องโต้ตอบรายการสีขาวแบบครั้งเดียวเพื่อให้แน่ใจว่าผู้ใช้ที่เป็นผู้ดูแลระบบ แอปพลิเคชันที่ไม่ใช่ Mac App Store) ให้เรียกใช้
ตอนนี้หากคุณพบวิธีที่ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบสามารถข้ามผ่าน Gatekeeper ได้ฉันก็คาดหวังว่าการยื่นช่องโหว่ด้านความปลอดภัยกับ Apple จะได้รับเครดิตในการหาช่องโหว่เมื่อพวกเขาทำการแก้ไขข้อผิดพลาดในการดำเนินการใด ๆ
Apple บันทึกคุณสมบัตินี้ในรายละเอียดเกี่ยวกับวิธีแสดงรายการแอปพลิเคชันอย่างชัดเจน
Gatekeeper ไม่ใช่การป้องกันมัลแวร์และไม่ใช่บัญชีดำ เป็นชุดของนโยบายที่อนุญาตให้เปิดใช้งานแอปพลิเคชันที่ลงชื่ออย่างถูกต้องและการตรวจสอบใบเสร็จรับเงินของ Mac App store เป็นครั้งแรก หากผู้ใช้ผู้ดูแลระบบเปิดใช้งานอย่างชัดเจนแล้วอนุมัติการใช้งานซอฟต์แวร์ที่ไม่เข้ากันคุณจะมีปัญหาด้านการศึกษาหรือนโยบายซึ่งตรงข้ามกับการเปิดเผยข้อบกพร่องบางอย่างใน Gatekeeper
ในรายละเอียดฉันได้สรุป (และคัดลอกส่วนใหญ่) ส่วนที่เกี่ยวข้องของความช่วยเหลือของ Apple ในรายการ White App ใด ๆ เพื่อที่ Gatekeeper จะอนุญาตให้มันทำงานแบบไม่ จำกัด และไม่มีการโต้ตอบ
วิธีเปิดแอปจากผู้พัฒนาที่ไม่ปรากฏหลักฐานและยกเว้นจาก Gatekeeper
หากคุณมั่นใจว่าแอพที่ดาวน์โหลดจากอินเทอร์เน็ตเป็นเวอร์ชันล่าสุดและมาจากแหล่งที่คุณเชื่อถือคุณสามารถเปิดแอพจากนักพัฒนาที่ไม่ปรากฏหลักฐานโดยทำตามขั้นตอนเหล่านี้
สำคัญ: แอปที่คัดกรองแล้วของ Apple จากผู้พัฒนาที่อยู่ในกระบวนการรับลายเซ็นรหัสนักพัฒนาซอฟต์แวร์จะแสดงตัวเลือก "เปิด" เมื่อดับเบิลคลิก
หมายเหตุ: ในกรณีส่วนใหญ่คุณจะต้องทำตามขั้นตอนเหล่านี้เพียงครั้งเดียวสำหรับบัญชีผู้ใช้ทั้งหมดใน Mac:
- ใน Finder ให้คลิกควบคุมหรือคลิกขวาที่ไอคอนของแอพ
- เลือกเปิดจากด้านบนของเมนูบริบทที่ปรากฏขึ้น
- คลิกเปิดในกล่องโต้ตอบ หากได้รับแจ้งให้ป้อนชื่อผู้ดูแลระบบและรหัสผ่าน
หมายเหตุ: หากมีแอพที่แสดงกล่องโต้ตอบ Gatekeeper หลายกล่องคุณสามารถใช้ตัวเลือก "เสมอ" ของ Gatekeeper ได้ชั่วคราว ตรวจสอบให้แน่ใจว่าได้กู้คืนตัวเลือก Gatekeeper ที่เคยมีมาก่อนเพื่อนำฟังก์ชั่น Gatekeeper กลับมา
คุณสามารถควบคุมได้ว่าใครสามารถทำรายการแอปพลิเคชันได้โดยไม่ต้องส่งชื่อผู้ใช้และรหัสผ่านของผู้ดูแลระบบไปยังผู้ใช้ที่ไม่ทราบถึงฟังก์ชั่นนี้และคุณยังสามารถจัดการ gatekeeper จาก terminal คุณยังสามารถตรวจสอบเครื่องของคุณสำหรับซอฟต์แวร์ที่เป็นสีขาวเพื่อรีเซ็ตรายการแอพที่อนุญาตเป็นระยะและตรวจสอบว่าใครออกกำลังกายฟังก์ชั่นนี้ในกรณีที่คุณต้องการเปลี่ยนนโยบายและนิสัย
spctl
ดังนั้นspctl --assess -v /Applications/Whatever.app
จะแสดงให้คุณเห็นถ้าอนุญาตหรือปฏิเสธและspctl --remove /Applications/Whatever.app
จะรีเซ็ต "ไดอะล็อก" และสถานะสำหรับแอปพลิเคชันเฉพาะ ฉันใช้เครื่องมือเพื่อรวบรวมแอพทั้งหมดในระบบเพื่อให้ฉันสามารถตรวจสอบการใช้งานและแก้ไขสิ่งต่าง ๆ เมื่อจำเป็นด้วยสคริปต์สั้น ๆ
การดาวน์โหลดไฟล์ผ่าน SMB จะไม่ทำให้เกิดการกักกันและเนื่องจากแอปไม่ได้ถูกกักกันนโยบายของผู้รักษาประตูจะไม่ได้รับการตรวจสอบ ฉันไม่แน่ใจว่าทำไมถูกทำเครื่องหมายว่าถูกกักกันบนคอมพิวเตอร์เครื่องอื่นของคุณ ...
ในการตรวจสอบการกักกัน ณ จุดใด ๆ ให้ใช้ls -ld@
คำสั่งเพื่อค้นหาแอตทริบิวต์ com.apple.quarantine:
$ ls -ld@ /Applications/TextWrangler.app
drwxrwxr-x@ 3 gordon staff 102 Apr 30 2012 /Applications/TextWrangler.app
com.apple.FinderInfo 32
com.apple.quarantine 57
หากมีการแนบแอตทริบิวต์การตรวจสอบกับแอปนโยบายผู้ดูแลจะถูกตรวจสอบ ถ้าไม่มันจะไม่ คำถามที่น่าสนใจคือเหตุผลที่มันมีกักกันบนคอมพิวเตอร์เครื่องอื่น ๆ ของคุณและถ้าคุณใช้คำสั่งนี้เพื่อตรวจสอบใบสมัครตามจุดต่าง ๆ ในขณะที่คุณแจกจ่ายให้คุณสามารถคิดออกเมื่อแอตทริบิวต์จะได้รับที่แนบมา (และทำไมมันได้รับที่แนบมา)
แก้ไข: มีหมายเหตุเกี่ยวกับสิ่งนี้ในส่วน "คลิกที่นี่เพื่อดูรายละเอียดเพิ่มเติม" ของบทความ KB ของ Apple # HT5290 :
สำคัญ:ลายเซ็น ID นักพัฒนาซอฟต์แวร์จะใช้กับแอพที่ดาวน์โหลดจากอินเทอร์เน็ต แอพจากแหล่งอื่นเช่นไฟล์เซิร์ฟเวอร์ไดรฟ์ภายนอกหรือดิสก์แบบออปติคัลจะได้รับการยกเว้นเว้นแต่จะมีการดาวน์โหลดแอพจากอินเทอร์เน็ตเป็นครั้งแรก
xattr -d com.apple.quarantine
คุณสามารถเปิดแอพได้แม้ว่าจะเป็นการละเมิดนโยบายของผู้รักษาประตูก็ตาม
หากคุณเปิดใช้งานการตั้งค่าที่ซ่อนอยู่นี้มันจะปิดการใช้งาน Gatekeeper ด้วย:
defaults write com.apple.LaunchServices LSQuarantine -bool false
หรือ OS X อนุญาตให้เปิดแอปพลิเคชันทั้งหมดโดยไม่คำนึงถึงการตั้งค่าในการตั้งค่าระบบ
Gatekeeper ป้องกันแอปไม่ให้ทำงานโดยการดับเบิลคลิก แต่คุณสามารถแทนที่ได้โดยเลือกเปิดจากเมนูบริบท
หากคุณสามารถเรียกใช้แอพที่ไม่ได้รับการดาวน์โหลดได้โดยดับเบิลคลิกนี่เป็นปัญหาของ Gatekeeper ไฟล์ที่จัดเก็บสถานะกักกันของพวกเขาในแอตทริบิวต์ขยายที่เรียกว่าcom.apple.quarantine หากคุณสมบัตินี้ถูกลบด้วยเหตุผลบางอย่างจากไฟล์ที่คุณดาวน์โหลด Gatekeeper จะถือว่าไฟล์ที่ดาวน์โหลดไม่ต่างจากไฟล์อื่น ๆ ในคอมพิวเตอร์ของคุณ ดังนั้นฉันขอแนะนำให้ดาวน์โหลดโปรแกรมแล้วใช้xattr -l filename
ใน Terminal จะเป็นเครื่องมือวินิจฉัยที่ดีถ้าคุณติดตั้ง Xcode
หากคุณเรียกใช้พวกเขาผ่านคำสั่งเปิดจากเมนูนี่คือพฤติกรรมที่ออกแบบมา โปรดทราบว่าเมื่อคุณเรียกใช้โปรแกรมจากเมนูมันจะเปิดใช้งานตลอดไปโดยการดับเบิลคลิกโดยไม่คำนึงถึงการตั้งค่า Gatekeeper ของคุณ