Puppet: วิธีสร้างและจัดการผู้ใช้และกลุ่มยูนิกซ์


12

เมื่อสัปดาห์ที่แล้วฉันใช้ความพยายามอย่างเต็มที่ในการเรียนรู้หุ่นกระบอก ตอนนี้ฉันต้องทนทุกข์ทรมานจากจิตบัฟเฟอร์ล้นและความมั่นใจเล็กน้อยที่เคยสามารถทำให้สัตว์ร้ายเชื่องได้ ฉันเจอตัวอย่างที่มีคำอธิบายประกอบมากมาย แต่เนื่องจากรูปแบบที่นับไม่ถ้วนของพวกเขาฉันไม่สามารถแยกแยะระหว่างรูปแบบและการประชุมหุ่นกระบอกที่แนะนำ (ล่าสุด) และ Ad hoc "เหมาะสำหรับฉัน" ฉันไม่สามารถยืนได้เพราะดูเหมือนจะเป็นเรื่องระดับพื้นฐาน

ดังนั้น. การใช้ Puppet เพื่อจัดการกลุ่มและผู้ใช้กลุ่มหลักของผู้ใช้เท่ากับชื่อผู้ใช้ของตนเองกลุ่มอื่น ๆ อาจใช้lanสำหรับการเข้าสู่ระบบ LAN wheelสำหรับผู้ดูแลระบบshellสำหรับผู้ใช้ที่มีเชลล์บนโหนดโดยพลการmailสำหรับผู้ใช้daemonsสำหรับ daemons ต่างๆ การเข้าสู่ระบบของผู้ดูแลระบบจะอยู่บนโหนดทั้งหมดและเพื่อทำให้สิ่งต่าง ๆ แย่ลงการเข้าสู่ระบบ LAN อาจเป็นการเข้าสู่ระบบเชลล์ด้วย

จากสิ่งที่ฉันเข้าใจมันก็ไม่เป็นไรที่จะกำหนดผู้ใช้หลาย ๆ ครั้งถ้าคุณใช้คำจำกัดความเสมือนที่ตระหนักในบางจุด ฟังดูดีดังนั้นวิธีการทำงานกับหลายกลุ่มสำหรับผู้ใช้ สมมติว่า Bob สามารถใช้ทั้ง LAN nodes และ node beastie.wan การเข้าสู่ระบบของเขาthebobถูกกำหนดสองครั้งใน lanusers.pp กับgroups => ["lan"]และใน shellusers.pp ด้วยgroups => ["shell"]หรือไม่ ถ้าบ๊อบต้องการให้รหัสผ่าน lan ของเขาแยกจากรหัสผ่านเชลล์ของเขาล่ะ

รหัสที่ฉันใช้อยู่ในขณะนี้ไม่มีคำจำกัดความเสมือนผู้ใช้เป็นเพียงการรวมรหัสเดียวอย่างหนัก จนถึงจุดหนึ่งฉันเจอตัวอย่างโดยใช้ virtualsและนี่คือที่ฉันติดอยู่เพราะฉันไม่เข้าใจวิธีการขยายรหัสเพื่อหุ่นเชิดสร้างกลุ่มหลักและกลุ่มที่ต้องการฉันกำหนดไว้ก่อนแล้วจึงเข้าร่วมผู้ใช้ในกลุ่มเหล่านั้น .

ขวา. โปรด cluebat ฉันอย่างถูกต้อง

คำตอบ:


6

ตอนนี้ฉันต้องทนทุกข์ทรมานจากจิตบัฟเฟอร์ล้นและความมั่นใจเล็กน้อยที่เคยสามารถทำให้สัตว์ร้ายเชื่องได้

ครั้งแรก: ผ่อนคลาย ฉันได้เรียนรู้ว่าเมื่อคุณใหม่กับบางสิ่งบางอย่างที่มีช่วงการเรียนรู้เช่น Puppet มันค่อนข้างง่ายที่จะกลายเป็นเรื่องง่ายและไม่สามารถทำอะไรได้มากนัก

thebob ล็อกอินของเขาจึงถูกกำหนดสองครั้งใน lanusers.pp กับกลุ่ม => ["lan"] และใน shellusers.pp กับกลุ่ม => ["shell"]?

Nope แทบกำหนดไว้ในสถานที่หนึ่ง (อาจจะusers.pp) groups => ['shell', 'lan',]ด้วย

บนโหนดให้ตระหนักถึงผู้ใช้ที่คุณต้องการ ตัวอย่างเช่นหากnode beaminเราต้องการshellผู้ใช้ทั้งหมด:

node beamin {
    Account <| groups == 'shell' |>
}

ถ้าบ๊อบต้องการให้รหัสผ่าน lan ของเขาแยกจากรหัสผ่านเชลล์ของเขาล่ะ

