Назад | Перейти на главную страницу

Централизованный файл sudo sudoers?

Я являюсь администратором нескольких разных серверов, и в настоящее время на каждом из них есть разные файлы sudoers. Это немного выходит из-под контроля, поскольку довольно часто мне нужно дать кому-то разрешение делать что-то с sudo, но это выполняется только на одном сервере. Есть ли простой способ отредактировать файл sudoers только на моем центральном сервере, а затем распространить его через SFTP или что-то в этом роде на другие серверы простым способом?

В основном интересно, как другие системные администраторы решают эту проблему, поскольку, например, файл sudoers не имеет удаленного доступа с помощью NIS.

Операционная система - 64-битная SUSE Linux Enterprise Server 11, но это не имеет значения.

РЕДАКТИРОВАТЬ: на каждой машине пока будет один и тот же файл sudoers.

EDIT2: комментарий принятого ответа был самым близким к тому, что я на самом деле сделал. Прямо сейчас я использую марионеточную установку с поддержкой SVN, и после нескольких головных болей она работает очень хорошо.

Последнее, что я хотел бы сделать, это создать отдельный файл sudoers, как предлагает Дэйв. Если у вас много машин и существуют лишь незначительные различия (как это часто бывает), вам это действительно не нужно. Это приведет к большим накладным расходам.

Что вы действительно хотите сделать, так это создать один sudoers файл. Затем в этом файле sudoers вы можете определить Host_Aliases для групп систем, для которых вы хотите применить определенную политику. Вы также можете сделать User_Aliases и еще много чего. Если все сделано правильно, это дает вам огромное преимущество, поскольку один файл для редактирования, поэтому легко увидеть, что применимо, и вам не нужно беспокоиться о том, что разные версии файла sudoers случайно развернуты на разных машинах.

Новые версии sudo даже поддерживают каталог sudoers.d в / etc, что тоже может помочь, но я этого еще не пробовал.

Шаг 1. Настройте сервер ldap и настройте все свои машины для аутентификации пользователей и групп через ldap.

Шаг 2. Создайте главную группу sudoers в ldap, скажем, yourcompany-sudoers. Дайте этой группе разрешение на sudo (с паролем) в файле / etc / sudoers на каждой машине.

Шаг 3. Создайте группу sudoers-machinename в ldap, добавьте эту группу в / etc / sudoers на соответствующей машине.

С помощью этих трех шагов вам не нужно редактировать файл / etc / sudoers после установки машины, и вы также получаете ряд других преимуществ.

Для дополнительного эффекта

Шаг 4. Настройте puppet, cfengine, chef или подобное и автоматически разверните шаблонный файл sudoers на каждой машине.

/ etc / sudoers также можно заменить прямым обращением к централизованному серверу LDAP. Все разрешения и настройки, которые вы обычно устанавливаете на локальном компьютере, устанавливаются в LDAP.

http://www.gratisoft.us/sudo/man/sudoers.ldap.html

В качестве альтернативы вы можете изучить использование контроля версий (скажем, git или mercurial) для некоторых из ваших файлов конфигурации в / etc, поместить файл sudoers в указанную VCS, а затем заставить каждую машину вытащить свою копию общих файлов конфигурации из репозитория.

вы можете рассмотреть аналогичное решение, которое легко реализовать и установить (openlikewise бесплатно), для получения конкретной информации о политике sudoers посмотрите это:

http://www.likewise.com/resources/documentation_library/manuals/lwe/group-policy-guide.html#TestSudo