วิธีการเพิ่มผู้ใช้ลงในไฟล์ Sudoers ใน Mac OS X
ผู้ใช้ขั้นสูงอาจจำเป็นต้องเพิ่มบัญชีผู้ใช้ลงในไฟล์ sudoers ซึ่งอนุญาตให้ผู้ใช้สามารถเรียกใช้คำสั่งบางคำโดยใช้สิทธิพิเศษของราก เพื่อให้ง่ายยิ่งขึ้นว่าอะไรหมายความว่าบัญชีผู้ใช้ใหม่ที่ได้รับสิทธิพิเศษเหล่านี้จะสามารถเรียกใช้คำสั่งได้โดยไม่ได้รับอนุญาตปฏิเสธข้อผิดพลาดหรือต้องนำหน้าคำสั่ง terminal ด้วย sudo ซึ่งอาจเป็นประโยชน์ (หรือจำเป็น) สำหรับสถานการณ์ที่ซับซ้อนบางอย่าง แต่มันก่อให้เกิดความเสี่ยงด้านความปลอดภัยสำหรับผู้อื่นดังนั้นนี่ไม่ใช่สิ่งที่ควรได้รับการเปลี่ยนแปลงลวก โดยทั่วไปผู้ใช้ส่วนใหญ่จะดีกว่าโดยใช้บัญชีผู้ดูแลระบบโดยใช้ sudo ในแต่ละคำสั่งหรือทำให้ผู้ใช้ root อย่างไรก็ตามการปรับเปลี่ยน sudoers โดยตรงมีสถานการณ์การใช้งานที่หลากหลายสำหรับบุคคลขั้นสูงที่มีความรู้ในเชิงลึกเกี่ยวกับบรรทัดคำสั่งและสำหรับสถานการณ์ที่ซับซ้อนมากขึ้นนั้นเราจะมุ่งเน้นไปที่การปรับไฟล์ sudoers ดังที่อธิบายไว้ที่นี่
ไฟล์ sudoers อยู่ที่ / etc / sudoers แต่แตกต่างจาก / etc / hosts และไฟล์คอนฟิกูเรชันอื่น ๆ มากมายคุณไม่ต้องการให้โปรแกรมแก้ไขข้อความทั่วไปแก้ไขไฟล์ แต่คุณจะต้องใช้คำสั่งเฉพาะที่เรียกว่า 'visudo' ซึ่งจะยืนยันไวยากรณ์ที่เหมาะสมก่อนที่จะบันทึกเอกสาร
สำคัญ: การปรับ sudoers ไม่ได้มีไว้สำหรับผู้ใช้ OS X ส่วนใหญ่ เฉพาะผู้ใช้ขั้นสูงที่มีเหตุผลที่น่าสนใจเท่านั้นที่ควรจะแก้ไขไฟล์ sudoers ถ้าคุณไม่ทราบว่าคุณกำลังทำอะไรอยู่และทำไมคุณทำมันอย่าแก้ไขไฟล์ sudoers และอย่าเพิ่มผู้ใช้ไปยังไฟล์ sudoers อาจก่อให้เกิดความเสี่ยงด้านความปลอดภัยหรือคุณอาจทำลายบางสิ่งบางอย่าง
เพิ่มผู้ใช้ลงใน Sudoers ใน Mac OS X
การเพิ่มผู้ใช้ลงใน sudoers ต้องการการใช้ vi ซึ่งอาจทำให้เกิดความสับสนหากไม่คุ้นเคย ไม่คุ้นเคยเราจะร่างลำดับคำสั่งที่สำคัญทั้งหมดเพื่อแก้ไขแทรกและบันทึกไฟล์ใน vi ปฏิบัติตามคำแนะนำอย่างละเอียด
- เปิด Terminal แล้วพิมพ์คำสั่งต่อไปนี้:
- ใช้ปุ่มลูกศรเพื่อเลื่อนไปยังส่วน "#User privilege specification" ซึ่งควรมีลักษณะดังนี้:
- วางเคอร์เซอร์ไว้ที่บรรทัดถัดไปด้านล่างของรายการผู้ดูแลระบบและจากนั้นกดปุ่ม "A" เพื่อแทรกข้อความจากนั้นพิมพ์ข้อความต่อไปนี้ลงในบรรทัดใหม่แทนที่ 'ชื่อผู้ใช้' ด้วยชื่อย่อของผู้ใช้ที่คุณต้องการให้สิทธิ์ สิทธิ์ (แท็บตีระหว่างชื่อผู้ใช้และ ALL):
- ตอนนี้กดปุ่ม "ESC" (escape) เพื่อหยุดการแก้ไขไฟล์
- กดปุ่ม: (ลำไส้ใหญ่) แล้วพิมพ์ "wq" ตามด้วยคีย์ Return เพื่อบันทึกการเปลี่ยนแปลงและออกจาก vi
sudo visudo
# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
username ALL=(ALL) ALL
นี่คือประมาณสิ่งที่ควรมีลักษณะเช่นภาพหน้าจอตัวอย่างที่แสดงชื่อผู้ใช้ 'osxdaily' เพิ่ม:
คุณควรจะดีไปคุณสามารถแมว sudoers ไฟล์เพื่อให้แน่ใจว่าไฟล์มีการแก้ไข:
cat /etc/sudoers
ใช้ cat กับ grep เพื่อค้นหาชื่อผู้ใช้อย่างรวดเร็วหากคุณไม่ต้องการสแกนผ่านไฟล์ทั้งหมด:
cat /etc/sudoers | grep username
ตอนนี้ 'ชื่อผู้ใช้' ได้รับการเพิ่มลงในไฟล์ sudoers คุณควรจะดีไป
แก้ไขข้อผิดพลาด "/ etc / sudoers ไม่ว่างลองอีกครั้งในภายหลัง"
หากคุณกำลังพยายามแก้ไข sudoers และรับไฟล์ 'visudo: / etc / sudoers ไม่ว่างลองใหม่อีกครั้งในภายหลัง' ซึ่งหมายความว่าไฟล์นี้ถูกเปิดอยู่แล้วไม่ว่าจะโดยผู้ใช้รายอื่นหรือโดยบังเอิญหรือโดยการปิด visudo อย่างไม่ถูกต้อง หากคุณใช้เครื่องผู้ใช้หลายเครื่องโปรดตรวจสอบกับผู้ใช้คนอื่น ๆ ก่อนที่จะดำเนินการเพิ่มเติม แต่โดยปกติแล้วจะไม่เกิดขึ้นบ่อยๆในเครื่องผู้ใช้รายเดียว สิ่งสำคัญคือการแยกความแตกต่างของทั้งสองเนื่องจากหากคุณขันไฟล์ sudoers ให้อยู่ในโลกแห่งความขุ่นมัวปัญหาและการคืนค่าระบบปฏิบัติการ (หรือไฟล์ sudoers) จากการสำรองข้อมูลซึ่งการแก้ปัญหานั้นอยู่นอกเหนือขอบเขตของบทความนี้ .
ใน Macs สำหรับผู้ใช้รายเดียวข้อผิดพลาด "sudoers busy" อาจเกิดขึ้นหลังจากออกจากแอป Terminal โดยไม่ต้องออกจาก vi หรือหาก Terminal หรือ OS X ขัดข้องหรือหากไฟล์กำลังเปิดอยู่ในเซสชันอื่น การแก้ปัญหาสำหรับหลังอธิบายกรณีเครื่องใช้ครั้งเดียวค่อนข้างง่ายและคุณสามารถแก้ไขข้อผิดพลาดโดยการลบ sudoers ไฟล์ชั่วคราวที่ทำหน้าที่เป็นล็อค:
sudo rm /etc/sudoers.tmp
คุณจะต้องการทำเช่นนั้นหากคุณมั่นใจว่าผู้ใช้รายอื่น (หรือตัวคุณเอง) ไม่ได้ปรับเปลี่ยนไฟล์เป็นประจำทั้งจากในประเทศหรือจากระยะไกล เนื่องจากการปรับ sudoers มีความก้าวหน้าโดยทั่วไปแล้วเราจะสมมติว่าคุณรู้ว่าคุณกำลังทำอะไรอยู่ที่นี่ แต่ถ้าคุณไม่สามารถติดตามว่า sudoers เปิดอยู่คุณสามารถลองใช้ dtrace หรือ opensnoop เพื่อตรวจสอบการใช้ไฟล์ได้