mkpasswd -m sha-256으로 생성된 비밀번호를 사용하여 Linux 쉘에 로그인할 수 없습니다.

mkpasswd -m sha-256으로 생성된 비밀번호를 사용하여 Linux 쉘에 로그인할 수 없습니다.

저는 busybox(1.31.1)를 init로 사용하는 임베디드 Linux 시스템을 개발 중입니다.
/etc/inittab에서 로그인을 활성화했지만 잘못된 비밀번호를 사용하여 시스템에 로그인할 수 없습니다.
rootfs의 /etc/shadow가 호스트에 생성되었지만 mkpasswd -m "sha-256" "000000"대상의 busybox에서는 콘솔에서 비밀번호 "000000"으로 로그인할 수 없습니다.

비밀번호를 000000으로 재설정하기 위해 대상 passwd user(로그인 필요 없음)에서 adb 쉘을 사용해 본 후 이를 사용하여 직렬 콘솔에서 로그인할 수 있었습니다.

또한 adb 쉘을 통해 대상에서 시도했으며 echo "user:000000" | chpasswd -c SHA256직렬 콘솔에서 000000을 사용하여 시스템에 로그인할 수도 있습니다.

busybox 구성을 확인했는데 다음 옵션이 활성화되어 있습니다.


#
# 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

나는 buildroot와 마찬가지로 busybox의 "des"를 "sha256"으로 변경해 보았습니다. 하지만 여전히 직렬 콘솔에서 시스템에 로그인할 수 없습니다.

그래서 어떻게 고치는지 모르겠습니다.

답변1

많은 테스트와 인터넷 검색 끝에 이 문제에 대한 해결책을 찾은 것 같습니다.

비지박스 구성에서 "내부 섀도우 비밀번호 기능 사용" 선택을 비활성화하면 직렬 콘솔의 비밀번호를 사용하여 비지박스에 로그인할 수 있습니다.

문제가 해결되었지만 누군가가 좋은 세부 정보를 가지고 있다면 이 옵션이 로그인 프로세스에 어떤 영향을 미치는지 아직 모르겠습니다.

관련 정보