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.
Respuestas:
¿Por qué no desechar
/etc/sudoers
y 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.
fuente
sudoers
- No sé cómo nunca he encontrado esto. Un merecido +1.¿Qué tal una herramienta de gestión de configuración? Marioneta , Chef , CFEngine , etc.
fuente
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.
fuente
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.
fuente
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
fuente