เห็นข้อผิดพลาด "ไม่อนุญาตให้ดำเนินการ" ใน macOS Catalina หรือ Mojave หรือไม่

click fraud protection

ทำงานกับ Terminal Utility ของ Mac แต่ได้รับข้อความแสดงข้อผิดพลาดว่า "ไม่อนุญาตให้ดำเนินการ" คำสั่ง Terminal ที่เคยทำงานใน macOS High Sierra และ Sierra ไม่ทำงานหรือไม่

หากคุณไม่ได้อยู่คนเดียว โปรแกรมอ่าน Mac ขั้นสูงของเราบางส่วนบอกเราว่างานของพวกเขาถูกขัดขวางโดยข้อความแสดงข้อผิดพลาด "ไม่อนุญาตการดำเนินการ" นี้ พวกเขาเห็นข้อผิดพลาดนี้ในคำสั่งขั้นสูงเช่น super-user sudo และเปลี่ยนคำสั่ง chown ความเป็นเจ้าของ แต่ยังรวมถึงคำสั่งง่ายๆ เช่น list directory command ls และอื่นๆ อะไรจะวุ่นวาย!

ผู้ใช้หลายคนต้องเผชิญกับข้อความแสดงข้อผิดพลาดที่น่ารำคาญนี้ตั้งแต่อัปเดตเป็น macOS Catalina-Mojave

เกิดขึ้นเมื่อเรียกใช้แอปพลิเคชันของบุคคลที่สามหรือหลังจากป้อนบรรทัดคำสั่งใน Terminal ไม่ว่าคำขอจะง่ายเพียงใด!

ข้อความแสดงข้อผิดพลาด "ไม่อนุญาตให้ดำเนินการ" ปรากฏขึ้นแม้ในขณะที่พยายามอ่านไดเรกทอรีบางรายการในผู้ใช้ในพื้นที่!

macOS นั้นเชื่อถือได้และได้รับการปกป้องอย่างดี แต่บางครั้งการป้องกันเหล่านั้นก็เหนือกว่า ค้นหาสาเหตุของข้อความแสดงข้อผิดพลาด “ไม่อนุญาตการดำเนินการ” และเรียนรู้วิธีแก้ไข

อะไรเป็นสาเหตุของความคับข้องใจนี้ และคุณจะแก้ไขได้อย่างไร?

ข่าวดีก็คือมันค่อนข้างง่ายที่จะแก้ไข เราเพียงแค่ต้องอัปเดตการตั้งค่าความปลอดภัยและการป้องกันของ Mac ของคุณ! การตั้งค่าระบบ Mojave Mac

สารบัญ

    • กระทู้ที่เกี่ยวข้อง:
  • เริ่มต้นด้วยการปกป้องความสมบูรณ์ของระบบของ Apple
  • วิธีแก้ไขการทำงานของแอปหรือข้อผิดพลาดของเทอร์มินัลไม่ได้รับอนุญาตโดยการให้สิทธิ์แก่ Terminal หรือการเข้าถึงดิสก์แบบเต็มของแอป
    • วิธีให้สิทธิ์การเข้าถึงดิสก์แบบเต็มของแอปหรือเทอร์มินัล
  • รับข้อความแสดงข้อผิดพลาดไม่ได้รับอนุญาตใน macOS High Sierra, Sierra หรือ El Capitan?
  • ต้องการวิธีอื่นหรือไม่? ระวัง!
    • ตรวจสอบสถานะของ SIP ของ macOS (System Integrity Protection)
  • ไม่สามารถอ่านไฟล์ไลบรารีผู้ใช้ใน macOS ได้หรือไม่ คุณเห็นข้อความไม่อนุญาตให้ดำเนินการหรือไม่?
  • เคล็ดลับผู้อ่าน
    • กระทู้ที่เกี่ยวข้อง:
  • 3 เคล็ดลับในการใช้คำสั่ง Terminal เพื่อเพิ่มความเร็วให้ Mac ของคุณ
  • วิธีแก้ไขปัญหาการระบายแบตเตอรี่ของ macOS Mojave
  • Mac ของคุณไม่สามารถสื่อสารกับข้อความแสดงข้อผิดพลาดของ Apple Watched วิธีแก้ไข

