Искал ответы, но здесь ничего не нашел ...
Короче говоря: некоммерческая организация остро нуждается в модернизации своей инфраструктуры. Прежде всего, необходимо найти альтернативу управлению учетными записями пользователей на нескольких хостах Linux.
У нас 12 серверов (как физических, так и виртуальных) и около 50 рабочих станций. У нас 500 потенциальных пользователей этих систем. Человек, который строил и обслуживал системы на протяжении многих лет, вышел на пенсию. Он написал свои собственные сценарии, чтобы управлять всем этим. Это все еще работает. Никаких претензий нет. Однако многое из этого делается вручную и подвержено ошибкам. Код запутан, и после обновлений его часто нужно дорабатывать. Хуже всего то, что документов почти не написано. Есть всего несколько ReadMe и случайных заметок, которые могут быть или не иметь значения. Так что техническое обслуживание стало сложной задачей.
В настоящее время учетные записи управляются через / etc / passwd в каждой системе. Обновления распространяются через скрипты cron для исправления системы по мере добавления учетных записей на «основной» сервер. Некоторые пользователи должны иметь доступ ко всем системам (например, к учетной записи системного администратора), другим нужен доступ к общим серверам, а другим может потребоваться доступ к рабочим станциям или только к их части.
Есть ли инструмент, который поможет нам управлять аккаунтами, отвечающими следующим требованиям?
Я поискал в Интернете и не нашел ничего подходящего. Мы открыты для любых предложений. Спасибо.
РЕДАКТИРОВАТЬ: этот вопрос был неправильно помечен как дубликат. Связанный с ответом говорит только о том, что во всех системах есть одни и те же домашние имена, тогда как нам нужны разные домашние имена в зависимости от того, в какой системный пользователь в настоящее время вошел в систему (НЕСКОЛЬКО домашних пользователей). Также доступ должен быть предоставлен только некоторым машинам, а не всей партии. Модификации, пожалуйста, поймите всю проблему, а не просто помечайте ее как дублирующуюся для очков ...
FreeIPA вероятно, то, что вы ищете. Для Linux это то же самое, что Active Directory для Windows. (Он также может взаимодействовать с AD, если у вас неоднородная среда, но его не следует использовать для непосредственного управления компьютерами Windows. Для этого используйте AD.)
Документация Red Hat (они называют это Identity Management) очень тщательный и простой в использовании, и должен быть в основном применим, даже если вы не используете системы, производные от Red Hat.
Я бы предложил хорошо местный консультант, чтобы оценить особенности вашей ситуации ...
В самом деле.
Могут быть и другие бизнес-требования или нюансы, которые люди на этом форуме могут не осознавать или не вкладывать в них достаточно, чтобы их рассмотреть. Выделенный ресурс - ваш лучший выбор ... В противном случае мы просто бросаем вам рекомендации по продуктам, которые легко выходят за рамки простых вопросов и ответов.
Несмотря на это, мой подход будет заключаться в использовании Microsoft Active Directory и привязке систем Linux к использованию SSSD или LDAP. FreeIPA нормально в доме, полностью полностью построенном на Linux, но даже если вы говорите «некоммерческий», это не обязательно исключает Windows. Вы столкнетесь с Active Directory где-то по пути. Вы можете дополнить это автоматически смонтированными домашними каталогами, но особенности того, кто монтируется, когда и где, не ясны.
Даже в 99% средах частного облака Linux, которые я создаю сейчас, я по-прежнему полагаюсь на Active Directory для простоты управления и централизованной аутентификации. Группы и разрешения доступа просты, политика паролей и устаревание учетной записи просты. Решение Microsoft покрывает любые проблемы, связанные с ремонтопригодностью, вниманием и совместимостью. Репликация встроена, она хорошо задокументирована, и технологиям присуща некоторая ориентированность на будущее.
Однако в исходном вопросе отсутствуют некоторые детали ...
Текущая система работает, но с ней трудно справиться. Я предполагаю, что есть и другие проблемы с управлением этими серверами, если все было сделано вручную. Я бы выбрал другой подход, не заменяя то, что работает (управление пользователями), и решил проблему администрирования серверов.
Я рекомендую использовать что-то вроде cfengine http://cfengine.com/community (бесплатная версия) для «модернизации» системного администрирования, а не только управления пользователями. Это хорошая возможность попробовать это, потому что ваша текущая система работает очень похоже на использование cfengine для распространения конфигурации на серверы, в вашем случае / etc / passwd. Поэтому вместо замены перенесите эти скрипты в cfengine. Надеюсь, это влияние будет минимальным, потому что вы все еще используете тот же файл / etc / passwd.
Как только вы освоитесь с cfengine, вы сможете создать больше рецептов для решения большего числа проблем, например, наличие полностью новой системы управления пользователями и инструмент для управления конфигурацией на серверах.
Чтобы помочь вам начать, я нашел эту ссылку http://explosive.net/opensource/cfpasswd/doc/cfengine.html которые показывают, как распространять / etc / passwd и связанные файлы.
Даже если вы сейчас захотите заменить систему управления пользователями, вам все равно понадобится инструмент администрирования для управления этим сервером. Лучше иметь инструмент администрирования раньше, чем позже, и перенастроить управление пользователями с помощью инструмента администрирования.
Несколько быстрых добавлений -
Я использовал Puppet в своем развертывании - идея похожа на cfengine - http://puppetlabs.com
Это также может сделать ваше управление пользователями и общее управление конфигурацией / сервером.
Если вы хотите попробовать что-то столь же универсальное, как Samba, у него могут быть возможности для управления каталогами с некоторой конфигурацией, а также возможность использования серверной части LDAP для настройки. Samba 4 сильно повзрослела и может фактически предоставить интегрированную среду с Windows и Linux для управления / аутентификации.
Samba работает с AD или как замена AD.
Еще есть продукт под названием Centrify, на который я смотрел некоторое время назад. Я никогда не заходил с этим слишком далеко, но я считаю, что у них также есть бесплатная версия с открытым исходным кодом. Если я помню, у него был потенциал для смешанной среды, обеспечивающей управление Windows и Linux и, возможно, Mac.
Я поддержу предложение консультанта. Эти развертывания могут быть очень сложными в установке и очень быстро, но их легко поддерживать, если они задокументированы и настроены.
Удачи