ใช้วิธีใดในการให้สิทธิ์ sudo


13

อะไรคือความแตกต่างระหว่างการเพิ่มผู้ใช้/etc/sudoersและusermod -a -G sudo? ควรใช้วิธีใดในการให้สิทธิ์ sudo


6
สำหรับ Ubuntu คุณควรหลีกเลี่ยงการแก้ไข/etc/sudoersภายใต้เงื่อนไขใด ๆ แทนการเพิ่มแฟรกเมนต์การกำหนดค่าลงใน/etc/sudoers.dไดเรกทอรีแทน การใช้โฟลเดอร์แฟรกเมนต์ทำให้การอัพเกรดง่ายขึ้นเนื่องจากคุณแก้ไข conffile
Zoredache

@Zoredache - จุดที่ยอดเยี่ยม คุณสนใจไหมถ้าฉันเพิ่มเข้าไปในคำตอบของฉัน? ฉันไม่ต้องการให้เครดิตสำหรับมัน แต่เคล็ดลับนี้ควรมีชีวิตอยู่ในคำตอบที่ไหนสักแห่งในกรณีที่ความคิดเห็นพระเจ้า nuke นี้ด้วยเหตุผลบางอย่าง
EEAA

2
@EEAA ฉันอนุญาตให้คุณใช้ข้อความด้านบนและความคิดเห็นอื่น ๆ ที่ฉันโพสต์เพื่อรวมเป็นคำตอบจริง ฉันเพิ่มความคิดเห็นเพราะฉันขี้เกียจ / ไม่ว่างที่จะเพิ่มคำตอบแบบเต็ม แต่ฉันไม่รังเกียจถ้าผู้คนรับความคิดเห็นของฉันและรวมเข้ากับคำตอบที่ดี
Zoredache

คำตอบ:


19

หากคุณสามารถหลีกเลี่ยงได้อย่าให้สิทธิ์ sudo แก่ผู้ใช้รายบุคคล ให้สิทธิ์แก่กลุ่มเสมอจากนั้นเพิ่มผู้ใช้ในกลุ่มนั้น

สำหรับเซิร์ฟเวอร์อูบุนตูที่ใช้แทนการเพิ่มสายที่จะ/etc/sudoersเพิ่มชิ้นส่วนไฟล์ config /etc/sudoers.dเข้าไป สิ่งนี้มีความยืดหยุ่นเข้าใจง่ายขึ้นมีความยืดหยุ่นมากขึ้นเมื่อเผชิญกับการอัพเกรดและทำงานได้ดีขึ้นกับระบบที่จัดการโดยระบบการจัดการการกำหนดค่า

หมายเหตุ: ไม่ต้องแก้ไข/etc/sudoersโดยตรง ให้ใช้visudoซึ่งจะทำการตรวจสอบไวยากรณ์ในการแก้ไขของคุณป้องกันไม่ให้คุณทำลายการกำหนดค่า sudo ด้วยไวยากรณ์ที่ไม่ถูกต้อง


ทำไมไม่เพิ่มกลุ่มเพื่อ/etc/sudoers?
Flak DiNenno

1
@FlakDiNenno - ใช่นั่นคือสิ่งที่ฉันแนะนำ
EEAA

อ่า ... ฉันคิดว่าคุณพูดถึงusermod -a -G sudo
Flak DiNenno

+1 สำหรับคำเตือนเกี่ยวกับการใช้ visudo แทนการแก้ไขโดยตรง
Flak DiNenno

visudoจุดที่ดีเกี่ยวกับ บางคนไม่ทราบว่ามีเหตุผลที่/etc/sudoersทำเครื่องหมายว่าอ่านอย่างเดียว
ub3rst4r

9

ฉันเพิ่งพบชิ้นอาหารอันโอชะเล็ก ๆ น้อย ๆ ที่นั่น ... ดูเหมือนว่าคุณจะต้องระมัดระวังเป็นพิเศษด้วยการใช้-Gตัวเลือกใน Ubuntu โดยเฉพาะอย่างยิ่งใน-gตัวเลือกการรวมกัน ดังนั้น:

  1. ใช้usermod -aGเพื่อเพิ่มผู้ใช้ไปยังกลุ่ม
  2. จากนั้นตามที่ @EEAA แนะนำให้เพิ่มกลุ่มในไฟล์ / etc / sudoers โดยใช้$ sudovisudoคำสั่ง (เรียกใช้ตัวแก้ไขที่มีสิทธิพิเศษพร้อมการตรวจสอบไวยากรณ์โดยอัตโนมัติ)

