การจัดการการเข้าถึงหลายระบบลินุกซ์


15

ค้นหาคำตอบ แต่ไม่พบสิ่งใดในที่นี่ ...

เรื่องสั้นสั้น: องค์กรที่ไม่แสวงหาผลกำไรต้องการโครงสร้างพื้นฐานที่ทันสมัย สิ่งแรกคือการหาทางเลือกในการจัดการบัญชีผู้ใช้บนโฮสต์ Linux จำนวนหนึ่ง

เรามี 12 เซิร์ฟเวอร์ (ทั้งแบบกายภาพและเสมือน) และประมาณ 50 เครื่อง เรามีผู้ใช้ 500 คนสำหรับระบบเหล่านี้ บุคคลที่สร้างและบำรุงรักษาระบบในช่วงหลายปีที่ผ่านมาได้เกษียณ เขาเขียนสคริปต์ของตัวเองเพื่อจัดการทุกอย่าง มันยังใช้งานได้ ไม่มีการร้องเรียน อย่างไรก็ตามสิ่งต่าง ๆ มากมายนั้นเป็นแบบแมนนวลและมีข้อผิดพลาดได้ง่าย โค้ดยุ่งเหยิงและบ่อยครั้งหลังจากการอัพเดทต้องมีการปรับแต่ง ส่วนที่แย่ที่สุดคือมีเอกสารที่เขียนน้อยมาก มีเพียงไม่กี่ ReadMe's และบันทึกย่อแบบสุ่มซึ่งอาจหรืออาจไม่เกี่ยวข้องอีกต่อไป ดังนั้นการบำรุงรักษาจึงเป็นงานที่ยาก

บัญชีปัจจุบันมีการจัดการผ่าน / etc / passwd ในแต่ละระบบ การอัพเดตถูกแจกจ่ายผ่านสคริปต์ cron เพื่อแก้ไขระบบเมื่อมีการเพิ่มบัญชีในเซิร์ฟเวอร์ "หลัก" ผู้ใช้บางคนต้องมีการเข้าถึงระบบทั้งหมด (เช่นบัญชีดูแลระบบ) ผู้อื่นต้องเข้าถึงเซิร์ฟเวอร์ที่ใช้ร่วมกันในขณะที่คนอื่นอาจต้องเข้าถึงเวิร์กสเตชันหรือชุดย่อยเท่านั้น

มีเครื่องมือที่สามารถช่วยเราจัดการบัญชีที่ตรงตามข้อกำหนดต่อไปนี้หรือไม่?

  • โอเพ่นซอร์สเด่นกว่า (เช่นฟรีตามงบประมาณมี จำกัด มาก)
  • หลัก (เช่นการบำรุงรักษา)
  • ควรมีการรวม LDAP หรือสามารถทำการเชื่อมต่อกับ LDAP หรือบริการ AD สำหรับการตรวจสอบผู้ใช้ (จะมีความจำเป็นในอนาคตอันใกล้นี้เพื่อรวมบัญชีกับสำนักงานอื่น ๆ )
  • การจัดการผู้ใช้ (การเพิ่มหมดอายุการลบการล็อก ฯลฯ )
  • อนุญาตให้จัดการสิ่งที่ระบบ (หรือกลุ่มของระบบ) ผู้ใช้แต่ละคนมีการเข้าถึง - ผู้ใช้ไม่ได้รับอนุญาตในทุกระบบ
  • การสนับสนุนบัญชีผู้ใช้ที่อาจมีโฮเมอร์และเมานต์ต่างกันขึ้นอยู่กับระบบที่พวกเขาลงชื่อเข้าใช้ ตัวอย่างเช่น
    • sysadmin ล็อกอินเข้าสู่เซิร์ฟเวอร์ "main" มีmain: // home / sysadmin / as homedir และมีการเมานท์ที่แชร์ทั้งหมด
    • sysadmin ล็อกอินเข้าสู่เวิร์คสเตชั่นของพนักงานจะมีnas: // user / s / sysadminเป็น homedir (ต่างจากด้านบน) และอาจมีชุดเมาท์ จำกัด
    • ลูกค้าที่เข้าสู่ระบบจะมี / homedir ของเขา / เธอในสถานที่ที่แตกต่างกันและไม่มีการเมาท์ที่ใช้ร่วมกัน
  • หากมีอินเตอร์เฟซการจัดการที่ง่ายที่จะยอดเยี่ยม
  • และหากเครื่องมือนี้เป็นข้ามแพลตฟอร์ม (Linux / MacOS / * ระวัง) นั่นจะเป็นสิ่งมหัศจรรย์!

