Я являюсь администратором нескольких разных серверов, и в настоящее время на каждом из них есть разные файлы 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.
В качестве альтернативы вы можете изучить использование контроля версий (скажем, git или mercurial) для некоторых из ваших файлов конфигурации в / etc, поместить файл sudoers в указанную VCS, а затем заставить каждую машину вытащить свою копию общих файлов конфигурации из репозитория.
вы можете рассмотреть аналогичное решение, которое легко реализовать и установить (openlikewise бесплатно), для получения конкретной информации о политике sudoers посмотрите это:
http://www.likewise.com/resources/documentation_library/manuals/lwe/group-policy-guide.html#TestSudo