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?
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 utilizandoextrausers
.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étodoextrausers
. Esto se puede hacer modificando el archivo de configuraciónpam_unix
ubicado en/etc/pam.d
.Para hacer esto, siga los siguientes pasos:
1. Abra el directorio
/etc/pam.d
y localice el archivosystem-auth
ologin
.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 ejecutepasswd
desde la terminal y se le pedirá que establezca una nueva contraseña para el usuario root.