ฉันค้นหาเว็บแล้วจึงไม่พบสิ่งที่เหมาะสม เราเปิดให้คำแนะนำใด ๆ ขอขอบคุณ.

แก้ไข: คำถามนี้ถูกทำเครื่องหมายอย่างไม่ถูกต้องว่าซ้ำกัน การเชื่อมโยงเพื่อตอบเพียงพูดคุยเกี่ยวกับการมี homedirs เหมือนกันในทุกระบบในขณะที่เราจำเป็นต้องมี homedirs ที่แตกต่างกันขึ้นอยู่กับสิ่งที่ผู้ใช้ระบบปัจจุบันเข้าสู่ระบบ (homedirs หลาย) การเข้าถึงต้องได้รับการอนุญาตให้ใช้กับเครื่องบางเครื่องเท่านั้น Mods โปรดเข้าใจขอบเขตทั้งหมดของปัญหาแทนที่จะทำเครื่องหมายว่าเป็นจุดซ้ำสำหรับ ...


'คะแนน' ไม่ได้รับรางวัลสำหรับการทำเครื่องหมายซ้ำ คำถามของคุณไม่ชัดเจนพอที่ 5 คนคิดว่าเป็นคำถามซ้ำ
user9517

ไม่ทราบ โอเคขอบคุณ. อย่างไรก็ตามมันถูกทำเครื่องหมายว่าซ้ำกันอย่างเร่งด่วน โปรดอ่านข้อกำหนดรูปแบบจุดที่ระบุสิ่งที่ต้องการอย่างชัดเจน สิ่งนี้ไม่ซ้ำกัน ลิงก์ที่ให้ไว้เพื่อ "โซลูชัน" ช่วยให้สามารถเข้าถึงระบบทั้งหมดได้โดยไม่ จำกัด (เราจำเป็นต้อง จำกัด ผู้ที่สามารถเข้าถึงและระบบหรือกลุ่มของระบบใด) ตำแหน่ง homedir จริงขึ้นอยู่กับระบบที่กำลังเข้าถึง ผู้ใช้เดียวกันอาจมี homedirs และ Mount ที่แตกต่างกันขึ้นอยู่กับระบบที่เขา / เธอเข้าสู่ระบบ
Swartz

เพียงชี้แจง: ในตัวอย่างดูแลระบบดังกล่าวข้างต้นหลักและ NAS เป็นเซิร์ฟเวอร์ที่แตกต่างกันอย่างไร ดังนั้นผู้ใช้รายเดียวกันจะสามารถเข้าถึง homedirs ที่แตกต่างกันขึ้นอยู่กับ homedir ที่เขาลงชื่อเข้าใช้?
Marco Bizzarri

@MarcoBizzarri: ไม่แน่ใจว่าฉันเข้าใจ ระบบที่ผู้ใช้เข้าสู่ระบบจะกำหนด homedir SysA และ SysB อาจมี / home / bob ใน / etc / passwd ในขณะที่ homdir สำหรับ Bob บน SysC อาจเป็น / someplace / else / bob สถานที่สองแห่งจะมีข้อมูลที่แตกต่างกัน ผู้ใช้ระบบถูกล็อกอินเข้าสู่ระบบจะพิจารณาว่ามีเมาต์อื่นใดบ้าง สิ่งนี้จะอนุญาตให้เฉพาะระบบของพนักงานเพื่อเข้าถึงการติดตั้งของพนักงานที่ใช้ร่วม ที่ไหนเป็นระบบ "สาธารณะ" ที่มีอยู่จะถูก จำกัด การเมาท์อื่น ๆ ดังนั้นพนักงานต้องอยู่บนพีซีที่พนักงานกำหนดเพื่อเข้าถึงพนักงาน การแบ่งช่องว่างเล็กน้อย ...
Swartz