เริ่มต้นด้วยการปกป้องความสมบูรณ์ของระบบของ Apple

เริ่มต้นด้วย macOS Mojave Apple ได้เพิ่มมาตรการรักษาความปลอดภัยเพิ่มเติมผ่าน SIP (System Integrity Protection) เพื่อให้ระบบปฏิบัติการของคุณทำงานได้อย่างราบรื่น อันที่จริง “คุณสมบัติ” ใหม่เหล่านี้มีความคล้ายคลึงกันอย่างมากกับการทำงานของ iOS ด้วยการอนุญาตแอพบน iPhone และ iPad ของคุณ!

System Integrity Protection (SIP) เป็นวิธีการของ Apple ในการปกป้อง Mac ของคุณจากซอฟต์แวร์ที่เป็นอันตราย วิธีการทำงานของ SIP คือการล็อกพื้นที่ที่ละเอียดอ่อนของ OS เพื่อให้มีเพียง Apple เท่านั้นที่สามารถเข้าถึงได้

กระบวนการนี้มักทำโดยการอัปเดตอย่างเป็นทางการหรือโปรแกรมติดตั้งของ Apple ผลที่ได้คือบางครั้งผู้ใช้และแอปของบุคคลที่สามไม่สามารถอ่านหรือเขียนในตำแหน่งที่ต้องใช้งาน

ข้อจำกัดนี้ทำให้เกิดข้อความแสดงข้อผิดพลาด “ไม่อนุญาตการดำเนินการ” ส่วนใหญ่

ในขณะที่ SIP มีอยู่ตั้งแต่ El Capitan Apple ได้ขยายการป้องกันใน Mojave ขึ้นไป เป็นผลให้หลายคนได้รับข้อผิดพลาดที่พวกเขาไม่เคยมาก่อน SIP ยังคงอนุญาตให้เข้าถึงบางไดเร็กทอรี เช่น ~/Applications แต่ล็อกไดเร็กทอรีอื่นๆ เช่น ~/System หรือ ~/usr

งานของ SIP (System Integrity Protection) คือการรักษาไว้ ผู้ใช้ทุกประเภท รวมถึงผู้ใช้ที่เป็นผู้ดูแลระบบจากการเปลี่ยนแปลงสิ่งที่ Apple พิจารณาว่าไฟล์ปฏิบัติการที่สำคัญ

และนั่นเป็นสิ่งที่ดีและไม่ดี

ดีสำหรับผู้ที่ยุ่งกับระบบของตนโดยไม่รู้ว่ากำลังทำอะไรอยู่ และไม่ดีสำหรับผู้ที่รู้ว่ากำลังทำอะไรอยู่

แต่เช่นเดียวกับหลายๆ อย่างใน Apple World และในชีวิต มีวิธีแก้ปัญหา

คุณสามารถ อ่านสิ่งที่ Apple พูดเกี่ยวกับ SIP บนเว็บไซต์ของพวกเขา แต่หากต้องการทราบว่าคุณสามารถทำอะไรได้บ้าง โปรดอ่านด้านล่าง

ไปกันเถอะ!

วิธีแก้ไขการทำงานของแอพหรือ Terminal Error ไม่อนุญาตโดย การให้สิทธิ์การเข้าถึงดิสก์แบบเต็มของ Terminal หรือแอป

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

ขอแนะนำให้คุณสำรองข้อมูลล่าสุดและดำเนินการต่อหากคุณมั่นใจในคอมพิวเตอร์

ตรวจสอบทางเลือกอื่น ๆ ก่อนลองใช้วิธีแก้ปัญหาของเรา คุณอาจพบวิธีอื่นในสิ่งที่คุณพยายามทำที่ง่ายกว่าและปลอดภัยกว่า คุณสามารถ ติดต่อ Apple โดยตรง เพื่อดูว่าสามารถช่วยได้หรือไม่

ทางออกแรกและที่ต้องการอย่างยิ่งคือการอนุญาตการเข้าถึงดิสก์แบบเต็มไปยังแอปพลิเคชันที่คุณพยายามใช้

โดยทั่วไป ผู้ใช้พบข้อความแสดงข้อผิดพลาดเมื่อเรียกใช้บรรทัดคำสั่งในเทอร์มินัล

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

