0
0
mirror of https://github.com/libretro/Lakka-LibreELEC.git synced 2025-03-14 21:38:23 +00:00

busybox: allow changing root password

This commit is contained in:
Lukas Rusak
2017-09-11 20:19:21 -07:00
committed by chewitt
parent 7ab73457b8
commit 712ce0b82e
4 changed files with 23 additions and 10 deletions

@ -369,13 +369,15 @@ add_user() {
echo "$1:x:$3:$4:$5:$6:$7" >> ${INSTALL}/etc/passwd
fi
touch ${INSTALL}/etc/shadow
touch ${INSTALL}/usr/config/shadow
ln -sf /storage/.config/shadow ${INSTALL}/etc/shadow
PASSWORD="$2"
if [ "$PASSWORD" = "x" ]; then
PASSWORD="*"
fi
if [ -z "`grep "$1:" ${INSTALL}/etc/shadow`" ]; then
echo "$1:$PASSWORD:::::::" >> ${INSTALL}/etc/shadow
if [ -z "`grep "$1:" ${INSTALL}/usr/config/shadow`" ]; then
echo "$1:$PASSWORD:::::::" >> ${INSTALL}/usr/config/shadow
fi
}

@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Busybox version: 1.27.1
# Wed Aug 2 13:41:55 2017
# Mon Sep 11 19:54:52 2017
#
CONFIG_HAVE_DOT_CONFIG=y
@ -484,8 +484,8 @@ CONFIG_INIT_TERMINAL_TYPE=""
# Login/Password Management Utilities
#
CONFIG_FEATURE_SHADOWPASSWDS=y
CONFIG_USE_BB_PWD_GRP=y
CONFIG_USE_BB_SHADOW=y
# CONFIG_USE_BB_PWD_GRP is not set
# CONFIG_USE_BB_SHADOW is not set
CONFIG_USE_BB_CRYPT=y
CONFIG_USE_BB_CRYPT_SHA=y
# CONFIG_ADDGROUP is not set
@ -500,7 +500,7 @@ CONFIG_LAST_ID=0
CONFIG_FIRST_SYSTEM_ID=0
CONFIG_LAST_SYSTEM_ID=0
# CONFIG_CHPASSWD is not set
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="sha512"
CONFIG_CRYPTPW=y
# CONFIG_MKPASSWD is not set
# CONFIG_DELUSER is not set
@ -512,8 +512,8 @@ CONFIG_LOGIN=y
CONFIG_LOGIN_SCRIPTS=y
# CONFIG_FEATURE_NOLOGIN is not set
# CONFIG_FEATURE_SECURETTY is not set
# CONFIG_PASSWD is not set
# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
CONFIG_PASSWD=y
CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
CONFIG_SU=y
CONFIG_FEATURE_SU_SYSLOG=y
CONFIG_FEATURE_SU_CHECKS_SHELLS=y

@ -156,7 +156,6 @@ makeinstall_target() {
cp $PKG_DIR/scripts/createlog $INSTALL/usr/bin/
cp $PKG_DIR/scripts/lsb_release $INSTALL/usr/bin/
cp $PKG_DIR/scripts/apt-get $INSTALL/usr/bin/
cp $PKG_DIR/scripts/passwd $INSTALL/usr/bin/
cp $PKG_DIR/scripts/sudo $INSTALL/usr/bin/
cp $PKG_DIR/scripts/pastebinit $INSTALL/usr/bin/
ln -sf pastebinit $INSTALL/usr/bin/paste

@ -0,0 +1,12 @@
diff -Naur a/loginutils/passwd.c b/loginutils/passwd.c
--- a/loginutils/passwd.c 2017-07-06 08:14:57.000000000 -0700
+++ b/loginutils/passwd.c 2017-09-11 17:06:07.572805135 -0700
@@ -220,7 +220,7 @@
if (rc > 0)
/* password in /etc/shadow was updated */
newp = (char*) "x";
- if (rc >= 0)
+ if (rc == 0)
/* 0 = /etc/shadow missing (not an error), >0 = passwd changed in /etc/shadow */
#endif
{