ตกลงดังนั้นมีสองจุดที่แตกต่างกันที่นี่: homedir ได้รับการแก้ไขและสามารถอยู่ที่ไหนสักแห่ง (ทั้งบนเซิร์ฟเวอร์เดียวกันหรืออีกคนหนึ่ง) แต่มันก็เป็นแบบนั้นเสมอ ฉันหมายถึง SysA มี homedir ของเขาบน serverX เสมอไม่ว่าอะไรก็ตาม หลังจากนั้นมี dir ที่ใช้ร่วมกันในหมู่พนักงานเรียกมันว่า staff_dir ซึ่งควรจะใช้ได้เมื่อพนักงานคนนั้นล็อกอินเข้าสู่ staff_workstation แต่ไม่ใช่เมื่อคุณล็อกอินเข้าสู่ normal_workstation; ถูกต้องหรือไม่
Marco Bizzarri

คำตอบ:


17

FreeIPAอาจเป็นสิ่งที่คุณกำลังมองหา มันคือ Linux สิ่งที่ Active Directory ใช้กับ Windows (นอกจากนี้ยังสามารถคุยกับ AD หากคุณมีสภาพแวดล้อมที่แตกต่างกัน แต่ไม่ควรใช้เพื่อจัดการเครื่อง Windows โดยตรงใช้ AD สำหรับสิ่งนั้น)

เอกสารของ Red Hat (พวกเขาเรียกมันว่า Identity Management) นั้นละเอียดและง่ายต่อการติดตามและควรใช้งานได้เป็นส่วนใหญ่แม้ว่าคุณจะไม่ได้ใช้ระบบที่ได้มาจาก Red Hat ก็ตาม


+1 freeipa ยอดเยี่ยม
Sirex

ฉันจะดูที่ FreeIPA ขอบคุณสำหรับทิป. คำถาม: FreeIPA สนับสนุนการมีผู้ดูแลที่แตกต่างกันในระบบต่างๆ ตัวอย่าง: ผู้ใช้ Bob มี (ส่งออก NFS) homedir ที่ / shared / home / xyz เมื่อล็อกอินเข้าสู่ SystemA และ SystemB แต่เมื่อใช้ SystemC / อะไรก็ตาม / พิเศษคือ homedir ของ Bob
Swartz

คุณไม่ได้มองไปที่automounts ? สิ่งนี้จะช่วยให้คุณได้รับประมาณ 90% ของที่นั่นส่วนที่เหลืออีก 10% เป็นการเปลี่ยนแปลงเล็กน้อยกับสภาพแวดล้อมที่คุณมีอยู่
Michael Hampton

ใช่ระบบที่มีอยู่ใช้การนับอัตโนมัติ เหล่านี้ถูกกำหนดค่าด้วยตนเองสำหรับระบบแต่ละประเภท น่าเศร้าที่สภาพแวดล้อมปัจจุบันของเรายุ่งยากเกินกว่าจะรักษา โดยเฉพาะหลังจากอัปเดตหรือเมื่อสร้างอิมเมจระบบใหม่ แม้ว่าแก่นของมันจะทำงานได้ แต่ก็มีบางสิ่งที่จำเป็นต้องมีการปรับแต่งเพื่อให้มันทำงาน
Swartz

ดีละถ้าอย่างนั้น. ตอนนี้คุณมีโอกาสดีที่จะเริ่มล้างสิ่งต่างๆ
Michael Hampton

6

ฉันขอแนะนำที่ปรึกษาท้องถิ่นที่ดีในการประเมินสถานการณ์ของคุณ ...

จริงๆ.

อาจมีข้อกำหนดทางธุรกิจอื่น ๆ หรือความแตกต่างที่ผู้คนในฟอรัมนี้อาจไม่รู้จักหรือลงทุนเพียงพอที่จะพิจารณา แหล่งข้อมูลเฉพาะคือทางออกที่ดีที่สุดของคุณ ... ไม่อย่างนั้นเราแค่ส่งคำแนะนำผลิตภัณฑ์ให้คุณสำหรับบางสิ่งที่อยู่นอกขอบเขตของคำถามและคำตอบง่ายๆ


แม้จะมีวิธีการของฉันจะใช้ประโยชน์จาก Microsoft Active Directory และผูกระบบ Linux ในการใช้SSSDหรือ LDAP FreeIPAนั้นใช้ได้ในบ้านแบบลีนุกซ์ แต่ถึงแม้ว่าคุณจะพูดว่า "ไม่หวังผลกำไร" แต่ก็ไม่จำเป็นต้องยกเว้น Windows คุณจะพบ Active Directory สักแห่งตามเส้นทาง คุณอาจต้องการเพิ่มสิ่งนี้ด้วยโฮมไดเร็กตอรี่โดยอัตโนมัติ, แต่รายละเอียดของผู้ที่ถูกเมาท์เมื่อหรือที่ไหนไม่ชัดเจน.

แม้ในสภาพแวดล้อมคลาวด์ส่วนตัวแบบคลาวด์ 99% ที่ฉันสร้างตอนนี้ฉันยังต้องพึ่งพา Active Directory เพื่อความสะดวกในการจัดการและการตรวจสอบความถูกต้องจากส่วนกลาง การอนุญาตให้กลุ่มและการเข้าถึงนั้นง่ายนโยบายรหัสผ่านและการกำหนดอายุบัญชีเป็นเรื่องง่าย ข้อกังวลใด ๆ เกี่ยวกับการบำรุงรักษาความคิดและความเข้ากันได้นั้นได้รับการคุ้มครองโดยโซลูชันของ Microsoft การจำลองแบบมีอยู่แล้วภายในมีเอกสารที่ดีและมีบิตของการพิสูจน์ในอนาคตโดยธรรมชาติของเทคโนโลยี

มีรายละเอียดบางอย่างหายไปจากคำถามเดิมของคุณ แต่ ...

  • ลีนุกซ์รุ่นใดที่มีการกระจายอยู่ในสิ่งแวดล้อม? รุ่นที่สอดคล้องกันหรือไม่
  • คุณต้องการระดับการจัดการระดับเดียวกับระบบ Macintosh ของคุณหรือไม่ (องค์กรส่วนใหญ่ไม่พยายามจัดการคอมพิวเตอร์ Apple อย่างเต็มที่)
  • มีผู้ใช้ระยะไกลหรือไม่
  • คุณพูดถึง "* nix" - มี * nixes ประเภทใดอยู่

2
มันไม่มีอะไรที่คุ้มค่าที่ freeipa สามารถทำทุกสิ่งเหล่านี้สำหรับเครื่องลินุกซ์ (การทำซ้ำนโยบายรหัสผ่านกลุ่ม ฯลฯ ) และมันง่ายมากที่จะติดตั้ง (จริง ๆ !) นอกจากนี้ยังทำการจำลองแบบสองทิศทางกับไดเรกทอรีที่ใช้งานอยู่ (ค่อนข้างแน่ใจว่าผู้ใช้ใหม่เป็นทิศทางเดียวเนื่องจากโฆษณาที่มีเขตข้อมูลพิเศษ) แต่ถ้าคุณมีเครื่อง windows คุณจะต้องการโฆษณาโดยไม่คำนึงว่ามันเป็นศูนย์กลางของหน้าต่าง ชีวิต. นอกจากนี้เอกสารใน freeipa ยังขาดอยู่เล็กน้อย
Sirex

น่าเศร้าที่ไม่มีงบประมาณสำหรับที่ปรึกษา ไม่มีเครื่อง Windows (เฉพาะในกรณีที่พนักงานนำเครื่องมาเอง) ระบบทั้งหมดเป็น CentOS (บางส่วน 5.x อื่น ๆ เป็น 6.x) องค์กรอยู่ระหว่างการรับ iMac ที่เก่ากว่า (2007-ish) ดังนั้นจึงเป็นการดีที่มีเครื่องมือที่ใช้งานได้กับ OSX และ Linux สิ่งหนึ่งที่ดี: ไม่จำเป็นต้องกังวลเกี่ยวกับ Windows
Swartz

เห็นด้วยกับข้อเสนอแนะ Active Directory - หากค่าใช้จ่ายในการออกใบอนุญาตเป็นปัญหา Samba4 เป็นทางเลือกฟรีและใช้เครื่องมือ / โครงสร้างพื้นฐานการจัดการเช่นเดียวกับ AD-hosetd ดั้งเดิมของ Windows เกือบทุกอย่างสามารถกำหนดค่าให้รับรองความถูกต้องกับ AD ผ่าน PAM, winbind, LDAP และอื่น ๆ สำหรับการจัดการการกำหนดค่าสำหรับโครงสร้างพื้นฐานทั้งหมดให้ตรวจสอบ Salt ( saltstack.com/community.html blog.smartbear.com/devops/ … )
nedm

3

ระบบปัจจุบันทำงาน แต่จัดการได้ยาก ฉันเดาว่ามีปัญหาอื่น ๆ เช่นกันในการจัดการเซิร์ฟเวอร์เหล่านั้นหากทุกอย่างดำเนินการด้วยตนเอง ฉันใช้แนวทางที่แตกต่างกันโดยไม่แทนที่สิ่งที่ใช้งานได้ (การจัดการผู้ใช้) และแก้ปัญหาการดูแลระบบของเซิร์ฟเวอร์

ฉันขอแนะนำให้ใช้บางอย่างเช่น cfengine http://cfengine.com/community (รุ่นฟรีที่นั่น) เพื่อ "ทำให้ทันสมัย" การบริหารระบบของคุณไม่ใช่แค่การจัดการผู้ใช้ เป็นโอกาสที่ดีที่จะลองใช้งานเพราะระบบปัจจุบันของคุณทำงานอย่างมากเช่นใช้ cfengine เพื่อแจกจ่ายการกำหนดค่าไปยังเซิร์ฟเวอร์ในกรณีของคุณคือ / etc / passwd ดังนั้นแทนที่จะแทนที่คุณจะย้ายสคริปต์เหล่านั้นไปยัง cfengine หวังว่าผลกระทบจะน้อยมากเพราะคุณยังคงใช้ / etc / passwd เดียวกันอยู่

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

เพื่อช่วยให้คุณเริ่มต้นฉันพบลิงค์นี้http://explosive.net/opensource/cfpasswd/doc/cfengine.htmlที่แสดงวิธีกระจาย / etc / passwd และไฟล์ที่เกี่ยวข้อง

แม้ว่าคุณต้องการแทนที่ระบบการจัดการผู้ใช้ในตอนนี้คุณยังต้องการเครื่องมือการจัดการเพื่อจัดการเซิร์ฟเวอร์เหล่านั้น มันจะดีกว่าที่จะมีเครื่องมือการจัดการเร็วกว่าในภายหลังและกำหนดค่าการจัดการผู้ใช้ของคุณใหม่ภายใต้เครื่องมือการบริหาร


0

เพิ่มอย่างรวดเร็วเพียงไม่กี่สิ่ง -

ฉันใช้ Puppet ในการปรับใช้ของฉัน - แนวคิดคล้ายกับ cfengine - http://puppetlabs.com

สิ่งนี้สามารถจัดการผู้ใช้และการกำหนดค่าทั่วไป / การจัดการเซิร์ฟเวอร์ของคุณ

หากคุณต้องการลองใช้งานได้หลากหลายเหมือนกับ Samba อาจมีความเป็นไปได้ในการจัดการไดเรกทอรีที่มีการกำหนดค่าบางอย่างรวมถึงความเป็นไปได้ในการใช้แบ็กเอนด์ LDAP สำหรับการกำหนดค่า Samba 4 ได้ครบกำหนดแล้วและสามารถมอบสภาพแวดล้อมแบบรวมกับ Windows และ Linux สำหรับการจัดการ / การพิสูจน์ตัวตน

แซมบ้าทำงานร่วมกับ AD หรือใช้แทนโฆษณาได้เช่นกัน

นอกจากนี้ยังมีผลิตภัณฑ์ที่เรียกว่า Centrify ที่ฉันเคยดูเมื่อไม่นานมานี้ ฉันไม่เคยไปไกลเกินไป แต่ฉันเชื่อว่าพวกเขามีเวอร์ชั่นฟรีแวร์ / opensource ด้วย ถ้าฉันจำได้ว่ามันอาจเป็นไปได้สำหรับสภาพแวดล้อมแบบผสมให้การจัดการ Windows และ Linux และ Mac

ฉันจะแนะนำที่ปรึกษาของที่สอง การปรับใช้เหล่านี้มีความซับซ้อนมากในการตั้งค่าอย่างรวดเร็ว แต่ง่ายต่อการบำรุงรักษาเมื่อมีการบันทึกและกำหนดค่า

ขอให้โชคดี


1
ฉันได้ดู Puppet และ Chef สำหรับการจัดการการกำหนดค่าตั้งแต่ต้น Puppet อนุญาตให้มี 10 โหนดฟรีด้วย Chef คุณจะได้รับ 5 ฟรี หลังจากนั้นจุดนั้น Puppet Labs จะคิดค่าบริการ $ 99 / โหนด / ปี มันจะเป็นไม่กี่พันสำหรับเรา Deal breaker แม้ว่าฉันจะจำการกำหนดราคาของเชฟไม่ได้ แต่เป็นความคิดเดียวกัน ไม่ได้อยู่ในงบประมาณ :(
Swartz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.