summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2017-02-16 13:10:26 -0600
committerJohn Klug <john.klug@multitech.com>2017-02-16 13:10:26 -0600
commitc2530b0bc9d620cc1bb396f044045858b0cb4d02 (patch)
tree24940fbac9d934168feb87971cdba829b83fcac6
parent5fa3832772dba99113e08eab058823aa20f2498c (diff)
downloadmlinux-c2530b0bc9d620cc1bb396f044045858b0cb4d02.tar.gz
mlinux-c2530b0bc9d620cc1bb396f044045858b0cb4d02.tar.bz2
mlinux-c2530b0bc9d620cc1bb396f044045858b0cb4d02.zip
Eliminate default password
-rwxr-xr-xsetup.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/setup.sh b/setup.sh
index d601f46..9e6efb3 100755
--- a/setup.sh
+++ b/setup.sh
@@ -34,6 +34,33 @@ if [ "$1" != "--update" ]; then
else
echo "Leaving existing conf/local.conf alone."
fi
+ ex_version=$(egrep '^PR[[:space:]]*=' layers/meta-multitech/recipes-kernel/linux/linux_*.bb)
+ if ((${#ex_version})) && [[ $ex_version =~ =[[:space:]]*([^[:space:]#]*) ]] ; then
+ MLINUX_KERNEL_EXTRA_VERSION="${BASH_REMATCH[1]}"
+ sed -ri '/^MLINUX_KERNEL_EXTRA_VERSION[[:space:]]*=/d' conf/local.conf
+ echo "MLINUX_KERNEL_EXTRA_VERSION = ${MLINUX_KERNEL_EXTRA_VERSION}" >>conf/local.conf
+ fi
+ krecipe=$(echo $(cd layers/meta-multitech/recipes-kernel/linux;echo linux_*.bb))
+ if ((${#krecipe})) && [[ $krecipe =~ linux_(.*).bb$ ]] ; then
+ MLINUX_KERNEL_VERSION="${BASH_REMATCH[1]}"
+ sed -ri '/^MLINUX_KERNEL_VERSION[[:space:]]*=/d' conf/local.conf
+ echo "MLINUX_KERNEL_VERSION = \"${MLINUX_KERNEL_VERSION}\"" >>conf/local.conf
+ fi
+ root_pwd_hash=$(egrep '^ROOT_PASSWORD_HASH[[:space:]]*=' conf/local.conf || true)
+ if ((${#root_pwd_hash} == 0)) ; then
+ if [[ "$ROOT_PASSWORD" ]] ; then
+ pass=$ROOT_PASSWORD
+ else
+ pass=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 2>/dev/null | head -c${1:-8};echo)
+ fi
+ salt="$(openssl rand -base64 128 2>/dev/null)"
+ hash="$(openssl passwd -1 -salt "$salt" "$pass")"
+ echo "ROOT_PASSWORD = \"$pass\"" >password.txt
+ echo "HASH = \"$hash\"" >>password.txt
+ echo "ROOT_PASSWORD_HASH = \"$hash\"" >>conf/local.conf
+ sed -ri "d/ROOT_PASSWORD[[:space:]]=/" conf/local.conf || true
+ echo "ROOT_PASSWORD = \"$pass\"" >>conf/local.conf
+ fi
echo ""
echo "Creating user-layer..."