ใน Filesystem Hierarchy Standard ที่ใช้โดยระบบปฏิบัติการ Linux ไฟล์และไดเร็กทอรีทั้งหมดจะปรากฏภายใต้ไดเร็กทอรีราก “/” แต่การเข้าถึงมักจะถูกจำกัดด้วยเหตุผลด้านความปลอดภัย ในลีนุกซ์รุ่นต่างๆ เช่น Debian คุณสามารถเข้าถึง SSH ได้อย่างเต็มที่โดยใช้คำสั่ง “sudo " สั่งการ. บทช่วยสอนนี้อธิบายวิธีเพิ่มผู้ใช้ใน Sudoers เพื่อให้ผู้ใช้ได้รับอนุญาตให้เรียกใช้ sudo คำสั่ง
การเข้าสู่ระบบในฐานะผู้ใช้ระดับสูงหรือผู้ใช้รูททำให้คุณสามารถแก้ไขทั้งระบบได้ “sudo” ยังสามารถใช้เพื่อเข้าสู่ระบบในฐานะผู้ใช้รายอื่น ซึ่งจำเป็นสำหรับผู้ดูแลระบบและช่างเทคนิคในบางครั้ง
รายชื่อผู้ใช้ (และกลุ่มผู้ใช้) ที่ได้รับอนุญาตให้ดำเนินการคำสั่งต่างๆ จะถูกเก็บไว้ในไฟล์ “/ etc / sudoers” ดังนั้นผู้ดูแลระบบจำเป็นต้องรู้วิธีให้สิทธิ์การเข้าสู่ระบบรูทแก่ผู้ใช้ใหม่โดยการเพิ่มชื่อลงในไฟล์นี้ . มีสองวิธีในการทำเช่นนี้ หนึ่งคือการแก้ไขไฟล์ด้วยตนเอง เมื่อคุณทำเช่นนี้ คุณยังสามารถกำหนดชุดย่อยของสิทธิพิเศษที่พวกเขาได้รับอนุญาตให้ดำเนินการได้เมื่อพวกเขาใช้การเข้าสู่ระบบรูท ทางเลือกที่รวดเร็วกว่าคือเพียงเพิ่มลงในกลุ่มผู้ใช้ “sudo” จากบรรทัดคำสั่ง
การเพิ่มผู้ใช้ในกลุ่ม sudo
โดยปกติ คุณจะต้องเข้าสู่ระบบในฐานะ superuser ก่อนจึงจะสามารถเพิ่มบุคคลอื่นในกลุ่ม sudo ได้ ในการเข้าสู่ระบบเซิร์ฟเวอร์ Debian ในฐานะผู้ใช้รูท –
ssh [email protected]
สมมติว่ามีผู้ใช้ที่คุณต้องการเพิ่มอยู่ในระบบแล้ว คุณสามารถเรียกใช้คำสั่งด้านล่างได้
usermod -aG sudo username
หากต้องการตรวจสอบอีกครั้งว่าคุณเพิ่มพวกเขาในกลุ่มสำเร็จแล้ว ให้พิมพ์ข้อความต่อไปนี้และระบุรหัสผ่านของผู้ใช้
sudo whoami
หากพวกเขามีการเข้าถึง sudo ผลลัพธ์จะพิมพ์ "root" หากไม่มีหรือคุณป้อนรายละเอียดไม่ถูกต้อง คุณจะได้รับข้อความแสดงข้อผิดพลาดแจ้งว่า “ผู้ใช้ไม่อยู่ในไฟล์ sudoers “.
ในการสร้างผู้ใช้ใหม่อย่างสมบูรณ์ คุณสามารถใช้ Linux “adduser ” คำสั่ง;
adduser newusername
จากนั้น คุณจะถูกขอให้ระบุรายละเอียดเพิ่มเติมบางประการเกี่ยวกับพวกเขา รวมถึงการกำหนดรหัสผ่านให้พวกเขาด้วย เมื่อเสร็จแล้ว ข้อมูลของผู้ใช้ใหม่จะถูกเขียนลงในไฟล์ sudoers
หากคุณต้องการกำหนดผู้ใช้ใหม่ให้กับกลุ่มผู้ใช้ sudo จากบรรทัดคำสั่ง คุณสามารถใช้ “usermod ” หรือ “gpasswd “. ตัวอย่างเช่น –
usermod -aG sudo newusername
การเพิ่มผู้ใช้ไปยังไฟล์ sudoers ด้วยตนเอง
นี่เป็นตัวเลือกที่ดีกว่าเมื่อคุณต้องการตั้งค่านโยบายความปลอดภัยแบบกำหนดเองสำหรับ superuser ใหม่ คุณสามารถแก้ไขไฟล์ sudoers ได้โดยตรง หรือสร้างไฟล์การกำหนดค่าใหม่ภายใน /etc/sudoers.d ไดเรกทอรี ไฟล์ใดๆ ที่อยู่ในไดเร็กทอรีนั้นจะถูกเชื่อมกับไฟล์ sudoers อย่างมีประสิทธิภาพ ณ รันไทม์
การใช้ visudo:
ในการแก้ไขไฟล์ sudoers ให้ใช้คำสั่ง “visudo” เสมอ การเรียกใช้ตัวแก้ไขผ่าน visudo ช่วยให้มั่นใจว่า visudo จะตรวจสอบไวยากรณ์ของไฟล์อย่างรอบคอบก่อนที่จะบันทึก หากคุณแก้ไขไฟล์โดยไม่ใช้ visudo ไฟล์จะไม่ทำงาน – และนี่เป็นไฟล์ระบบที่สำคัญ! คุณยังสามารถใช้ visudo เพื่อแก้ไขไฟล์ที่คุณบันทึกลงใน /etc/sudoers.d แต่คุณอาจต้องเรียกใช้ –f ตัวเลือกเพื่อระบุตำแหน่งของไฟล์ที่คุณต้องการแก้ไข
ตัวแก้ไขจริงที่ visudo ใช้ถูกระบุโดยตัวแปรสภาพแวดล้อม EDITOR โดยค่าเริ่มต้นที่ตั้งค่าเป็น vim หากคุณต้องการเปลี่ยนตัวแก้ไขเริ่มต้นเป็นทางเลือก เช่น viduso คุณสามารถแทนที่ค่าเริ่มต้นเช่นนี้ –
EDITOR=nano visudo
การกำหนดสิทธิ์:
ที่ไหนสักแห่งในไฟล์ sudoers คุณอาจเห็นบรรทัดแบบนี้ –
root ALL=(ALL) ALL
นี่แสดงให้เห็นถึงไวยากรณ์ที่คุณใช้เพื่อกำหนดสิทธิ์ของผู้ใช้ ในกรณีนี้ ความหมายคือผู้ใช้รูทสามารถเรียกใช้จาก ALL (ใดๆ) เทอร์มินัลทำหน้าที่เป็น ALL (ใด ๆ ) ผู้ใช้และเรียกใช้ ALL (ใดๆ) คำสั่ง
เพื่อให้ง่ายต่อการใช้กลุ่มของสิทธิพิเศษกับชื่อในไฟล์ sudoers นามแฝงมักจะถูกกำหนดไว้ คุณสามารถสร้างนามแฝงสำหรับกลุ่มผู้ใช้ ช่วงของเทอร์มินัล หรือสำหรับการเข้าถึงกลุ่มคำสั่ง ตัวอย่างเช่น ที่ด้านบนสุดของไฟล์ sudoers คุณสามารถพิมพ์ดังนี้
User_Alias OPERATORS = amy, ben, chris Runas_Alias OP = root, operator Host_Alias NETWORK = 192.168.0.0/255.255.255.0 Cmnd_Alias PRINTING_CMDS = /usr/sbin/lpc, /usr/sbin/lprm
จากนั้นคุณสามารถเรียกใช้ทางลัดเหล่านี้เมื่อคุณให้สิทธิ์การเข้าถึงแก่ผู้ใช้ ตัวอย่างเช่น;
ben ALL = PRINTING_CMDS
สิ่งนี้ทำให้ เบน เพื่อใช้เทอร์มินัลใดๆ ภายในช่วงที่กำหนดของที่อยู่ IP และดำเนินการตามคำแนะนำของเครื่องพิมพ์ lpc และ lprm (ซึ่งอยู่ใน /usr/sbin/ )
สิทธิ์ในการรูทใน Debian นั้นทรงพลังมาก นั่นหมายความว่ามีโอกาสมากมายที่จะทำให้การควบคุมการเข้าถึงของคุณเสียหาย ทำให้เซิร์ฟเวอร์เสียหาย หรือทำลายข้อมูล ด้วยเหตุผลดังกล่าว หลีกเลี่ยงการให้ผู้ใช้ทุกคนเข้าถึงรูทแบบเต็มและหลีกเลี่ยงการลงชื่อเข้าใช้ในฐานะผู้ใช้ระดับสูงเมื่อคุณไม่ต้องการ