Bug 15506 - Failed to login to system with root and its password.
Summary: Failed to login to system with root and its password.
Status: RESOLVED MOVED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2020.02.1
Hardware: All Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-30 01:41 UTC by wangt13
Modified: 2024-06-15 15:07 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description wangt13 2023-03-30 01:41:41 UTC
I am working on an emebeded system, where busybox is used as init and shell. 

The rootfs is built on X86 host with buildroot (2020.02.1). The buildroot is configured as follows,
BR2_TARGET_GENERIC_PASSWD_SHA256=y
# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256"
BR2_INIT_BUSYBOX=y
......
......
BR2_TARGET_ENABLE_ROOT_LOGIN=y
BR2_TARGET_GENERIC_ROOT_PASSWD="000000"
BR2_SYSTEM_BIN_SH_BUSYBOX=y

During the building of rootfs on the host, it shows following logs,
"/usr/bin/sed -i -e s,^root:[^:]*:,root:"`/home/t/develop/test/project/out/product/linux_nand_5.10-eng/obj/buildroot-intermediate/host/bin/mkpasswd -m "sha-256" "000000"`":, /home/t/develop/test/project/out/product/linux_nand_5.10-eng/obj/buildroot-intermediate/target/etc/shadow
"

When the image and rootfs are deployed into the target board and boot up. I cannot login to system with 'root' and '000000' from serial console.

Then in adb shell, I regenerated the password of root with `echo root:000000 | chpasswd -c SHA256`, I can login to the system with 'root' and '000000' from serial console. 

I don't know if this is a bug and how to make login with password.

Thanks,
Comment 1 wangt13 2023-03-30 01:57:23 UTC
(In reply to wangt13 from comment #0)
The busybox in buildroot is also configured as follows to support login.

#
# Login/Password Management Utilities
#
CONFIG_FEATURE_SHADOWPASSWDS=y
CONFIG_USE_BB_PWD_GRP=y
CONFIG_USE_BB_SHADOW=y
CONFIG_USE_BB_CRYPT=y
CONFIG_USE_BB_CRYPT_SHA=y
CONFIG_ADD_SHELL=y
CONFIG_REMOVE_SHELL=y
# CONFIG_ADDGROUP is not set
# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
# CONFIG_ADDUSER is not set
# CONFIG_FEATURE_CHECK_NAMES is not set
CONFIG_LAST_ID=0
CONFIG_FIRST_SYSTEM_ID=0
CONFIG_LAST_SYSTEM_ID=0
CONFIG_CHPASSWD=y
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
CONFIG_CRYPTPW=y
CONFIG_MKPASSWD=y
# CONFIG_DELUSER is not set
# CONFIG_DELGROUP is not set
# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
CONFIG_GETTY=y
CONFIG_LOGIN=y
# CONFIG_LOGIN_SESSION_AS_CHILD is not set
CONFIG_LOGIN_SCRIPTS=y
CONFIG_FEATURE_NOLOGIN=y
CONFIG_FEATURE_SECURETTY=y
CONFIG_PASSWD=y
CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
Comment 2 wangt13 2023-03-30 09:30:16 UTC
With lots of testing and googling, I think I fixed the issue of cannot login to busybox from serial console, by disabling 'CONFIG_USE_BB_SHADOW' in busybox-menuconfig.

From it help text, it seemed that using internal shadow can save disk space.
But enabling it cause me not to login to system.

Is there any further infor on this option and its impact?

Thanks,
Comment 3 Yann E. MORIN 2024-06-15 15:07:51 UTC
Thank you for your report.

The issue tracker for the Buildroot project has been moved to
the Gitlab.com issue tracker:
    https://gitlab.com/buildroot.org/buildroot/-/issues

We are taking this opportunity to close old issues in this old
tracker. If you believe your issue is still relevant, please
open one in the new issue tracker.

Thank you!