es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Agregar “libpam” a la receta del initramfs elimina la contraseña de la configuración de “extrausers”.

Estoy configurando la contraseña de root para mi Linux utilizando lo siguiente en el archivo “local.conf”:

INHERIT += "extrausers"
EXTRA_USERS_PARAMS = "usermod -p '\$6\$...'"`

Esto funciona correctamente, como se esperaba.

Pero ahora, descubrí que en Linux 5.10, para autenticar a un usuario, no puedo verificar “/etc/shadow”, en su lugar debo usar el módulo “libpam”. Entonces, hice lo siguiente para agregar “libpam” a mi imagen de Linux:

  • En mi receta de “intramfs” agregué “libpam” a “PACKAGE_INSTALL”.
  • Agregué “pam” en “DISTRO_FEATURES_append”.

Ahora, cuando flasheo esta nueva imagen, el usuario “root” no tiene contraseña. Agregar “libpam” está eliminando de alguna manera la contraseña establecida usando “extrausers”…
¿Hay alguna forma de establecer la contraseña en la imagen usando “libpam”? ¿O estoy haciendo algo mal al usar “extrausers” y agregar “libpam” a mi imagen?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Según la información proporcionada, parece que agregar el módulo libpam está interfiriendo de alguna manera con la contraseña establecida usando extrausers en su imagen de Linux.

    Para establecer una contraseña usando libpam, puede utilizar la función pam_set_item para establecer la contraseña. Sin embargo, este enfoque puede no ser adecuado en su caso, ya que ya ha establecido la contraseña utilizando extrausers.

    Una posible solución a este problema podría ser configurar libpam para que use el archivo /etc/shadow para la autenticación en lugar del método extrausers. Esto se puede hacer modificando el archivo de configuración pam_unix ubicado en /etc/pam.d.

    Para hacer esto, siga los siguientes pasos:
    1. Abra el directorio /etc/pam.d y localice el archivo system-auth o login.
    2. Edite el archivo y localice la línea que contiene auth sufficient pam_unix.so.
    3. Agregue la siguiente cadena shadow nullok al final de esta línea.
    4. Guarde el archivo y reinicie el sistema.

    Después de realizar estos pasos, libpam ahora debería usar el archivo /etc/shadow para la autenticación, lo que permitirá que la contraseña de root previamente establecida funcione correctamente.

    Alternativamente, también puede actualizar la contraseña utilizando el comando passwd después de que el sistema se haya iniciado. Simplemente ejecute passwd desde la terminal y se le pedirá que establezca una nueva contraseña para el usuario root.

Comments are closed.