Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

Debian:วิธีเพิ่มผู้ใช้ใน Sudoers

ใน 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 นั้นทรงพลังมาก นั่นหมายความว่ามีโอกาสมากมายที่จะทำให้การควบคุมการเข้าถึงของคุณเสียหาย ทำให้เซิร์ฟเวอร์เสียหาย หรือทำลายข้อมูล ด้วยเหตุผลดังกล่าว หลีกเลี่ยงการให้ผู้ใช้ทุกคนเข้าถึงรูทแบบเต็มและหลีกเลี่ยงการลงชื่อเข้าใช้ในฐานะผู้ใช้ระดับสูงเมื่อคุณไม่ต้องการ