Saltar al contenido

¿Por qué el sistema tiene /etc/sudoers.d? ¿Cómo debo editarlo?

Puede que se de el caso de que halles algún problema con tu código o trabajo, recuerda probar siempre en un entorno de testing antes subir el código al proyecto final.

Solución:

Sí, puedes usar visudo para editar esos archivos. Todo lo que tiene que hacer es especificar el nombre del archivo que desea editar con el -f opción. Por ejemplo:

visudo -f /etc/sudoers.d/somefilename

O, si es necesario:

sudo visudo -f /etc/sudoers.d/somefilename

Documentación

De man visudo:

-f sudoers

Especifique y alterne la ubicación del archivo sudoers. Con esta opción, visudo editará (o comprobará) el archivo sudoers de su elección, en lugar del predeterminado, /etc/sudoers. El archivo de bloqueo utilizado es el archivo sudoers especificado con “.tmp” adjunto. Solo en el modo de verificación, el argumento de -f puede ser “-“, lo que indica que los sudoers se leerán desde la entrada estándar.

En resumen:

  1. Sintaxis: Ambas cosas visudo y visudo -frealizar la misma comprobación de sintaxis.

  2. Permisos/Propiedad: Como característica añadida para ayudar a la administración de grandes sistemas, los archivos editados bajo visudo -f no se verifica la propiedad o los permisos: esto permite verificar la sintaxis de un archivo fuera de línea o como parte de un sistema de control de revisión.

Por que usar /etc/sudoers.d/

Típicamente /etc/sudoers está bajo el control del administrador de paquetes de su distribución. Si ha realizado cambios en ese archivo y el administrador de paquetes desea actualizarlo, deberá inspeccionar manualmente los cambios y aprobar cómo se fusionan en la nueva versión. Al colocar sus cambios locales en un archivo en el /etc/sudoers.d/ directorio, evita este paso manual y las actualizaciones pueden continuar automáticamente.

cuando hace sudo ignorar un archivo en /etc/sudoers?

Si tu /etc/sudoers archivo contiene la línea:

#includedir /etc/sudoers.d

después sudo leerá archivos en el directorio /etc/sudoers.d.

Las excepciones son:

  1. Archivos cuyos nombres terminan en ~
  2. Archivos cuyos nombres contienen un . personaje

Esto se hace (a) para la comodidad de los administradores de paquetes y también (b) para que se ignoren los archivos de copia de seguridad de los editores.

Los cambios realizados en los archivos de /etc/sudoers.d permanecer en su lugar si actualiza el sistema. Esto puede evitar bloqueos de usuarios cuando se actualiza el sistema. A Ubuntu tiende a gustarle este comportamiento. Otras distribuciones también utilizan este diseño.

Ha sido mi experiencia que las reglas sobre los archivos en este directorio son menos estrictas que para /etc/sudoers. Esto ha incluido:

  • Los errores en el archivo no causaron sudo fallar Sin embargo, el archivo fue ignorado.
  • Las reglas de permisos parecen menos estrictas. Permite que el grupo aplicable u otro lea el archivo. No creo que eso fuera posible con /etc/sudoers. Los permisos de escritura deben estar restringidos a root para mantener la seguridad. La versión actual de Ubuntu de sudo permite permisos de lectura para grupos u otros. (Esta capacidad permite auditar el acceso a sudo sin necesidad de acceso de root).

los visudo el comando solo tiene como valor predeterminado /etc/sudoers. Editará y verificará cualquier archivo que especifique con el -f opción. Uso esta capacidad para editar archivos que se instalarán automáticamente como /etc/sudoers o en /etc/sudoders.d. Sin embargo, es posible que no se encuentren definiciones de otros archivos. Lo mejor es hacer que el archivo sea independiente.

La capacidad de tener archivos independientes simplifica que una aplicación habilite sudo capacidad en la instalación y eliminarlos cuando se desinstala. Las herramientas de configuración automatizadas también pueden usar esta capacidad.

He usado esta capacidad para aislar los cambios necesarios para otorgar acceso a grupos de usuarios específicos en sistemas específicos.

¿Por qué tenemos /etc/sudoers.d?

Debido a que es más fácil para las herramientas automatizadas (como Chef o Puppet) colocar archivos individuales en este directorio, en lugar de realizar cambios en /etc/sudoersque podría ser frágil.

los archivos en /etc/sudoers.d están (en efecto) concatenados. Verá varias otras instancias de este patrón en /etccomo /etc/cron.d y /etc/logrotate.d.

Reseñas y puntuaciones del tutorial

Si piensas que te ha sido de utilidad este post, sería de mucha ayuda si lo compartes con el resto juniors de esta forma nos ayudas a dar difusión a nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *