distribution/packages/jelos/sources/scripts/setrootpass
fewtarius c83cd844b1
* Complete SyncThing integration.
* Switch on in ES under Network Settings.
  * Connect via browser to http://device:8384.
  * Username: root, Password: System Settings Menu
* A bit of startup optimization.
2023-02-09 19:17:29 -05:00

25 lines
798 B
Bash
Executable file

#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
. /etc/profile
ROOTPASS="$1"
LPC=$(awk -F: '/^root/{print $3}' /storage/.cache/shadow)
CURRENT=$(awk -F: '/^root/{print $2}' /storage/.cache/shadow)
# Turn it into a usable hash
NEW=$(cryptpw -m sha512 "${ROOTPASS}" 2>/dev/null)
# Set the root password.
sed -i "s#root:${CURRENT}:${LPC}::::::#root:${NEW}:${LPC}::::::#g" /storage/.cache/shadow 2>/dev/null
# Create a root user and set the password.
echo -ne "${ROOTPASS}\n${ROOTPASS}\n" | smbpasswd -sa root 2>/dev/null
# Set the root user and password for SyncThing
syncthing generate --gui-user "root" --gui-password "${ROOTPASS}"
# Save the password so we can display it in ES
set_setting root.password "${ROOTPASS}"