บัญชีผู้ใช้ของฉันเป็นบัญชีมาตรฐานใน Mac ของฉัน ฉันต้องเข้าสู่ Terminal โดยใช้อะไรsudo
เพื่อทำให้ฉันเป็นผู้ดูแลระบบ
บัญชีผู้ใช้ของฉันเป็นบัญชีมาตรฐานใน Mac ของฉัน ฉันต้องเข้าสู่ Terminal โดยใช้อะไรsudo
เพื่อทำให้ฉันเป็นผู้ดูแลระบบ
คำตอบ:
หากผู้ใช้จริง<user_name>มีบัญชีมาตรฐานคุณจะต้องป้อน
sudo dscl . -append /Groups/admin GroupMembership <user_name>
เพื่อสร้าง<user_name>ผู้ดูแลระบบ
ผู้ใช้จำนวน จำกัด เท่านั้นคือsudoers (เช่นบัญชีที่ได้รับอนุญาตให้เรียกใช้su
หรือsudo
มีสิทธิ์รูทสำเร็จ) ไฟล์ sudoers มาตรฐาน ( / etc / sudoers ) ใน OS X มีลักษณะดังนี้:
...
# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
...
ดังนั้นเฉพาะรูทและสมาชิกของกลุ่มผู้ดูแลระบบจึงได้รับอนุญาตให้ทำงานsudo
โดยค่าเริ่มต้น คำสั่งดังกล่าวดำเนินการโดย<user_name>จะล้มเหลวเนื่องจาก <user_name>ไม่อยู่ในรายการ
ในการเปิดใช้งานsudoingสำหรับ<user_name>คุณจะต้องเพิ่ม<user_name>ในรายการ (ด้านล่าง# สเปคสิทธิ์พิเศษของผู้ใช้ ) หรือยกเลิกข้อคิดเห็นบรรทัด% wheel sudo visudo
ที่ต้องทำงานโดยsudoersอีกครั้ง (นั่นคือ Catch22 ที่กล่าวถึงโดย Tetsujin)
นั่นเป็นบิตของ Catch22 ...
คุณจำเป็นต้องมีอยู่แล้วเป็นผู้ดูแลระบบเพื่ออยู่ในรายชื่อ sudoers [มีข้อยกเว้นด้วยตนเองการเปลี่ยนแปลงน้อยมาก]
เป็นหลักคุณไม่สามารถส่งเสริมตัวเอง
นั่นคือจุดทั้งหมดของ sudo และการเป็นผู้ดูแลระบบเพื่อให้สามารถกำหนดความสามารถที่ไม่ใช่ผู้ดูแลระบบที่ จำกัด
หากคุณสามารถเข้าถึงบัญชีผู้ดูแลระบบคุณสามารถเป็นบัญชีนั้นได้ชั่วคราวด้วย:
su - <admin_username>
sudo
จากนั้นคุณสามารถดำเนินการบริหารผ่าน
หากคุณไม่มีสิทธิ์เข้าถึงบัญชีผู้ดูแลระบบแสดงว่าไม่มีวิธี "การลงโทษ" ในการรับสิทธิ์การเข้าถึงระดับผู้ดูแลระบบ (เนื่องจากเป็นจุดรวมของการมีบทบาทผู้ดูแลระบบแยกต่างหาก) แต่มีวิธีการเข้าถึงที่ไม่ถูกต้องตามกฎหมายจำนวนมาก เช่นการเลื่อนระดับสิทธิ์ใช้ประโยชน์หรือบูตเข้าสู่โหมดผู้ใช้คนเดียว (สิ่งเหล่านี้จะถูกทิ้งไว้เป็นแบบฝึกหัดให้ผู้อ่าน)