Actualizar múltiples archivos sudoers


8

Tenemos varios servidores Linux que se autentican en un dominio de Active Directory. Para un grupo en AD, quiero agregar una lista de comandos que pueden ejecutarse como root usando sudo. Obviamente, puedo ingresar a cada computadora y actualizar el archivo sudoers, pero eso llevará algún tiempo. Además, el inicio de sesión raíz no está permitido. Por lo tanto, los inicios de sesión sin contraseña solo funcionarán para usuarios no root.

¿Hay una manera rápida de actualizar el archivo sudoers para cada computadora Linux a la vez? Estoy pensando en un script Perl o Python con algunas capacidades de administración del sistema aquí.

Actualización: Gracias veroteq7 y Shane Madden. Había pensado implementar cfengine en un momento, pero actualmente no lo tenemos funcionando. Hemos decidido que usar LDAP sería la mejor solución. Recibo un error al importar el esquema de esquema LDIF. ActiveDirectory para sudo. El error es "el parámetro no es correcto" en la línea 144.

Este es el contenido de la línea 144 en adelante:

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

El comando que usé es:

ldifde -i -f schema.ActiveDirectory -c dc=X dc=DOMAINNAME,dc=LOCAL

Actualización2: creé una nueva pregunta . Gracias a todos por las sugerencias.


Probablemente debería publicar el bit de modificación del esquema AD como una pregunta separada: no estoy realmente al tanto de todas las cosas específicas de AD que deben hacerse para modificar el esquema LDAP e importar nuevos objetos, pero sé que tenemos un muchos gurús de MS / AD aquí que lo recogerían bajo las etiquetas de directorio activo y ldap
voretaq7 12/12/11

Respuestas:


16

¿Por qué no desechar /etc/sudoersy usar AD (LDAP) como su tienda de sudoers? - Más información aquí .

Ya se está autenticando contra AD, por lo que este es solo el siguiente paso lógico y le brinda un lugar conveniente y centralizado para manejar la autenticación y la autorización.


Hasta donde puedo recordar, acabamos de hacer AD / Linux / winbind / PAM y agregamos grupos de AD a sudoers- No sé cómo nunca he encontrado esto. Un merecido +1.
jscott

@jscott El gran inconveniente es que muchos paquetes de sudo no tienen LDAP compilado, por lo que es posible que tenga que rodar los suyos. Construyo sudo desde los puertos de FreeBSD, y ya tenemos dependencias LDAP para pam_ldap, por lo que no es un dolor de cabeza adicional para mí :-)
voretaq7


3

Puede definir grupos en sudoers ... y extraer esos grupos de un repositorio de autenticación central ... como Active Directory. Me encanta poner administradores de dominio en mi archivo sudoers. Ahorra muchos dolores de cabeza.


2

Si está buscando una API para modificar su archivo sudoers, puede usar Augeas con la lente Sudoers. Se integra muy bien con Puppet , pero también puede usarlo en un script suyo (hay muchos enlaces).

Ver esta respuesta por ejemplo.


0

Hmm !! es un dolor. Por otro lado, puede hacerlo con el comando cssh que le permitirá abrir varias ventanas a la vez. Si escribe algo en la pequeña ventana (ventana en blanco blanca), notará que su Typring se propaga a través de todas las ventanas. Recomiendo tomar una copia de seguridad de su archivo suoders y usar el comando visudo para actualizar sudoers. Si no le gusta el archivo sudoer, visudo le dirá que corrija el archivo.

Salud

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.