นี่คือข้อมูลเกี่ยวกับ-aGตัวเลือกใน Ubuntu ที่นำมาจากที่นี่http://ubuntuforums.org/showthread.php?t=1240477 :

'ฉันกำลังอ่านWiley "Linux Command Line และ Scripting Bible" - และพวกเขาบอกว่า usermod -G "ผนวก" กลุ่มกับบัญชีผู้ใช้ใด ๆ ก็ตามที่คุณกำลังปรับเปลี่ยน ฉันพบว่าสิ่งนี้เป็นเท็จใน Ubuntu ไม่ทราบว่ามันแตกต่างจาก distro อื่นหรือพิมพ์ผิดในหนังสือ มันจะลบคุณออกจากกลุ่มอื่น ๆ ที่คุณเป็นเจ้าของยกเว้นกลุ่มผู้ใช้เริ่มต้นของคุณ (แก้ไขโดยตัวเลือก -g) ฉันจัดการเพื่อลบตัวเองออกจากกลุ่มผู้ดูแลและไม่สามารถ sudo อะไรอีกต่อไป ขอบคุณพระเจ้าสำหรับโหมดการกู้คืน ... '

ตัวเลือกที่ถูกต้องคือusermod -aG บทเรียน...


2
ผู้ลงคะแนนเสียงสามารถมีมารยาทที่จะให้คำวิจารณ์ที่สร้างสรรค์บางอย่างได้ที่นี่ TIA
Flak DiNenno

ฉันไม่ได้ลงคะแนนให้คุณ แต่ 'คำตอบ' ของคุณไม่ได้ตอบคำถามที่ถาม นี่เป็นเว็บไซต์ถาม - ตอบที่เข้มงวดโดยทั่วไปเราคาดหวังคำตอบเพื่อตอบคำถามที่ถามโดยตรง BTW ใช่ฉันรู้ว่าคุณตอบคำถามเล็กน้อย แต่ 'คำตอบ' ของคุณดูเหมือนจะพูดว่าทำในสิ่งที่ EEAA พูด แต่ถูกเตือนเกี่ยวกับการเล่นโวหารแปลก ๆ นี้
Zoredache

@Zoredache ขอบคุณที่สละเวลา ขั้นตอนที่ 1 & 2 ไม่ได้ให้คำแนะนำอย่างชัดเจนเกี่ยวกับ "วิธีที่ต้องการสำหรับให้สิทธิ์ sudo" อย่างชัดเจนหรือ OP ถามอะไร
Flak DiNenno

1

คุณไม่ได้บอกเราว่าสภาพแวดล้อมของคุณใหญ่แค่ไหน แต่หากเป็นมากกว่าหนึ่งเครื่องคุณอาจต้องการพิจารณากำหนดค่าsudoโดยใช้ LDAPเป็นอีกทางเลือกหนึ่งในการแก้ไข sudoers ในพื้นที่ (ผ่านvisudoหรือใช้/etc/sudoers.dวิธีการแฟรกเมนต์)

การกำหนดค่า LDAP เป็นวิธีที่ผ่านการทดสอบอย่างดีเพื่อให้แน่ใจว่าเครื่องหลายเครื่องมีการsudoกำหนดค่าเดียวกันและนำเสนอสภาพแวดล้อมแบบรวมที่ดี (ด้วยการจัดการจากศูนย์กลางของกลไกการอนุญาตที่สำคัญ) เป็นโบนัสถ้าคุณใช้ LDAP (หรือ AD) สำหรับการรับรองความถูกต้อง / การอนุญาตในสภาพแวดล้อมของคุณแล้วคุณสามารถใช้ประโยชน์จากโครงสร้างพื้นฐานที่มีอยู่ (และถ้าคุณไม่ควรพิจารณาอย่างจริงจัง - การรวมศูนย์มีประโยชน์มากมาย)

ทุกสิ่งที่ผู้คนได้กล่าวไปแล้วในคำตอบอื่น ๆ เกี่ยวกับการสร้างกลุ่มที่ได้รับอนุญาตยังคงอยู่ - มันง่ายกว่าที่คุณจะเพิ่มระดับให้สิทธิ์กับกลุ่มและจัดการความเป็นสมาชิกกลุ่มได้มากกว่าการจัดการสิทธิ์สำหรับผู้ใช้แต่ละคน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.