Un /etc/group
archivo de muestra contiene las siguientes entradas:
root:*:0:
adm:!:4:logcheck
antoine:x:1000:
Las páginas de manual que he leído (Debian y OSX) dicen que el segundo campo es almacenar una contraseña de grupo. Como rara vez se usan, generalmente se coloca un asterisco *
o un a x
en lugar de dejarlo en blanco.
La shadow
página del manual también dice que este segundo campo debe almacenar el resultado de la crypt
función. Y si se almacena un resultado no válido (como *
o !
), significa que la contraseña no se puede utilizar como método de autenticación.
¿Eso también es válido para el group
archivo? ¿Por qué termino con 3 caracteres diferentes en mi group
archivo, todos con el mismo significado? ¿Puedo cambiar todo de forma segura *
?
*
?!
se usa para un solo grupo en un solo servidor de 10+ que actualmente administro. Por la simplicidad de algunos scripts de comprobación, tener siempre el mismo carácter allí aclararía las cosas. Bueno, si en realidad significa lo mismo, por supuesto.Respuestas:
Estás pensando que el
!
,*
ox
tiene un significado especial aquí, y por lo tanto te preocupa que pueda haber alguna distinción entre ellos.El hecho es que estos personajes se eligen simplemente porque se destacan, al menos para los ojos occidentales. Estos caracteres connotan un valor faltante, un caso de excepción o una advertencia. Podrías poner
boogabooga
aquí y tener exactamente el mismo efecto.Esto se debe a la forma en que se manejan las contraseñas en los sistemas de tipo Unix. Cuando el sistema recibe una entrada de contraseña, hace hash y la compara con la codificación almacenada. Por lo tanto, todo lo que importa aquí es que use algún carácter o secuencia de caracteres que no puede ser un hash de contraseña válido. (Tampoco debe incluir dos puntos, por razones obvias).
Aunque no hay diferencia entre estos personajes desde la perspectiva del sistema operativo central, hay algunas convenciones:
Cuando el
pwconv(8)
programa Linux vex
, significa que "ya he movido este hash de contraseña pública al archivo de contraseña oculta".Ese no es un caso importante en la práctica porque los días de conversión a (o, Dios te ayude, de ) contraseñas ocultas han quedado atrás.
Si usa
usermod -L
opasswd -l
para bloquear a un usuario,!
tiene un significado especial en/etc/shadow
porque esa es la convención para "romper este hash para que ya no coincida".Agregar cualquier otro personaje al hash almacenado lo rompería igual de bien. La violación de esta Convención se limita a evitar
usermod -U
opasswd -u
de desbloqueo inicio de sesión del usuario. Igual de cierto, ya que lo bloqueó a mano agregando un personaje falso, puede desbloquearlo a mano quitándolo.Sin embargo, todo eso es solo trivia con respecto a esta pregunta. No hay
groupmod -L
ogpasswd -l
, por lo tanto, no hay!
convención en/etc/group
.Más curiosidades: si se va a las cuentas de usuario de bloqueo con la mano, se debe quedar fuera de la
[A-Za-z0-9/\]
serie, ya que esos son caracteres legales para el hash. Esa es una razón que seusermod
usa!
aquí en lugar dex
.No veo nada malo en normalizar todos los
/etc/group
campos de contraseña, si eso te hace sentir mejor. Al hacerlo, ya está diciendo que está contento de hackear estos archivos a mano, por lo que probablemente no sea del tipo que usa las herramientas que se preocupan por las distinciones de todos modos. De todos modos, el cambio no va a tener un efecto en la operación diaria del sistema.fuente
getpwent(3)
y amigos. Perl tiene envoltorios para estos en su biblioteca estándar, al igual que cualquier otro lenguaje de scripts enfocado en sysadmin de Unix. Si está utilizando un idioma sin estos envoltorios, esta sería una buena excusa para cambiar. :)x
y*
para marcar un campo de contraseña "no utilizado". Sin embargo, es curioso ... la página del manual dice que el campo bien puede dejarse vacío (lo que en el campo de la base de datos puede llamarse NULL, especialmente en Oracle, que define la cadena NULL y vacía como la misma). Entonces, volviendo a / etc / group: ¿por qué usarx
or!
o*
, en lugar de dejar el campo vacío? Dos colones consecutivos se destacan tan bien como cualquiera de estos personajes. No es importante, solo curioso/etc/shadow
. Además, rechazo la noción de que un doble colon es igual de claro. Rápido, ¿cuántos campos vacíos hay aquí::::::
? Ahora cuantos:x:*:!:x:*:
:? El mismo número de dos puntos, pero diferentes respuestas, confío.