GNU/Linux >> Tutoriales Linux >  >> Linux

¿Es posible cambiar el archivo de la base de datos de contraseñas (/etc/passwd) en Linux?

Tienes razón:/etc/passwd y /etc/shadow son consultados por pam_unix.so , que forman parte de PAM. Al menos en los Linux modernos. Podrías cambiar esto parcheando pam_unix.so . Si hay que creer en la página de manual, no puede cambiar la ubicación de las bases de datos del sistema.

Y realmente no quieres. /etc/passwd no solo se usa para la autenticación, también se usa para la resolución de nombres (inversa) y para buscar cosas como el nombre completo del usuario, el shell, etc. El nombre y la ubicación están tan estandarizados que moverlos casi definitivamente rompería las cosas fuera de PAM. Tendrías que parchear mucho más de lo que esperabas.

Actualización: Si estás tratando de ocultar el /etc/{passwd,shadow,group} archivos por seguridad, no te preocupes por eso. La seguridad por oscuridad rara vez ayuda como política. Déjalos donde están y ajusta el resto de tus políticas.

Actualización:una posible solución

Si tiene algún software personalizado que necesita para acceder a un conjunto diferente de bases de datos de usuarios/grupos, puede hacer una copia de los módulos PAM y NSS relevantes y parchearlos los. para utilizar sus bases de datos personalizadas. Las bases de datos originales de Unix permanecen donde están para que el software no se confunda, pero puede configurar PAM y NSS para usar sus módulos personalizados donde lo necesite y usar cualquier política que tenga sentido para usted.

Mantenga las bases de datos de Unix esencialmente prístinas y tendrá lo que pidió. Esto es más o menos lo que radius y ldap Los módulos PAM/NSS lo hacen:proporcionan una adicional (no reemplazo) fuente de credenciales e información de usuario/grupo.

Yendo un paso más allá:puede volver a PAM y NSS y deshabilitar por completo las búsquedas en la base de datos de Unix. Deje los archivos allí para el software antiguo (naturalmente, sus vistas de las bases de datos de usuarios/grupos serán inexactas, pero al menos no se romperán).


Lo que estás buscando es el pam_pwdfile módulo. En Debian/Ubuntu, el paquete es libpam-pwdfile (no estoy seguro acerca de las distribuciones derivadas de RedHat).

El README incluido con el paquete explica cómo usarlo.


No estoy seguro de si es posible listo para usar, pero definitivamente es posible con algo de piratería. Para hacer esto necesitarás:

  1. Tune/hack nsswitch library (/lib/libnss_files.so o libnss_db.so - verifique su /etc/nsswitch.conf) para que lea algún otro archivo.
  2. Ajuste/hackee el módulo pam_unix para que lea algunos otros archivos.

Linux
  1. Cómo cambiar la contraseña en Linux (comando passwd)

  2. Una introducción al archivo Linux /etc/fstab

  3. Extraer fechas de /etc/shadow

  4. Ordenar con separador de campo

  5. Límite de tamaño de /etc/hosts (Linux)

Comprender el archivo /etc/shadow

¿Qué es Fstab en Linux? Una introducción al archivo Linux /etc/fstab

La forma correcta de editar archivos /etc/passwd y /etc/group en Linux

Comando passwd de Linux – Cambiar contraseña de usuario

¿Qué es el archivo /etc/passwd en Linux?

Comprender el archivo /etc/fstab en Linux