Receta que no logra eliminar /usr/sbin/useradd.
Entonces, tengo una capa personalizada de yocto en la que necesito eliminar los comandos de modificación de cuentas de usuario (useradd, userdel, usermod, etc.). Estos comandos se almacenan en /usr/sbin. El método que he estado intentando es introducir una nueva receta (o agregar la misma lógica en una receta existente) donde hago lo siguiente:
SUMMARY = "Controles de modificación de cuentas de usuario"
DESCRIPTION = "Configura la existencia de comandos de modificación de usuarios"
LICENSE = "Propio"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Propio;md5=[redactado]"
SRC_URI += ""
FILES_${PN} += " \
${sbindir}/* \
"
do_install() {
rm -rf ${D}${sbindir}/useradd
}
La parte importante, por supuesto, está en el do_install, donde useradd debería eliminarse de /usr/sbin. Aunque esto no sucede. He verificado que la receta se está analizando correctamente y he intentado agregar la misma lógica en mi receta principal de imagen. Bitbake se completa correctamente, aunque el sistema de archivos raíz y un iniciador de arranque muestran que /usr/sbin/useradd aún existe. Tal vez hay algo que no estoy entendiendo acerca de cómo se genera useradd.
Cualquier idea es muy apreciada.
davy.ai
Solución para eliminar comandos de modificación de cuentas de usuario en una capa personalizada de Yocto
Para eliminar los comandos de modificación de cuentas de usuario, como useradd, userdel, usermod, etc., que se encuentran en /usr/sbin en una capa personalizada de Yocto, se deben seguir los siguientes pasos:
do_install()
, donde se eliminauseradd
de/usr/sbin
.Verificar que la receta se esté analizando correctamente y que el bitbake se complete sin errores.
Verificar en el rootfs y arrancar para asegurarse de que
/usr/sbin/useradd
se haya eliminado correctamente.Si
useradd
todavía existe incluso después de seguir los pasos anteriores, es posible que algo esté generándolo durante el proceso de construcción. En este caso, puede ser necesario investigar aún más para identificar y eliminar la fuente deuseradd
.