У нас есть несколько серверов Linux, которые проходят аутентификацию в домене Active Directory. Для группы в AD я хочу добавить список команд, которые могут запускаться от имени пользователя root с помощью sudo. Я могу, очевидно, подключиться к каждому компьютеру и обновить файл sudoers, но это займет некоторое время. Кроме того, root-логин не разрешен. Таким образом, логин без пароля будет работать только для пользователей без полномочий root.
Есть ли быстрый способ обновить файл sudoers сразу для каждого компьютера с Linux? Я имею в виду сценарий Perl или Python с некоторыми возможностями системного администрирования.
Обновление: спасибо veroteq7 и Шейн Мэдден. Я думал о развертывании cfengine в один момент, но у нас его пока нет. Мы решили, что использование LDAP будет лучшим решением. Я получаю сообщение об ошибке при импорте схемы схемы LDIF. ActiveDirectory для sudo. Ошибка «параметр неверен» в строке 144.
Это содержимое строки 144 и далее:
dn: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: top
objectClass: classSchema
cn: sudoRole
distinguishedName: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
instanceType: 4
possSuperiors: container
possSuperiors: top
subClassOf: top
governsID: 1.3.6.1.4.1.15953.9.2.1
mayContain: sudoCommand
mayContain: sudoHost
mayContain: sudoOption
mayContain: sudoRunAs
mayContain: sudoRunAsUser
mayContain: sudoRunAsGroup
mayContain: sudoUser
rDNAttID: cn
showInAdvancedViewOnly: FALSE
adminDisplayName: sudoRole
adminDescription: Sudoer Entries
objectClassCategory: 1
lDAPDisplayName: sudoRole
name: sudoRole
schemaIDGUID:: SQn432lnZ0+ukbdh3+gN3w==
systemOnly: FALSE
objectCategory: CN=Class-Schema,CN=Schema,CN=Configuration,DC=X
defaultObjectCategory: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
Команда, которую я использовал:
ldifde -i -f schema.ActiveDirectory -c dc=X dc=DOMAINNAME,dc=LOCAL
Update2: я создал новый вопрос . Спасибо всем за предложения.
Ответы:
Почему бы не
/etc/sudoers
использовать AD (LDAP) в качестве магазина sudoers? - Подробнее здесь .Вы уже проходите аутентификацию в AD, так что это всего лишь следующий логический шаг, который предоставляет удобное централизованное место для обработки аутентификации и авторизации.
источник
sudoers
- я не знаю, как я никогда этого не нашел. Очень заслуженный +1.Как насчет инструмента управления конфигурацией? Кукольный , шеф-повар , CFEngine и т. Д.?
источник
Вы можете определять группы в sudoers ... и извлекать эти группы из центрального хранилища аутентификации ... как Active Directory. Я люблю помещать администраторов домена в мой файл sudoers. Сохраняет много головных болей.
источник
Если вы ищете для API , чтобы изменить файл sudoers, вы можете использовать Авгии с объективом Sudoers. Он прекрасно интегрируется с Puppet , но вы также можете использовать его в своем скрипте (есть много привязок).
Посмотрите этот ответ, например.
источник
Хмм !! это боль. Другой способ сделать это можно с помощью команды cssh, которая позволит вам открывать несколько окон одновременно. если вы напечатаете что-нибудь в крошечном окне (белое пустое окно), вы заметите, что ваш печатный механизм распространяется по всем окнам. Я бы порекомендовал сделать резервную копию вашего файла suoders и использовать команду visudo для обновления sudoers. если что-нибудь не понравилось в файле sudoer, visudo предложит вам исправить файл.
ура
источник