บางทีหนึ่งในข้อความเตือน Unix และ Linux ที่น่ากลัวกว่าสำหรับผู้มาใหม่จะอยู่ในรูปแบบของ “____ ไม่อยู่ในไฟล์ sudoers เหตุการณ์นี้จะถูกรายงาน” ในกรณีที่มีข้อความแสดงข้อผิดพลาดจริง ขีดล่างจะถูกแทนที่ด้วยชื่อผู้ใช้ของคุณ ซึ่งทำให้ดูเหมือนว่ามีคนได้ยินเกี่ยวกับความผิดพลาดของคุณ!
คุณไม่ต้องกังวลมากเกินไป ข้อความเกี่ยวกับเหตุการณ์ที่กำลังรายงานเป็นเพียงหมายเหตุว่าข้อความนั้นจะลงในบันทึกของระบบ ซึ่งผู้ดูแลระบบจะต้องตรวจสอบถึงจุดหนึ่งเพื่อหาช่องโหว่ที่อาจเกิดขึ้น หากคุณใช้ระบบผู้ใช้คนเดียว คุณก็ไม่มีอะไรต้องกังวลยกเว้นการใช้ขั้นตอนต่อไปนี้เพื่อแก้ไขปัญหาทั่วไปนี้ จะไม่มีใครเห็นรายงานเหตุการณ์ที่เกิดขึ้น
วิธีที่ 1:แก้ไข sudo ด้วยแอป usermod
ลองทำซ้ำข้อผิดพลาดโดยเรียกใช้ sudo -i ด้วยตัวเอง ระบบจะขอให้คุณป้อนรหัสผ่าน และเมื่อคุณทำเสร็จแล้ว คุณควรมีรูทเชลล์ หากเป็นกรณีนี้ ให้พิมพ์ exit เพื่อออกจากระบบ ณ จุดนี้ คุณควรจะสามารถกลับมาใช้ sudo เพื่อเรียกใช้คำสั่งในฐานะ root ได้โดยไม่ต้องเล่นอีกต่อไป
สมมติว่าไม่มี คุณจะต้องเข้าถึงรูทด้วยวิธีอื่น คุณสามารถกด Ctrl+Alt+F2 ค้างไว้เพื่อรับเทอร์มินัลเสมือน และพยายามเข้าสู่ระบบของคุณในฐานะผู้ใช้รูท หากคุณใช้ Debian, Arch, Fedora, CentOS หรือเครื่องอื่นๆ ที่ให้สิทธิ์คุณดำเนินการดังกล่าว
เมื่อคุณไปถึงที่นั่นแล้ว ให้เรียกใช้ usermod -aG sudo,adm ____ โดยแทนที่ขีดล่างด้วยชื่อผู้ใช้จริงของคุณ คุณอาจไม่เห็นผลลัพธ์ใดๆ เลย ออกจากพรอมต์รูทแล้วกด Ctrl+Alt+F7 เพื่อกลับไปที่เดสก์ท็อปกราฟิกของคุณ
ตอนนี้คุณสามารถใช้ sudo ได้ตามปกติเพราะคุณจะอยู่ในกลุ่ม sudo หากต้องการตรวจสอบและแน่ใจว่าคุณเป็นเช่นนั้น ให้เรียกใช้ getent group sudo ในฐานะผู้ใช้ทั่วไป
คุณควรพบชื่อของคุณอยู่ที่นั่น ตอนนี้รัน id ด้วยตัวเองและควรแสดงรายการคุณในกลุ่ม sudo ด้วย
วิธีที่ 2:การรีเซ็ตรหัสผ่าน Ubuntu
กระบวนการนั้นง่ายพอ ยกเว้นความจริงที่ว่า Ubuntu และการหมุนอื่นๆ เช่น Xubuntu, Kubuntu และ Lubuntu จะบล็อกคุณออกจากบัญชีรูท โดยทั่วไปจะช่วยลดความเสี่ยงของข้อความแสดงข้อผิดพลาดประเภท "เหตุการณ์นี้จะถูกรายงาน" แต่ถ้าคุณเห็นสิ่งนี้ แสดงว่ามีบางสิ่งผิดปกติเกิดขึ้นกับบัญชีผู้ใช้หลายบัญชี และคุณอาจไม่สามารถเข้าถึงบัญชีที่คุณสร้างขึ้นเมื่อคุณติดตั้งอะไรก็ตาม * ระบบ buntu ที่คุณใช้งานอยู่ ทำดังต่อไปนี้หากคุณจำรหัสผ่านไม่ได้เท่านั้น
หากเป็นกรณีนี้และคุณลืมรหัสผ่าน ให้บันทึกงานทั้งหมดของคุณและปิดทุกสิ่งที่คุณเปิดไว้ รีบูตระบบและหลังจากที่โลโก้ BIOS หรือ UEFI กะพริบ ให้กดปุ่ม Shift อย่างรวดเร็ว เลือก “ตัวเลือกขั้นสูงสำหรับ Ubuntu” จากนั้นเลือกโหมดการกู้คืน
เลื่อนลงไปที่พรอมต์รูทแล้วเรียกใช้ mount -o rw,remount / ตามด้วย passwd ____ แทนที่ขีดล่างด้วยชื่อบัญชีที่คุณสร้างขึ้นในตอนแรก ป้อนรหัสผ่านใหม่แล้วรีสตาร์ท ผู้ใช้บางคนแปลกใจว่าการเปลี่ยนรหัสผ่านนี้ทำได้ง่ายเพียงใด แต่สิ่งนี้ไม่น่าจะเป็นปัญหา ตราบใดที่คุณแน่ใจว่าจะไม่ละทิ้งการเข้าถึงระบบทางกายภาพของคุณ
ไม่ว่าคุณจะเพิ่งรีเซ็ตมันหรือจำมันได้ ให้เปิดเทอร์มินัลแล้วเรียกใช้ sudo usermod -aG sudo,adm ____ โดยแทนที่ช่องว่างอีกครั้งด้วยชื่อของบัญชีที่คุณสร้างขึ้นครั้งแรก คุณจะได้รับแจ้งให้ใส่รหัสผ่านของคุณ ทันทีที่คุณทำเสร็จแล้ว คุณจะสามารถใช้คำสั่ง sudo ได้เหมือนปกติจากบัญชีนี้อีกครั้ง
คุณอาจต้องการตรวจสอบว่าการเปลี่ยนแปลงติดอยู่หรือไม่ ลองใช้ getent group sudo ตามด้วย id เหมือนที่เคยทำมา เพื่อให้แน่ใจว่าทุกอย่างทำงานอย่างถูกต้อง
สมมติว่าคุณเห็น sudo อยู่ที่ใดที่หนึ่งในผลลัพธ์ของคำสั่งทั้งสองนี้ คุณควรพร้อม คุณไม่จำเป็นต้องแก้ไขไฟล์ sudoers ด้วยตนเองโดยใช้ visudo หรือทำตามขั้นตอนอื่นๆ ที่คุณอาจคุ้นเคย หากคุณเคยแก้ไขปัญหานี้มาก่อน โดยที่คำสั่งทั้งสองนี้จะต้องเคลียร์อย่างถูกต้อง