ซึ่งคล้ายกับการวางอยู่ในไวท์ลิสต์สำหรับ SIP ของ Apple และอนุญาตให้เข้าถึงแบบอ่านหรือเขียนในไดเร็กทอรีทั้งหมด

วิธีให้สิทธิ์การเข้าถึงดิสก์แบบเต็มของแอปหรือเทอร์มินัล

การให้สิทธิ์การเข้าถึงแบบเต็มดิสก์กับแอพหรือยูทิลิตี้ใดๆ (รวมถึงแอพเนทีฟของ Apple เช่น Terminal) อาจมีปัญหา โดยเฉพาะอย่างยิ่งถ้าคุณไม่คุ้นเคยกับ macOS

ขั้นตอนในการแก้ไข “ไม่อนุญาตให้ดำเนินการ” โดยให้การเข้าถึงดิสก์แบบเต็ม

  1. ปิดแอพ คุณต้องให้สิทธิ์การเข้าถึงดิสก์แบบเต็มก่อน
    1. ยังเป็นความคิดที่ดีที่จะปิดแอพอื่นๆ ทั้งหมดและรีสตาร์ท Mac ของคุณ (*ไม่จำเป็น แต่แนะนำ)
  2. เปิด ค่ากำหนดของระบบ > ความปลอดภัยและความเป็นส่วนตัว > แท็บความเป็นส่วนตัว การตั้งค่าระบบ Mac ความปลอดภัยและความเป็นส่วนตัว
  3. เลือก การเข้าถึงดิสก์แบบเต็ม จากแถบด้านข้างซ้าย
    1. หากคุณไม่สามารถเปลี่ยนแปลงได้ ให้ปลดล็อกดิสก์ของคุณโดยกดไอคอนแม่กุญแจที่มุมล่างซ้ายและป้อนรหัสผ่านผู้ดูแลระบบของคุณ
  4. แตะ + สัญลักษณ์
  5. เพิ่ม แอพ หรือ เทอร์มินัล ไปยังแอปที่ได้รับอนุมัติของคุณด้วยการเข้าถึงแบบเต็ม หากคุณไม่ได้ปิดแอปก่อนหน้านี้ ปิดแอพทันทีถ้ามันทำงานอยู่ แล้วเพิ่มลงในรายการสำหรับการเข้าถึงดิสก์แบบเต็มให้สิทธิ์การเข้าถึงดิสก์แบบเต็มกับแอพใน macOS Mojave
  6. รีสตาร์ทแอพหรือ Terminal และดูว่าตอนนี้ยอมรับคำสั่งของคุณหรือไม่
    1. สำหรับแอพ เมื่อเปิดใหม่อีกครั้ง ให้อนุญาตการเข้าถึงเพื่อทำการเปลี่ยนแปลงในคอมพิวเตอร์ของคุณหากจำเป็น
  7. คุณควรทำสิ่งนี้เพียงครั้งเดียวสำหรับแต่ละแอพหรือ Terminal
  8. ไม่เห็นการเข้าถึงดิสก์แบบเต็มในการตั้งค่าความปลอดภัยและความเป็นส่วนตัวใช่ไหม

หากคุณไม่เห็นการเข้าถึงดิสก์แบบเต็มในแท็บความเป็นส่วนตัวในการตั้งค่าความปลอดภัยและความเป็นส่วนตัว ก่อนอื่นให้ตรวจสอบว่า Mac ของคุณใช้ macOS 10.14 ขึ้นไป ตัวเลือกนี้ไม่มีใน macOS เวอร์ชันก่อนหน้า

หากคุณยืนยันว่า Mac ของคุณใช้ macOS Mojave ขึ้นไป ให้ลองรีสตาร์ทโดยใช้บัญชีผู้ใช้อื่นและดูว่าตัวเลือกปรากฏขึ้นหรือไม่

รับข้อความแสดงข้อผิดพลาดไม่ได้รับอนุญาตใน macOS High Sierra, Sierra หรือ El Capitan?

หากคุณใช้ macOS หรือ Mac OS X El Capitan เวอร์ชันก่อนหน้าและคุณได้รับข้อความนี้ แนวทางที่ดีที่สุดของคุณคือ ทำตามวิธีแก้ไขปัญหาที่สองตามรายการด้านล่างของการปิดใช้งาน System Integrity Protection ของ Mac ชั่วคราว ซึ่งรู้จักกันทั่วไป เป็น SIP

