ผมเข้าใจว่าถ้าคุณต้องการที่จะปรับเปลี่ยนผู้ที่สามารถใช้และสิ่งที่พวกเขาสามารถทำอะไรกับมันที่คุณควรใช้sudo
visudo
ฉันรู้ว่าฉันไม่ควรแก้ไขไฟล์ / etc / sudoers โดยตรงด้วยตนเอง
มันคืออะไรvisudo
ที่แก้ไขไฟล์โดยตรงไม่ได้? มีอะไรผิดพลาด?
ผมเข้าใจว่าถ้าคุณต้องการที่จะปรับเปลี่ยนผู้ที่สามารถใช้และสิ่งที่พวกเขาสามารถทำอะไรกับมันที่คุณควรใช้sudo
visudo
ฉันรู้ว่าฉันไม่ควรแก้ไขไฟล์ / etc / sudoers โดยตรงด้วยตนเอง
มันคืออะไรvisudo
ที่แก้ไขไฟล์โดยตรงไม่ได้? มีอะไรผิดพลาด?
คำตอบ:
visudo
ตรวจสอบไวยากรณ์ของไฟล์ก่อนเขียนทับsudoers
ไฟล์จริง
หากคุณใช้โปรแกรมแก้ไขแบบธรรมดาสับสนไวยากรณ์และบันทึก ... sudo
จะ (อาจ) หยุดทำงานและเนื่องจาก/etc/sudoers
สามารถแก้ไขได้โดยroot
คุณจะติดอยู่ (ยกเว้นว่าคุณมีวิธีอื่นในการรับรูท)
นอกจากนี้ยังช่วยให้มั่นใจได้ว่าการแก้ไขจะเป็นการดำเนินการปรมาณู การล็อคนี้มีความสำคัญหากคุณต้องการให้แน่ใจว่าไม่มีใครสามารถทำให้การเปลี่ยนแปลงการกำหนดค่าของคุณพิจารณาอย่างรอบคอบ สำหรับการแก้ไขไฟล์อื่น ๆ ในฐานะรูทนอกจาก/etc/sudoers
นั้นยังมีsudoedit
คำสั่งที่ป้องกันความขัดแย้งในการแก้ไขเช่นกัน
sudo
และ OS X ไม่มีเครื่องมือ GNU เนื่องจาก sudo ถูกสร้างขึ้นครั้งแรกเป็นแอปพลิเคชั่นโอเพนซอร์ซจึงไม่มีเหตุผลว่าทำไมพวกเขาถึงมีการใช้งานมากมาย sudo
และsudoedit
มีคำสั่งเดียวกันsudo
ทำงานเป็นเมื่อเรียกว่าเป็นsudo -e
sudoedit
ฉันเชื่อว่าเป็นเพียงว่า OS X ลืมที่จะเพิ่มsudoedit -> sudo
ลิงค์ แต่คุณควรจะสามารถใช้sudo -e
หรือโทรsudo
ด้วย argv [0] ตั้งค่าsudoedit
ให้รับพฤติกรรมเดียวกัน
visudo
ใช้นาโนตามค่าเริ่มต้น
sudo vim /etc/sudoers
บอทช์และไวยากรณ์แล้วฉันจะไม่สามารถsudo vim /etc/sudoers
แก้ไขได้อีก อย่างมีประสิทธิภาพความสามารถทั้งหมดในการยกระดับสิทธิ์ผ่าน sudo จะหายไปเนื่องจากระบบจะไม่สามารถแยกวิเคราะห์ไฟล์ได้
จากหน้าคน visudo:
visudo ล็อคไฟล์ sudoers จากการแก้ไขหลาย ๆ อย่างพร้อมกันตรวจสอบสติพื้นฐานและตรวจหาข้อผิดพลาดในการแยกวิเคราะห์ หากไฟล์ sudoers กำลังถูกแก้ไขคุณจะได้รับข้อความให้ลองอีกครั้งในภายหลัง
ตรวจสอบคำตอบนี้จากข้อผิดพลาดของเซิร์ฟเวอร์