วิธีเพิ่มผู้ใช้ในไฟล์ sudoers ใน Linux
เผยแพร่แล้ว: 2022-11-02 คนที่สามารถใช้คำสั่ง sudo
ของ Linux ได้นั้นเป็นสมาชิกของสโมสรขนาดเล็กและเลือก ซึ่งบางครั้งเรียกว่ารายการ "sudoers" สมาชิกแต่ละคนมีพลังเท่ากับ root
ท แล้วคุณจะเข้าร่วมคลับนั้นได้อย่างไร? เราจะพูดถึงการเพิ่มบุคคลใน sudoers ตลอดจนแก้ไขไฟล์ sudoers เพื่อจำกัดการอนุญาต
sudo: พลังพิเศษ Alter-Ego . ของคุณ
ไฟล์ sudoers และ visudo
เพิ่มผู้ใช้ sudo ใหม่ใน Ubuntu และ Linux Distros อื่น ๆ
จำกัดสิทธิ์ sudo โดยการแก้ไขไฟล์ sudoers
ใครก็ตามที่ถือคำสั่งนี้
sudo: พลังพิเศษ Alter-Ego . ของคุณ
ในการติดตั้ง Linux ผู้ใช้รูทเป็นผู้ใช้ที่มีสิทธิ์สูงสุด พวกเขาสามารถทำงานดูแลระบบใด ๆ เข้าถึงไฟล์ใด ๆ โดยไม่คำนึงถึงว่าเป็นเจ้าของจริง ๆ และสามารถสร้างจัดการและลบผู้ใช้รายอื่นได้
พลังระดับนี้อันตราย หาก root
ททำผิดพลาด ผลลัพธ์ก็อาจเป็นหายนะได้ พวกเขามีความสามารถในการเมาต์และยกเลิกการต่อเชื่อมระบบไฟล์ และเขียนทับได้ทั้งหมด วิธีทำงานที่ปลอดภัยกว่ามากคือไม่ต้องเข้าสู่ระบบในฐานะ root
ท
ผู้ใช้ที่ได้รับการเสนอชื่อสามารถใช้ sudo
เพื่อรับอำนาจการบริหารชั่วคราว ดำเนินการที่จำเป็น จากนั้นกลับสู่สถานะปกติที่ไม่มีสิทธิพิเศษ สิ่งนี้ปลอดภัยกว่าเพราะคุณปลุกพลังที่สูงกว่าของคุณอย่างมีสติเมื่อคุณต้องการ และในขณะที่คุณจดจ่ออยู่กับการทำสิ่งใดก็ตามที่จำเป็นต้องใช้พลังเหล่านั้น
คำสั่ง sudo
เทียบเท่ากับ Linux กับการตะโกนว่า "Shazam" เมื่อเรื่องที่น่ากลัวจบลง คุณละทิ้งอัตตาที่มีพลังมหาศาลและกลับไปสู่ความธรรมดาที่น่าเบื่อหน่าย
การเข้าสู่ระบบในฐานะ root
ทถูกปิดโดยค่าเริ่มต้นในดิสทริบิวชันที่ทันสมัยส่วนใหญ่ แต่สามารถคืนสถานะได้ การใช้บัญชีรูทสำหรับงานประจำวันนั้นไม่เหมาะ ข้อผิดพลาดที่มักจะส่งผลกระทบต่อผู้ใช้คนเดียวหรือที่จะถูกบล็อกทั้งหมดเนื่องจากสิทธิ์ไม่เพียงพอ สามารถทำงานได้อย่างไม่มีอุปสรรคหาก root
ทมีปัญหา
การกระจาย Linux สมัยใหม่ให้สิทธิ์ sudo
แก่บัญชีผู้ใช้ที่สร้างขึ้นระหว่างขั้นตอนการตั้งค่าคอนฟิกการติดตั้งหรือหลังการติดตั้ง หากใครก็ตามพยายามใช้ sudo
พวกเขาจะเห็นข้อความเตือนดังนี้:
แมรี่ไม่อยู่ในไฟล์ sudoers เหตุการณ์นี้จะถูกรายงาน
ที่ดูเหมือนธรรมดาเพียงพอ ผู้ใช้ mary
ของเราไม่สามารถใช้ sudo
ได้ เนื่องจากเธอไม่ได้อยู่ใน "ในไฟล์ sudoers" มาดูกันว่าเราจะเพิ่มเธอได้อย่างไร
ที่เกี่ยวข้อง: วิธีควบคุมการเข้าถึง sudo บน Linux
ไฟล์ sudoers และ visudo
ก่อนที่ใครจะสามารถใช้คำสั่ง sudo
เราต้องทำงานกับ sudoers
แสดงรายการกลุ่มผู้ใช้ของผู้ใช้ที่สามารถใช้ sudo
หากเราต้องแก้ไขไฟล์ เราต้องแก้ไข
ต้อง เปิดไฟล์ sudoers
โดยใช้คำสั่ง visudo
ซึ่งจะล็อก sudoers
และป้องกันไม่ให้คนสองคนพยายามทำการเปลี่ยนแปลงพร้อมกัน นอกจากนี้ยังทำการตรวจสอบสติก่อนที่จะบันทึกการแก้ไขของคุณ เพื่อให้แน่ใจว่าจะแยกวิเคราะห์อย่างถูกต้องและถูกต้องตามหลักไวยากรณ์
โปรดทราบว่า visudo
ไม่ใช่โปรแกรมแก้ไข แต่จะเปิดใช้ตัวแก้ไขที่มีอยู่ตัวใดตัวหนึ่งของคุณ บน Ubuntu 22.04, Fedora 37 และ Manjaro 21 visudo
ได้เปิดตัว nano นั่นอาจไม่ใช่กรณีบนคอมพิวเตอร์ของคุณ
หากเราต้องการให้สิทธิ์การเข้าถึง sudo
แก่ผู้อื่น เราจำเป็นต้องอ้างอิงข้อมูลบางส่วนจาก sudoers
เท่านั้น หากเราต้องการให้ละเอียดยิ่งขึ้นและให้ความสามารถของ root
แก่ผู้ใช้ เราจำเป็นต้องแก้ไขไฟล์และบันทึกการเปลี่ยนแปลง
ไม่ว่าจะด้วยวิธีใด เราต้องใช้ visudo
ที่เกี่ยวข้อง: วิธีออกจาก Vi หรือ Vim Editor
เพิ่มผู้ใช้ sudo ใหม่ใน Ubuntu และ Linux Distros อื่น ๆ
เรามีผู้ใช้สองคนที่ต้องการเข้าถึงสิทธิ์รูทเพื่อดำเนินการตามบทบาทหน้าที่ของตน พวกเขาคือทอมและแมรี่ แมรี่ต้องมีสิทธิ์เข้าถึงทุกสิ่งที่ root
ททำได้ Tom จำเป็นต้องติดตั้งแอปพลิเคชั่นเท่านั้น
มาเพิ่ม Mary ในกลุ่ม sudoers ก่อน เราต้องเริ่ม visudo
sudo visudo
เลื่อนลงมาในตัวแก้ไขจนกว่าคุณจะเห็นส่วน "ข้อกำหนดสิทธิ์ของผู้ใช้" มองหาความคิดเห็นที่คล้ายกับ "อนุญาตให้สมาชิกของกลุ่มนี้ดำเนินการคำสั่งใดๆ"
เราบอกว่าสมาชิกของกลุ่ม sudo
สามารถรันคำสั่งใดก็ได้ ทั้งหมดที่เราจำเป็นต้องรู้ในกรณีของแมรี่คือชื่อของกลุ่มนั้น มันไม่เสมอไป sudo
; อาจเป็น wheel
หรืออย่างอื่น ตอนนี้เรารู้ชื่อกลุ่มแล้ว เราสามารถปิดตัวแก้ไขและเพิ่ม Mary ในกลุ่มนั้นได้
เรากำลังใช้คำสั่ง usermod
พร้อมตัวเลือก -a
(ต่อท้าย) และ -G
(ชื่อกลุ่ม) ตัวเลือก -G
ช่วยให้เราสามารถตั้งชื่อกลุ่มที่เราต้องการเพิ่มผู้ใช้ได้ และตัวเลือก -a
จะบอกให้ผู้ใช้ usermod
เพิ่มกลุ่มใหม่ลงในรายการกลุ่มที่มีอยู่ที่ผู้ใช้รายนี้อยู่แล้ว
หากคุณไม่ได้ใช้ตัวเลือก -a
กลุ่มเดียวที่ผู้ใช้ของคุณจะอยู่คือกลุ่มที่เพิ่มใหม่ ตรวจสอบอีกครั้ง และตรวจสอบให้แน่ใจว่าคุณได้รวมตัวเลือก -a
sudo usermod -aG sudo mary
ครั้งต่อไปที่ Mary เข้าสู่ระบบ เธอจะสามารถเข้าถึง sudo
ได้ เราเข้าสู่ระบบของเธอแล้ว และกำลังพยายามแก้ไขไฟล์ตารางระบบไฟล์ “/etc/fstab” นี่คือไฟล์ที่ไม่อยู่ในขอบเขตสำหรับทุกคนยกเว้น root
sudo nano /etc/fstab
โปรแกรมแก้ไข nano จะเปิดขึ้นพร้อมกับไฟล์ "/ etc / fstab" ที่โหลด
หากไม่มีสิทธิ์ sudo
คุณจะสามารถเปิดไฟล์นี้เป็นไฟล์แบบอ่านอย่างเดียวได้เท่านั้น แมรี่ไม่มีข้อจำกัดเหล่านั้นอีกต่อไป เธอสามารถบันทึกการเปลี่ยนแปลงใดๆ ที่เธอทำ
ปิดตัวแก้ไขและ อย่า บันทึกการเปลี่ยนแปลงใดๆ ที่คุณได้ทำไว้
จำกัดสิทธิ์ sudo โดยการแก้ไขไฟล์ sudoers
ทอม ผู้ใช้รายอื่นของเรา จะได้รับอนุญาตให้ติดตั้งซอฟต์แวร์ แต่เขาจะไม่ได้รับสิทธิพิเศษทั้งหมดที่แมรี่มอบให้
เราจำเป็นต้องแก้ไข sudoers
sudo visudo
เลื่อนลงมาในตัวแก้ไขจนกว่าคุณจะเห็นส่วน "ข้อกำหนดสิทธิ์ของผู้ใช้" มองหาความคิดเห็นที่คล้ายกับ "อนุญาตให้สมาชิกของกลุ่มนี้ดำเนินการคำสั่งใดๆ" เป็นจุดเดียวกันในไฟล์ที่เราพบชื่อของกลุ่มที่เราต้องการจะเพิ่ม Mary เข้าไป
เพิ่มบรรทัดเหล่านี้ด้านล่างส่วนนั้น
#ผู้ใช้ทอมสามารถติดตั้งซอฟต์แวร์ได้ tom ALL=(root) /usr/bin/apt
บรรทัดแรกเป็นความคิดเห็นง่ายๆ โปรดทราบว่ามีแท็บระหว่างชื่อผู้ใช้ "ทอม" กับคำว่า "ทั้งหมด"
นี่คือสิ่งที่รายการในบรรทัดหมายถึง
- tom : ชื่อของ กลุ่มเริ่มต้น ของผู้ใช้ โดยปกติแล้วจะเหมือนกับชื่อบัญชีผู้ใช้ของพวกเขา
- ALL= : กฎนี้ใช้กับโฮสต์ทั้งหมดในเครือข่ายนี้
- (รูท) : สมาชิกของกลุ่ม “ทอม”—นั่นคือ ผู้ใช้ทอม—สามารถรับสิทธิ์
root
ท สำหรับคำสั่งที่แสดง - /usr/bin/apt : นี่เป็นคำสั่งเดียวที่ผู้ใช้ Tom สามารถเรียกใช้ในฐานะ
root
ได้
เราได้ระบุ apt
package manager ที่นี่ เนื่องจากคอมพิวเตอร์เครื่องนี้ใช้ Ubuntu Linux คุณต้องแทนที่ด้วยคำสั่งที่เหมาะสมหากคุณใช้การแจกจ่ายอื่น
เข้าสู่ระบบ Tom และดูว่าเราได้รับพฤติกรรมที่คาดหวังหรือไม่ เราจะพยายามแก้ไขไฟล์ “/etc/fstab”
sudo nano /etc/fstab
คำสั่งนั้นถูกปฏิเสธ และเราได้รับแจ้งว่า “user tom ไม่ได้รับอนุญาตให้ดำเนินการ '/usr/bin/nano /etc/fstab' ในฐานะ root …”
นั่นคือสิ่งที่เราต้องการ ผู้ใช้ Tom ควรจะสามารถใช้ apt
package manager ได้เท่านั้น มาทำให้แน่ใจว่าพวกเขาสามารถทำเช่นนั้นได้
sudo apt ติดตั้ง neofetch
คำสั่งดำเนินการสำเร็จสำหรับ Tom
ใครก็ตามที่ถือคำสั่งนี้
หากผู้ใช้ของคุณสามารถใช้ sudo
ได้ คุณจะมีความสับสนวุ่นวายอยู่ในมือ แต่ก็คุ้มค่าที่จะส่งเสริมผู้ใช้รายอื่นเพื่อให้พวกเขาสามารถแบ่งเบาภาระการดูแลระบบของคุณได้ เพียงตรวจสอบให้แน่ใจว่าพวกเขามีค่าควรและจับตาดูพวกเขา
แม้ว่าคุณจะเป็นผู้ใช้เพียงคนเดียวในคอมพิวเตอร์ของคุณ แต่ก็ควรพิจารณาสร้างบัญชีผู้ใช้อื่นและให้สิทธิ์เข้าถึง sudo
อย่างเต็มรูปแบบ ด้วยวิธีนี้ หากคุณพบว่าตัวเองถูกล็อกไม่ให้เข้าใช้บัญชีหลัก คุณมีบัญชีอื่นที่คุณสามารถเข้าสู่ระบบด้วยเพื่อพยายามแก้ไขสถานการณ์
ที่เกี่ยวข้อง: วิธีตรวจสอบการใช้คำสั่ง sudo บน Linux