У нас есть несколько серверов Linux, которые проходят аутентификацию в домене Active Directory. Для группы в AD я хочу добавить список команд, которым разрешено запускать от имени пользователя root с помощью sudo. Я, очевидно, могу подключиться к каждому компьютеру по ssh и обновить файл 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 ... и извлекать эти группы из центрального репозитория аутентификации ... например, Active Directory. Мне нравится помещать администраторов домена в мой файл sudoers. Избавляет от головной боли.
Если вы ищете API для изменения файла sudoers, вы можете использовать Авгий с объективом Судоэрса. Он прекрасно интегрируется с Кукольный, но вы также можете использовать его в своем скрипте (есть много привязок).
Видеть этот ответ например.
Хм !! это боль. в противном случае вы можете сделать это с помощью команды cssh, которая позволит вам открывать несколько окон одновременно. если вы напечатаете что-то в крошечном окошке (белое пустое окно), вы заметите, что ваш ввод распространяется по всем окнам. Я бы рекомендовал сделать резервную копию вашего файла suoders и использовать команду visudo для обновления sudoers. если какой-либо файл sudoer не нравится, visudo скажет вам исправить файл.
Ура