ต้องการวิธีอื่นหรือไม่? ระวัง!

วิธีที่สองและรุนแรงกว่านี้คือการปิด System Integrity Protection (SIP) ของ Apple ทั้งหมด

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

อีกครั้ง โซลูชันสุดขั้วนี้ไม่แนะนำสำหรับผู้ใช้ส่วนใหญ่

ปิดการป้องกันความสมบูรณ์ของระบบ Mac ของคุณชั่วคราว (แนะนำสำหรับผู้ใช้ขั้นสูงเท่านั้น!)

  1. รีสตาร์ทในโหมดการกู้คืน (กด Command + R ค้างไว้เมื่อเริ่มต้น)
  2. เปิดยูทิลิตี้เทอร์มินัล
  3. พิมพ์คำสั่ง csrutil ปิดการใช้งาน
    1. ซึ่งช่วยให้คุณเข้าถึงระบบปฏิบัติการทั้งหมดของ Mac และทุกไฟล์ได้ไม่จำกัด ผู้ใช้ขั้นสูงเท่านั้น
  4. สำหรับผู้ใช้เทอร์มินัล
    1. รีสตาร์ท Mac ของคุณและเปิด Terminal อีกครั้ง
    2. ใช้ Terminal กับคำสั่งที่ส่งผลให้การดำเนินการไม่ได้รับอนุญาต ข้อผิดพลาด
    3. เมื่อเสร็จแล้ว ให้ทำตามขั้นตอนที่ 1-2 แล้วเปิด SIP อีกครั้งโดยใช้คำสั่ง เปิดใช้งาน csrutil 
    4. รีสตาร์ท Mac ของคุณและ SIP ควรกลับมาใช้งานได้อีกครั้ง

อย่าปล่อยให้ความเรียบง่ายของคำสั่งเหล่านี้หลอกคุณ การเลือกที่จะปิด SIP ไม่ควรเป็นเรื่องเล็กน้อย

อย่างไรก็ตาม เมื่อปิดแล้ว คุณจะไม่ถูกจำกัดทั่วทั้งไดเร็กทอรี ไม่มีข้อความแสดงข้อผิดพลาด“ ไม่อนุญาตให้ดำเนินการ” ที่น่ารำคาญอีกต่อไปรบกวนคุณ

เปิด SIP อีกครั้งเมื่อคุณทำงานที่ต้องการการเข้าถึงประเภทนี้เสร็จแล้ว

วิธีเปิด SIP

  1. รีสตาร์ท Mac ของคุณและกด Command + 'R' ค้างไว้เมื่อเปิดขึ้นมาอีกครั้ง
  2. คลิกยูทิลิตี้และเปิด เทอร์มินัล
  3. พิมพ์คำสั่งต่อไปนี้แล้วกด Enter: เปิดใช้งาน csrutil

ตรวจสอบสถานะของ SIP ของ macOS (System Integrity Protection)

หากคุณไม่แน่ใจว่า Mac ของคุณเปิดใช้งานหรือปิดใช้งาน SIP หรือไม่ ให้ใช้คำสั่ง Terminal แบบง่ายเพื่อตรวจสอบ!

  1. เปิดเทอร์มินัลจาก แอปพลิเคชั่น > ยูทิลิตี้
  2. พิมพ์คำสั่งนี้ให้ถูกต้อง: สถานะ csrutil
  3. มองหาหนึ่งในข้อความเหล่านี้:
    1. สถานะการป้องกันความสมบูรณ์ของระบบ: เปิดใช้งาน
    2. สถานะการป้องกันความสมบูรณ์ของระบบ: ปิดใช้งาน เปิดใช้งาน SIP บน Mac ผ่าน Terminal

เปลี่ยนสถานะตามคำแนะนำด้านบน อย่าลืมรีสตาร์ทหลังจากทำการเปลี่ยนแปลงใด ๆ กับ SIP ของ Mac หากไม่ได้ผล ให้รีบูต Mac ของคุณในโหมดการกู้คืน (Command + R) แล้วเข้าสู่ Terminal ผ่าน Recovery จากนั้นพิมพ์คำสั่ง SIP ของคุณ

ไม่สามารถอ่านไฟล์ไลบรารีผู้ใช้ใน macOS ได้หรือไม่ คุณเห็นข้อความไม่อนุญาตให้ดำเนินการหรือไม่?

ผู้อ่านบางคนแจ้งให้เราทราบว่าการเพิ่ม Terminal และแอพอื่นๆ ลงในรายการโปรแกรมที่อนุญาตการเข้าถึงดิสก์แบบเต็ม พวกเขาจะสามารถเข้าถึงและอ่านไดเร็กทอรีและไฟล์ในไลบรารีผู้ใช้ของตนได้

Apple ขยาย SIP ของ macOS (System Integrity Protection) ใน macOS 10.14+ เพื่อรวมโฟลเดอร์และไฟล์บางระบบและไลบรารีไว้ในไดเรกทอรีหลักของผู้ใช้ ที่ซึ่งก่อนหน้านี้คุณสามารถเปิดและเข้าถึงไฟล์ผู้ใช้และไดเรกทอรีเหล่านี้ใน macOS High Sierra/Sierra รุ่นก่อนหน้า ใน macOS Mojave, Catalina ขึ้นไป (เช่น 10.14+) ไฟล์เหล่านี้ เป็นต้น ไม่สามารถอ่านได้อีกต่อไปโดยไม่ต้องปิดใช้งาน SIP หรือได้รับการเข้าถึงดิสก์แบบเต็ม

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

แจ้งให้เราทราบในความคิดเห็นเกี่ยวกับประสบการณ์ของคุณกับข้อความแสดงข้อผิดพลาด "ไม่อนุญาตให้ดำเนินการ" ขั้นตอนการแก้ไขปัญหาของเราช่วยคุณได้หรือไม่ หรือคุณต้องการหาวิธีอื่นหรือไม่

เคล็ดลับผู้อ่าน

  • วิธีแก้ปัญหาของฉันคือให้ Full Disk Access แทน /bin/bash ในการทำเช่นนั้น
    1. ไปที่ ค่ากำหนดของระบบ > ความปลอดภัยและความเป็นส่วนตัว > ความเป็นส่วนตัว > การเข้าถึงดิสก์แบบเต็ม
    2. คลิกล็อคและป้อนรหัสผ่านผู้ดูแลระบบเพื่อให้สามารถเปลี่ยนแปลงได้
    3. เปิดหน้าต่างตัวค้นหาใหม่
    4. ไปที่ฮาร์ดไดรฟ์ปฏิบัติการของ Mac (ปกติจะตั้งชื่อว่า Macintosh HD ตามค่าเริ่มต้น) แล้วคลิกปุ่มสามปุ่มเหล่านี้พร้อมกัน: คำสั่ง + Shift + . (สัญลักษณ์ช่วงเวลา). วิธีนี้ช่วยให้คุณเห็นไฟล์ที่ซ่อนอยู่ใน Mac ของคุณ–select /bin. ตรวจสอบให้แน่ใจว่าคุณอยู่ที่รูทไดเร็กทอรีของ Mac ไม่ใช่ไดเร็กทอรีผู้ใช้ของคุณ!
      1. คุณยังสามารถใช้ Finder's ไป > ไปที่โฟลเดอร์... และป้อน /bin/bash
    5. ลาก /bin/bash ไปที่รายการ Full Disk Access
    6. กดไอคอนล็อคเพื่อป้องกันการเปลี่ยนแปลงใด ๆ เพิ่มเติม
แดน เฮลเยอร์( นักเขียนอาวุโส )

Dan เขียนบทช่วยสอนและคำแนะนำในการแก้ปัญหาเพื่อช่วยให้ผู้คนใช้ประโยชน์จากเทคโนโลยีของตนให้เกิดประโยชน์สูงสุด ก่อนที่จะมาเป็นนักเขียน เขาสำเร็จการศึกษาระดับปริญญาตรีด้านเทคโนโลยีเสียง ดูแลการซ่อมที่ Apple Store และสอนภาษาอังกฤษในประเทศจีนด้วย

กระทู้ที่เกี่ยวข้อง: