¿Cómo pongo comentarios en mi archivo / etc / shadow?

10

Estoy ejecutando algunas actualizaciones del sistema y mi administrador de paquetes muestra cambios entre el upstream / etc / shadow y el mío.

Me gustaría poner algunos comentarios en el archivo para la próxima vez que esto suceda. ¿Cómo lograría poner comentarios en el archivo / etc / shadow sin romper las cosas?

Estoy pensando que el "#" predeterminado probablemente lo haría, pero si me equivoco, el reinicio no será tan agradable.

Oveja Oscura
fuente
Use etckeeper y grabe sus comentarios en mensajes de confirmación.
Gilles 'SO- deja de ser malvado'

Respuestas:

14

En los sistemas Linux que usan GNU libc, las líneas que comienzan con #se ignoran /etc/shadow. El análisis se realiza por __fgetspent_r(), y su código fuente maneja explícitamente (y documenta) este comportamiento.

Así que en la gran mayoría de los sistemas Linux se puede comentar en líneas /etc/shadowcon #sin causar problemas.

Lamentablemente, los comentarios se eliminan cuando /etc/shadowse actualiza, por ejemplo , por passwd; por lo que almacenar comentarios no es realmente seguro (desde el punto de vista de los comentarios).

Esto significa que necesita encontrar otro lugar para almacenar sus comentarios: dos buenas sugerencias son la idea de dr01 de usar , o mejor aún , la idea de Gilles de usar mensajes de confirmación con etckeeper ./etc/shadow.README

Stephen Kitt
fuente
Casi cualquier entrada no válida parece perderse con passwd. Intenté usar una entrada de usuario falsa o válida y agregar caracteres a la entrada final, pero todo fue en vano.
Oteo
7

Cada línea de /etc/shadowse considera como un registro de usuario. Según lo escrito por Stephen Kitt, quien revisó el código fuente del analizador, puede poner líneas que comiencen #como comentarios en el archivo o incluso líneas vacías y se ignorarán.

Sin embargo, nunca he visto un /etc/shadowarchivo con comentarios al respecto. Parece que no es una práctica común, y por una muy buena razón: no se recomienda editarlo a mano . Por esta razón, prefiero sugerirle que cree un /etc/shadow.READMEarchivo para almacenar sus comentarios. Recuerde chmod 000el archivo para evitar que los usuarios no root lo espíen.

Dr_
fuente
¿Entonces por qué 000? Propiedad de root:rooty luego ug=r,o=no es suficiente?
0xC0000022L
000 son los permisos de /etc/shadow(al menos en Red Hat, no he buscado en otras distribuciones) y se aseguran de que solo la raíz tenga acceso al archivo. 440, como sugiere, hace que el archivo sea legible por un usuario habitual si se une por error al grupo raíz. En una máquina administrada adecuadamente, y para todos los fines prácticos, valen lo mismo. Creo que 000 transmite mejor un significado de "archivo crítico de seguridad, no tocar", pero esa es solo mi opinión.
dr_
@ dr01: no estoy seguro de cómo un usuario normal se uniría al grupo raíz sin que un superusuario lo haga. Y si un superusuario comete tal error, todas las apuestas están canceladas. Por ejemplo, hay una buena posibilidad de que esa persona ya sea un sudoer y pueda acceder al archivo independientemente. Lo considero seguridad por oscuridad, pero YMMV.
0xC0000022L
Eso es exactamente lo que quise decir con "el usuario habitual se une por error al grupo raíz". Mi caso es que un superusuario podría (aunque las posibilidades son escasas) colocarlo en el grupo raíz por error. Mientras que un permiso 000 permitirá que solo root acceda al archivo. Reconozco que es probable que sea un caso extremo, pero considero de esta manera mucho más limpio también ya que el archivo de comentarios termina teniendo los mismos permisos que /etc/shadow.
dr_
3

Por supuesto que tienes cambios en tu /etc/shadow. No desea que la información de la cuenta en /etc/shadowsu servidor (contraseñas hash, vencimientos de cuenta, etc.) sea una copia byte por byte de la cadena ascendente /etc/shadow.

Y espero que no esté sobrescribiendo su actual /etc/shadowcon lo que esté obteniendo de su fuente de datos ascendente.

Andrew Henle
fuente