วิธีเพิ่มผู้ใช้ในไฟล์ Sudoers ใน Mac OS X

สารบัญ:

Anonim

ผู้ใช้ขั้นสูงอาจต้องเพิ่มบัญชีผู้ใช้ในไฟล์ sudoers ซึ่งอนุญาตให้ผู้ใช้นั้นเรียกใช้คำสั่งบางอย่างด้วยสิทธิ์ระดับรูท

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

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

ไฟล์ sudoers อยู่ที่ /etc/sudoers แต่ไม่เหมือนกับ /etc/hosts และไฟล์คอนฟิกูเรชันระบบอื่น ๆ อีกมากมาย คุณไม่ต้องการชี้โปรแกรมแก้ไขข้อความทั่วไปไปที่ไฟล์เพื่อแก้ไข คุณจะต้องการใช้คำสั่งเฉพาะที่เรียกว่า 'visudo' ซึ่งจะยืนยันไวยากรณ์ที่เหมาะสมก่อนที่จะบันทึกเอกสาร

สำคัญ: การปรับ sudoers ไม่ได้มีไว้สำหรับผู้ใช้ Mac OS X ส่วนใหญ่ เฉพาะผู้ใช้ขั้นสูงที่มีเหตุผลที่น่าสนใจในการดำเนินการดังกล่าวเท่านั้นที่ควรแก้ไขไฟล์ sudoers หากคุณไม่รู้ว่ากำลังทำอะไรอยู่และทำไมคุณถึงทำอย่างนั้น อย่าแก้ไขไฟล์ sudoers และอย่าเพิ่มผู้ใช้ในไฟล์ sudoersอาจเสี่ยงต่อความปลอดภัย หรือคุณอาจทำบางอย่างพัง

เพิ่มผู้ใช้ใน Sudoers ใน Mac OS X

การเพิ่มผู้ใช้ใน sudoers ต้องใช้ vi ซึ่งอาจสร้างความสับสนได้หากคุณไม่คุ้นเคย สำหรับผู้ที่ไม่คุ้นเคย เราจะร่างลำดับคำสั่งคีย์ที่ถูกต้องเพื่อแก้ไข แทรก และบันทึกไฟล์ใน vi ปฏิบัติตามคำแนะนำอย่างระมัดระวัง

  1. เปิด Terminal แล้วพิมพ์คำสั่งต่อไปนี้:
  2. sudo visudo

  3. ใช้ปุ่มลูกศรเพื่อเลื่อนลงไปที่ส่วน “ข้อกำหนดสิทธิ์ของผู้ใช้” ควรมีลักษณะดังนี้:
  4. ข้อมูลจำเพาะสิทธิ์ของผู้ใช้ root ALL=(ALL) ALL %admin ALL=(ALL) ALL

  5. วางเคอร์เซอร์บนบรรทัดว่างถัดไปใต้รายการ %admin จากนั้นกดปุ่ม “A” เพื่อแทรกข้อความ จากนั้นพิมพ์ข้อความต่อไปนี้ในบรรทัดใหม่ แทนที่ 'ชื่อผู้ใช้' ด้วยชื่อย่อผู้ใช้ ชื่อบัญชีที่คุณต้องการให้สิทธิ์ (กดแถบระหว่างชื่อผู้ใช้และทั้งหมด):
  6. ชื่อผู้ใช้ ALL=(ALL) ALL

  7. ตอนนี้ กดปุ่ม “ESC” (escape) เพื่อหยุดการแก้ไขไฟล์
  8. กดปุ่ม : (โคลอน) แล้วพิมพ์ “wq” ตามด้วยปุ่ม Return เพื่อบันทึกการเปลี่ยนแปลงและออกจาก vi

นี่คือสิ่งที่ควรมีลักษณะโดยประมาณ ภาพหน้าจอตัวอย่างแสดงชื่อผู้ใช้ 'osxdaily' ที่เพิ่ม:

คุณควรไปได้แล้ว คุณสามารถ cat ไฟล์ sudoers เพื่อให้แน่ใจว่าไฟล์ถูกแก้ไข:

แมว /etc/sudoers

ใช้ cat กับ grep เพื่อค้นหาชื่อผู้ใช้อย่างรวดเร็ว หากคุณไม่ต้องการสแกนทั่วทั้งไฟล์:

cat /etc/sudoers | ชื่อผู้ใช้ grep

ตอนนี้ 'ชื่อผู้ใช้' ได้ถูกเพิ่มไปยังไฟล์ sudoers แล้ว คุณก็พร้อมที่จะไป

กำลังแก้ไขข้อผิดพลาด “/etc/sudoers busy, try again later”

หากคุณพยายามแก้ไข sudoers และได้รับข้อผิดพลาด 'visudo: /etc/sudoers busy, try again later' ซึ่งมักจะหมายความว่าไฟล์ถูกเปิดแล้ว ไม่ว่าโดยผู้ใช้รายอื่นหรือโดย อุบัติเหตุหรือโดยการปิด visudo อย่างไม่เหมาะสม หากคุณใช้เครื่องที่มีผู้ใช้หลายคน อย่าลืมตรวจสอบกับผู้ใช้รายอื่นก่อนที่จะดำเนินการใดๆ เพิ่มเติม แต่โดยทั่วไปแล้ว สิ่งนี้ไม่ควรเกิดขึ้นบ่อยครั้งในเครื่องที่มีผู้ใช้คนเดียว สิ่งสำคัญคือต้องแยกความแตกต่างระหว่างสองสิ่งนี้ เพราะหากคุณพลาดไฟล์ sudoers คุณอาจอยู่ในโลกแห่งความยุ่งยาก ปัญหา และในที่สุดการกู้คืนระบบปฏิบัติการ (หรือไฟล์ sudoers) จากข้อมูลสำรอง ซึ่งการแก้ไขนั้นอยู่นอกเหนือขอบเขตของบทความนี้ .

ใน Mac ผู้ใช้คนเดียว ข้อผิดพลาด “sudoers busy” อาจเกิดขึ้นหลังจากออกจากแอป Terminal โดยไม่ได้ออกจาก vi หรือหาก Terminal หรือ Mac OS X ขัดข้อง หรือหากไฟล์เปิดอยู่ในอีกเครื่องหนึ่ง การประชุม. วิธีแก้ไขสำหรับเคสเครื่องแบบใช้ครั้งเดียวที่อธิบายไว้อย่างหลังนั้นค่อนข้างง่าย และคุณสามารถแก้ไขข้อผิดพลาดได้โดยการลบไฟล์ชั่วคราว sudoers ซึ่งทำหน้าที่เป็นตัวล็อก:

sudo rm /etc/sudoers.tmp

คุณจะต้องดำเนินการดังกล่าวก็ต่อเมื่อคุณแน่ใจว่าผู้ใช้รายอื่น (หรือตัวคุณเอง) ไม่ได้กำลังแก้ไขไฟล์อยู่ ไม่ว่าจะในเครื่องหรือจากระยะไกล เนื่องจากโดยทั่วไปแล้วการปรับ sudoers ค่อนข้างก้าวหน้า เราจึงถือว่าคุณรู้ว่าคุณกำลังทำอะไรอยู่ แต่ถ้าคุณไม่สามารถติดตามได้ว่า sudoers เปิดอะไรหรือทำไม คุณสามารถลองใช้ dtrace หรือ opennoop เพื่อตรวจสอบการใช้ไฟล์

วิธีเพิ่มผู้ใช้ในไฟล์ Sudoers ใน Mac OS X