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:
-
Sintaxis: Ambas cosas
visudo
yvisudo -f
realizar la misma comprobación de sintaxis. -
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:
- Archivos cuyos nombres terminan en
~
- 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 aroot
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/sudoers
que 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 /etc
como /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.