у нас есть установка, состоящая из 60+ хостов (solaris и linux). мы хотели бы разработать / установить инструмент, который поможет нам сбросить пароль, создать / удалить учетную запись и другие общие задачи управления учетными записями пользователей.
мы рассмотрели webmin, puppet и AD-интеграцию как потенциальные решения. но либо они слишком дороги, имеют слишком много дыр (уязвимостей), либо наша архитектура не позволяет такое развертывание. так что мы все еще ищем.
наши требования: 1. бесплатно и желательно oss. 2. не нужен веб-интерфейс. может быть простой библиотекой / api, которую мы можем использовать для создания сценария инструмента управления пользователем. 3. Работает с хостами linux и solaris.
По сути, у вас есть два варианта:
1 Может быть достигнуто с помощью таких инструментов, как Кукольный, Повар, CFEngine, и т.д.
Эти инструменты позволяют вам создавать конфигурации, которые применяются ко всем узлам, однако недостатком их использования для управления пользователями является то, что вы не можете централизованно устанавливать пароли (каждый узел имеет своих пользователей с их собственными паролями и собственным сроком действия), и вы не можете легко изменить группы пользователей - вы можете добавлять в группы, но не обязательно удалять группы через конфигурацию.
2 Обычно достигается путем создания инфраструктуры LDAP (опционально с Kerberos).
Централизованная проверка подлинности будет означать, что у пользователей везде одинаковый пароль, а группы легко менять.
Вы можете повторно использовать существующую инфраструктуру (например, Active Directory) или настроить новую инфраструктуру LDAP. Стоит рассмотреть одну систему: FreeIPA. Это интегрирует LDAP, Kerberos и, возможно, DNS. Для клиентов Linux это обеспечивает простую настройку с помощью сценария, а для клиентов Solaris вы просто настраиваете их как клиент LDAP (и, возможно, Kerberos). FreeIPA реализует политики, поэтому вы можете установить срок действия пароля / учетной записи и сложность пароля.
FreeIPA также может обеспечивать одно- или двустороннюю синхронизацию с Active Directory.
Вы хотите иметь централизованное хранилище данных для этой информации, к которому имеют доступ все машины, или вы хотите настроить его локально (и, возможно, независимо) на каждой машине?
Если это первое, вы, вероятно, захотите изучить интеграцию LDAP или Active Directory; это обеспечит немедленное отображение паролей, измененных в центральном каталоге, на всех подключенных к нему машинах.
Если последнее, то что-то вроде кукольный или cfengine будет вашим лучшим выбором. cfengine, в частности, работает почти везде (определенно на хостах Linux и Solaris) и позволит вам легко создавать пользователей и управлять ими. Вот краткое руководство для знакомства с cfengine.
Кроме того, указание ваших ограничений при задании вопроса поможет вам получить более конструктивные ответы. Что в вашей архитектуре не позволяет использовать какие потенциальные решения? Если вы перечислите то, что вы уже пробовали, и почему это не сработало, тогда люди будут знать, как не вести вас по бесплодным путям, или, возможно, смогут помочь вам обойти проблемы, с которыми вы столкнулись.