จากนั้นบ็อบน่าจะได้รับ 2 บัญชีที่แตกต่างกันซึ่งมีชื่อล็อกอินต่างกัน


ขอบคุณ คุณถูกต้องเกี่ยวกับส่วนแรกฉันกลายเป็นจม แต่คำตอบที่สองของคุณช่วยดูเหมือนความคิดอื่น ๆ เคลื่อนไหวและตอนนี้ฉันมีรายการที่ทำงานอย่างถูกต้องกับผู้ใช้กำหนดจริงที่ได้รับการตระหนักในสถานที่ที่เหมาะสมของพวกเขา ขอบคุณที่ช่วยฉันด้วย :)
drumfire

ไม่ใช่ปัญหา. ก่อนการประกาศเสมือนปัญหานี้เกี่ยวข้องกับวิธีแก้ไขปัญหาที่ซับซ้อนมาก พิจารณาตัวเองว่าคุณโชคดีที่คุณเข้าร่วม Puppet express ตอนนี้ ;-)
Belmin Fernandez

ฉันใช้การประกาศเสมือน แต่ฉันต้องการให้ผู้ใช้บางคนอยู่ในกลุ่ม "sudo" ในโฮสต์บางแห่งและไม่อยู่ในกลุ่มอื่น สิ่งนี้ไม่ได้แก้สถานการณ์นั้น (และฉันมีปัญหาในการหาว่าต้องทำอะไร: D)
jjmontes

3

Puppet ทำได้ไม่ดีนักกับการจัดการผู้ใช้ / กลุ่มที่ซับซ้อน คุณควรที่จะปรับใช้สิ่งที่ต้องการ LDAP ได้ดีกว่าที่ฉันไม่ชอบมันจะทำงานได้ดีกว่าการพยายามเอาชนะ Puppet เพื่อส่ง


หรือ FreeIPA หุ่นกระบอกเป็นสิ่งที่ดีสำหรับบัญชีบริการที่ต้องอยู่ในระบบ แต่ไม่ได้จัดการผู้ใช้ทั่วไป ...
ewwhite

4
ด้วยความเคารพอย่างสูง (การที่คุณเป็นสมาชิก SF สูงสุด): ฉันไม่คิดว่านี่จะตอบคำถามได้ ถาม: "ฉันจะสร้างและจัดการผู้ใช้และกลุ่มยูนิกซ์ใน Puppet ได้อย่างไร" A: "LDAP" ฉันเชื่อว่าคำตอบเช่นนี้พอดีดีกว่าเป็นความคิดเห็น แน่นอนถ้ามีการพูดคุยกันก่อนหน้านี้ในเมตาดาต้าหรืออะไรบางอย่างบางทีฉันก็ไม่รู้ โปรดอย่าเกลียดฉัน :-)
Belmin Fernandez

3
@ BeamingMel-Bin: มีจิตวิญญาณที่แข็งแกร่งของ "เครื่องมือที่เหมาะสมสำหรับงาน" ใน SF หากมีใครถามว่า "อะไรคือวิธีที่ดีที่สุดในการตีสกรูด้วยค้อนของฉันเพื่อให้มันเข้าไปข้างใน" เราจะพูดว่า "ซื้อไขควง" ไม่ให้บทความยาว ๆ เกี่ยวกับประโยชน์ของเทคนิคค้อนที่แตกต่างกัน นี่เป็นเพราะผู้ถามส่วนใหญ่ที่นี่ไม่มีประสบการณ์หรือไม่รู้ว่าพวกเขาไม่ทราบว่ามีวิธีแก้ปัญหาที่ดีกว่าหรือแม้กระทั่งวิธีแก้ปัญหาที่ดีกว่าก็มีอยู่ (และพวกเขาไม่รู้วิธีถาม) ว่ามีวิธีที่ดีกว่า สกรู "หรือ" วิธีที่ดีที่สุดในการขับในสกรูนี้คืออะไร ")
womble

1
@ ดรัมไฟร์: อีกครั้งถ้าคุณถามว่าจะทำอะไรโง่ ๆคำตอบที่ถูกต้องคือ "อย่าทำอย่างนั้น" มันเป็นวิธีการทำงานของ SF เราไม่ได้อยู่ที่นี่เพื่อช่วยให้ผู้คนทำสิ่งที่โง่เขลาเราอยู่ที่นี่เพื่อสร้างระบบการดูแลที่มีประสิทธิภาพมากขึ้น
womble

3
เอสเอฟซึ่งเป็นส่วนหนึ่งของไตรภาคเดิมนั้นใช้เวลานานกว่ามากและมี "วิญญาณอิสระ" ที่แข็งแกร่งกว่าไซต์ SE อื่น ๆ ที่เป็นเนื้อเดียวกัน นอกจากนี้ยังมีการแต่งหน้าของผู้ใช้ที่จะต้องพิจารณา Sysadmins บ้าๆบอ ๆ และดื้อดึง
womble
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.