mirror of
https://github.com/rootzoll/raspiblitz.git
synced 2025-02-28 16:58:03 +01:00
fix adduser + maintenance tasks (#4172)
* fix: add --shell /bin/bash to adduser * joininbox update to v0.8.1 and install fixes * CLN update to v23.08.1 * bos update to 15.8.14, improve menu * lnproxy: deactivate in menu and provision * copy the skeleton files for user used with login * deprecate loop single install further do not install in any case the uninstall option is still used * deprecate faraday single install further do not install in any case the uninstall option is still used * deprecate pool single install further do not install in any case the uninstall option is still used * bos: minimize changes to script * only add --bash oprion to users intended for login * add info to CHANGES * add sudo to non-privileged scripts * bos: don't download source * ci: run apt update before qemu install
This commit is contained in:
parent
ea41275b5d
commit
2c235f3b53
15 changed files with 74 additions and 78 deletions
|
@ -3,7 +3,7 @@
|
|||
- Update: RaspiOS base image from 2023-05-03
|
||||
- Update: Bitcoin Core v25.0.0 [details](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-25.0.md)
|
||||
- Update: LND v0.16.4-beta [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.16.4-beta)
|
||||
- Update: Core Lightning v23.08 [details](https://github.com/ElementsProject/lightning/releases/tag/v23.08)
|
||||
- Update: Core Lightning v23.08.1 [details](https://github.com/ElementsProject/lightning/releases/tag/v23.08.1)
|
||||
- Update: Suez - Channel Visualization for LND & CLN [details](https://github.com/prusnak/suez)
|
||||
- Update: Electrum Server in Rust (electrs) v0.10.0 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0100-jul-22-2023)
|
||||
- Update: C-lightningREST v0.10.5 [details](https://github.com/Ride-The-Lightning/c-lightning-REST/releases/tag/v0.10.5)
|
||||
|
@ -16,8 +16,14 @@
|
|||
- Update: BTCPayServer 1.10.3 (postgres by default with sqlite migration) [details](https://github.com/btcpayserver/btcpayserver/releases/tag/v1.10.3)
|
||||
- Update: Specter Desktop 1.13.1 [details](https://github.com/cryptoadvance/specter-desktop/releases/tag/v1.13.1)
|
||||
- Update: Kindle-Display 0.5.1 [details](https://github.com/dennisreimann/kindle-display/)
|
||||
- Update: JoinMarket v0.9.10 [details](https://github.com/JoinMarket-Org/joinmarket-clientserver/releases/tag/v0.9.10)
|
||||
- Update: JoininBox v0.8.1 [details](https://github.com/openoms/joininbox/releases/tag/v0.8.1)
|
||||
- Update: Balance of Satoshis 15.11.0 (bos) [details](https://github.com/alexbosworth/balanceofsatoshis/blob/master/CHANGELOG.md#15110)
|
||||
- Fix: Homebanking Interface FinTS/HBCI (experimental) [details](https://github.com/rootzoll/raspiblitz/issues/1186)
|
||||
- Remove: Spark Wallet and Sparko CLN plugin (not maintained anymore)
|
||||
- Remove: Faraday, Loop, Pool single installs - used in the LiT package instead
|
||||
- Remove: deactivate LNproxy in the menu and in provision
|
||||
- Info: the users not intended to be logged in will not be available to change into (manage them from admin with sudo)
|
||||
|
||||
## What's new in Version 1.9.0 of RaspiBlitz?
|
||||
|
||||
|
|
|
@ -399,7 +399,9 @@ echo -e "\n*** PREPARE ${baseimage} ***"
|
|||
# make sure the pi user is present
|
||||
if [ "$(compgen -u | grep -c pi)" -eq 0 ];then
|
||||
echo "# Adding the user pi"
|
||||
adduser --system --group --home /home/pi pi
|
||||
adduser --system --group --shell /bin/bash --home /home/pi pi
|
||||
# copy the skeleton files for login
|
||||
sudo -u pi cp -r /etc/skel/. /home/pi/
|
||||
adduser pi sudo
|
||||
fi
|
||||
|
||||
|
@ -542,7 +544,9 @@ service rsyslog restart
|
|||
echo -e "\n*** ADDING MAIN USER admin ***"
|
||||
# based on https://raspibolt.org/system-configuration.html#add-users
|
||||
# using the default password 'raspiblitz'
|
||||
adduser --system --group --home /home/admin admin
|
||||
adduser --system --group --shell /bin/bash --home /home/admin admin
|
||||
# copy the skeleton files for login
|
||||
sudo -u admin cp -r /etc/skel/. /home/admin/
|
||||
echo "admin:raspiblitz" | chpasswd
|
||||
adduser admin sudo
|
||||
chsh admin -s /bin/bash
|
||||
|
@ -560,7 +564,9 @@ fi
|
|||
echo -e "\n*** ADDING SERVICE USER bitcoin"
|
||||
# based on https://raspibolt.org/guide/raspberry-pi/system-configuration.html
|
||||
# create user and set default password for user
|
||||
adduser --system --group --home /home/bitcoin bitcoin
|
||||
adduser --system --group --shell /bin/bash --home /home/bitcoin bitcoin
|
||||
# copy the skeleton files for login
|
||||
sudo -u bitcoin cp -r /etc/skel/. /home/bitcoin/
|
||||
echo "bitcoin:raspiblitz" | chpasswd
|
||||
# make home directory readable
|
||||
chmod 755 /home/bitcoin
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
# install packer
|
||||
if ! packer version 2>/dev/null; then
|
||||
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
|
||||
|
@ -11,8 +13,11 @@ else
|
|||
echo "# Packer is installed"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# install qemu
|
||||
echo -e "\nInstalling qemu..."
|
||||
echo "# Install qemu ..."
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y qemu-system
|
||||
|
||||
# set vars
|
||||
|
@ -20,7 +25,7 @@ source ../set_variables.sh
|
|||
set_variables "$@"
|
||||
|
||||
# Build the image
|
||||
echo -e "\nBuilding the image..."
|
||||
echo "# Build the image ..."
|
||||
cd debian
|
||||
packer init -upgrade .
|
||||
command="PACKER_LOG=1 packer build ${vars} -only=qemu packer.build.amd64-debian.hcl"
|
||||
|
|
|
@ -126,9 +126,9 @@ fi
|
|||
if [ "${bos}" == "on" ]; then
|
||||
OPTIONS+=(BOS "Balance of Satoshis")
|
||||
fi
|
||||
if [ "${lnproxy}" == "on" ]; then
|
||||
OPTIONS+=(LNPROXY "lnproxy server")
|
||||
fi
|
||||
#if [ "${lnproxy}" == "on" ]; then
|
||||
# OPTIONS+=(LNPROXY "lnproxy server")
|
||||
#fi
|
||||
if [ "${pyblock}" == "on" ]; then
|
||||
OPTIONS+=(PYBLOCK "PyBlock")
|
||||
fi
|
||||
|
@ -281,9 +281,6 @@ case $CHOICE in
|
|||
LIGHTNINGTIPBOT)
|
||||
/home/admin/config.scripts/bonus.lightningtipbot.sh menu
|
||||
;;
|
||||
LOOP)
|
||||
/home/admin/config.scripts/bonus.loop.sh menu
|
||||
;;
|
||||
MEMPOOL)
|
||||
/home/admin/config.scripts/bonus.mempool.sh menu
|
||||
;;
|
||||
|
@ -296,9 +293,6 @@ case $CHOICE in
|
|||
JAM)
|
||||
/home/admin/config.scripts/bonus.jam.sh menu
|
||||
;;
|
||||
FARADAY)
|
||||
sudo /home/admin/config.scripts/bonus.faraday.sh menu
|
||||
;;
|
||||
BOS)
|
||||
sudo /home/admin/config.scripts/bonus.bos.sh menu
|
||||
;;
|
||||
|
@ -317,9 +311,6 @@ case $CHOICE in
|
|||
ZEROTIER)
|
||||
sudo /home/admin/config.scripts/bonus.zerotier.sh menu
|
||||
;;
|
||||
POOL)
|
||||
sudo /home/admin/config.scripts/bonus.pool.sh menu
|
||||
;;
|
||||
SPHINX)
|
||||
sudo /home/admin/config.scripts/bonus.sphinxrelay.sh menu
|
||||
;;
|
||||
|
|
|
@ -68,7 +68,7 @@ if [ "${lightning}" == "lnd" ] || [ "${lnd}" == "on" ]; then
|
|||
OPTIONS+=(la 'LND LIT (loop, pool, faraday)' ${lit})
|
||||
OPTIONS+=(gb 'LND LNDg (auto-rebalance, auto-fees)' ${lndg})
|
||||
OPTIONS+=(oa 'LND Balance of Satoshis' ${bos})
|
||||
OPTIONS+=(lp 'LND lnproxy server' ${lnproxy})
|
||||
#OPTIONS+=(lp 'LND lnproxy server' ${lnproxy})
|
||||
OPTIONS+=(ya 'LND PyBLOCK' ${pyblock})
|
||||
OPTIONS+=(ha 'LND ChannelTools (Fund Rescue)' ${chantools})
|
||||
OPTIONS+=(xa 'LND Sphinx-Relay' ${sphinxrelay})
|
||||
|
|
|
@ -269,10 +269,6 @@ Do you really want to update LND now?
|
|||
if [ ${#error} -gt 0 ]; then
|
||||
whiptail --title "ERROR" --msgbox "${error}" 8 30
|
||||
else
|
||||
# if loop was installed before reinstall
|
||||
if [ "${loop}" == "on" ]; then
|
||||
sudo -u admin /home/admin/config.scripts/bonus.loop.sh on
|
||||
fi
|
||||
/home/admin/config.scripts/blitz.shutdown.sh reboot
|
||||
sleep 8
|
||||
fi
|
||||
|
|
|
@ -425,15 +425,6 @@ else
|
|||
echo "Provisioning clWatchtowerClient - keep default" >> ${logFile}
|
||||
fi
|
||||
|
||||
#LOOP - install only if LiT won't be installed
|
||||
if [ "${loop}" = "on" ] && [ "${lit}" != "on" ]; then
|
||||
echo "Provisioning Lightning Loop - run config script" >> ${logFile}
|
||||
/home/admin/_cache.sh set message "Setup Lightning Loop"
|
||||
sudo -u admin /home/admin/config.scripts/bonus.loop.sh on >> ${logFile} 2>&1
|
||||
else
|
||||
echo "Provisioning Lightning Loop - keep default" >> ${logFile}
|
||||
fi
|
||||
|
||||
#BTC RPC EXPLORER
|
||||
if [ "${BTCRPCexplorer}" = "on" ]; then
|
||||
echo "Provisioning BTCRPCexplorer - run config script" >> ${logFile}
|
||||
|
@ -594,15 +585,6 @@ else
|
|||
echo "Provisioning Specter - keep default" >> ${logFile}
|
||||
fi
|
||||
|
||||
# Faraday
|
||||
if [ "${faraday}" = "on" ]; then
|
||||
echo "Provisioning Faraday - run config script" >> ${logFile}
|
||||
/home/admin/_cache.sh set message "Setup Faraday"
|
||||
sudo -u admin /home/admin/config.scripts/bonus.faraday.sh on >> ${logFile} 2>&1
|
||||
else
|
||||
echo "Provisioning Faraday - keep default" >> ${logFile}
|
||||
fi
|
||||
|
||||
# BOS
|
||||
if [ "${bos}" = "on" ]; then
|
||||
echo "Provisioning Balance of Satoshis - run config script" >> ${logFile}
|
||||
|
@ -612,14 +594,14 @@ else
|
|||
echo "Provisioning Balance of Satoshis - keep default" >> ${logFile}
|
||||
fi
|
||||
|
||||
# LNPROXY
|
||||
if [ "${lnproxy}" = "on" ]; then
|
||||
echo "Provisioning lnproxy - run config script" >> ${logFile}
|
||||
/home/admin/_cache.sh set message "Setup lnproxy"
|
||||
sudo -u admin /home/admin/config.scripts/bonus.lnproxy.sh on >> ${logFile} 2>&1
|
||||
else
|
||||
echo "Provisioning lnproxy - keep default" >> ${logFile}
|
||||
fi
|
||||
## LNPROXY
|
||||
#if [ "${lnproxy}" = "on" ]; then
|
||||
# echo "Provisioning lnproxy - run config script" >> ${logFile}
|
||||
# /home/admin/_cache.sh set message "Setup lnproxy"
|
||||
# sudo -u admin /home/admin/config.scripts/bonus.lnproxy.sh on >> ${logFile} 2>&1
|
||||
#else
|
||||
# echo "Provisioning lnproxy - keep default" >> ${logFile}
|
||||
#fi
|
||||
|
||||
# thunderhub
|
||||
if [ "${thunderhub}" = "on" ]; then
|
||||
|
@ -675,15 +657,6 @@ else
|
|||
echo "Provisioning Stacking Sats Kraken - keep default" >> ${logFile}
|
||||
fi
|
||||
|
||||
# Pool - install only if LiT won't be installed
|
||||
if [ "${pool}" = "on" ] && [ "${lit}" != "on" ]; then
|
||||
echo "Provisioning Pool - run config script" >> ${logFile}
|
||||
/home/admin/_cache.sh set message "Setup Pool"
|
||||
sudo -u admin /home/admin/config.scripts/bonus.pool.sh on >> ${logFile} 2>&1
|
||||
else
|
||||
echo "Provisioning Pool - keep default" >> ${logFile}
|
||||
fi
|
||||
|
||||
# lit (make sure to be installed after RTL)
|
||||
if [ "${lit}" = "on" ]; then
|
||||
echo "Provisioning LIT - run config script" >> ${logFile}
|
||||
|
|
|
@ -36,7 +36,11 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
|||
echo ""
|
||||
|
||||
# create user
|
||||
sudo adduser --system --group --home /home/bitcoinminds bitcoinminds
|
||||
USERNAME=bitcoinminds
|
||||
echo "# add the user: ${USERNAME}"
|
||||
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
|
||||
echo "Copy the skeleton files for login"
|
||||
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
|
||||
|
||||
# add local directory to path and set PATH for the user
|
||||
sudo bash -c "echo 'PATH=\$PATH:/home/bitcoinminds/.local/bin' >> /home/bitcoinminds/.profile"
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# https://github.com/alexbosworth/balanceofsatoshis/blob/master/package.json#L85
|
||||
# https://www.npmjs.com/package/balanceofsatoshis
|
||||
|
||||
BOSVERSION="15.8.14"
|
||||
BOSVERSION="15.11.0"
|
||||
|
||||
# command info
|
||||
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
|
||||
|
@ -194,7 +194,11 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
|||
/home/admin/config.scripts/bonus.nodejs.sh on
|
||||
|
||||
# create bos user
|
||||
sudo adduser --system --group --home /home/bos bos
|
||||
USERNAME=bos
|
||||
echo "# add the user: ${USERNAME}"
|
||||
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
|
||||
echo "Copy the skeleton files for login"
|
||||
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
|
||||
|
||||
echo "# Create data folder on the disk"
|
||||
# move old data if present
|
||||
|
@ -211,10 +215,6 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
|||
sudo -u bos npm config set prefix '/home/bos/.npm-global'
|
||||
sudo bash -c "echo 'PATH=$PATH:/home/bos/.npm-global/bin' >> /home/bos/.bashrc"
|
||||
|
||||
# download source code
|
||||
sudo -u bos git clone https://github.com/alexbosworth/balanceofsatoshis.git /home/bos/balanceofsatoshis
|
||||
cd /home/bos/balanceofsatoshis
|
||||
|
||||
# make sure symlink to central app-data directory exists ***"
|
||||
sudo rm -rf /home/bos/.lnd # not a symlink.. delete it silently
|
||||
# create symlink
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
# https://github.com/openoms/joininbox
|
||||
|
||||
# https://github.com/openoms/joininbox/tags
|
||||
JBTAG="v0.7.8" # installs JoinMarket v0.9.9
|
||||
JBTAG="v0.8.1" # installs JoinMarket v0.9.10
|
||||
|
||||
# command info
|
||||
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
|
||||
|
@ -56,8 +56,11 @@ if [ "$1" = "install" ]; then
|
|||
echo "# cleaning before install"
|
||||
sudo userdel -rf joinmarket 2>/dev/null
|
||||
|
||||
echo "# add the 'joinmarket' user"
|
||||
adduser --system --group --home /home/joinmarket joinmarket
|
||||
USERNAME=joinmarket
|
||||
echo "# add the user: ${USERNAME}"
|
||||
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
|
||||
echo "Copy the skeleton files for login"
|
||||
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
|
||||
|
||||
# add to sudo group (required for installation)
|
||||
adduser joinmarket sudo || exit 1
|
||||
|
@ -69,9 +72,6 @@ if [ "$1" = "install" ]; then
|
|||
sudo -u joinmarket mkdir -p /home/joinmarket/.ssh
|
||||
chmod -R 700 /home/joinmarket/.ssh
|
||||
|
||||
# install the command-line fuzzy finder (https://github.com/junegunn/fzf)
|
||||
bash -c "echo 'source /usr/share/doc/fzf/examples/key-bindings.bash' >> /home/joinmarket/.bashrc"
|
||||
|
||||
echo "# adding JoininBox"
|
||||
sudo rm -rf /home/joinmarket/joininbox
|
||||
sudo -u joinmarket git clone https://github.com/openoms/joininbox.git /home/joinmarket/joininbox
|
||||
|
@ -115,8 +115,7 @@ if [ "$1" = "install" ]; then
|
|||
echo
|
||||
# install a command-line fuzzy finder (https://github.com/junegunn/fzf)
|
||||
apt -y install fzf
|
||||
bash -c "echo 'source /usr/share/doc/fzf/examples/key-bindings.bash' >> \
|
||||
/home/joinmarket/.bashrc"
|
||||
echo 'source /usr/share/doc/fzf/examples/key-bindings.bash' | sudo -u joinmarket tee -a /home/joinmarket/.bashrc
|
||||
|
||||
# install tmux
|
||||
apt -y install tmux
|
||||
|
|
|
@ -90,7 +90,11 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
|||
if [ ${isInstalled} -eq 0 ]; then
|
||||
|
||||
# create dedicated user
|
||||
sudo adduser --system --group --home /home/lit lit
|
||||
USERNAME=lit
|
||||
echo "# add the user: ${USERNAME}"
|
||||
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
|
||||
echo "Copy the skeleton files for login"
|
||||
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
|
||||
# make sure symlink to central app-data directory exists
|
||||
sudo rm -rf /home/lit/.lnd # not a symlink.. delete it silently
|
||||
# create symlink
|
||||
|
|
|
@ -29,7 +29,12 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
|||
echo "*** INSTALL pyblocks***"
|
||||
|
||||
# create pyblock user
|
||||
sudo adduser --system --group --home /home/pyblock pyblock
|
||||
USERNAME=pyblock
|
||||
echo "# add the user: ${USERNAME}"
|
||||
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
|
||||
echo "Copy the skeleton files for login"
|
||||
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
|
||||
|
||||
cd /home/pyblock
|
||||
sudo -u pyblock mkdir /home/pyblock/config
|
||||
|
||||
|
|
|
@ -28,7 +28,10 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
|||
/home/admin/config.scripts/bonus.nodejs.sh on
|
||||
|
||||
# add user
|
||||
sudo adduser --system --group --home /home/$USERNAME $USERNAME
|
||||
echo "# add the user: ${USERNAME}"
|
||||
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
|
||||
echo "Copy the skeleton files for login"
|
||||
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
|
||||
|
||||
# install stacking-sats-kraken
|
||||
cd $HOME_DIR
|
||||
|
|
|
@ -161,7 +161,11 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
|||
# BACKGROUND is here to seperate running apps by unix users
|
||||
# and only give file write access to the rest of the system where needed.
|
||||
echo "# create user"
|
||||
sudo adduser --system --group --home /home/${APPID} ${APPID} || exit 1
|
||||
# If the user is intended to be loeed in to add '--shell /bin/bash'
|
||||
# and copy the skeleton files
|
||||
sudo adduser --system --group --shell /bin/bash --home /home/${APPID} ${APPID} || exit 1
|
||||
# copy the skeleton files for login
|
||||
sudo -u ${APPID} cp -r /etc/skel/. /home/${APPID}/
|
||||
|
||||
# add user to special groups with special access rights
|
||||
# BACKGROUND there are some unix groups available that will give the access to
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# https://lightning.readthedocs.io/
|
||||
|
||||
# https://github.com/ElementsProject/lightning/releases
|
||||
CLVERSION="v23.08"
|
||||
CLVERSION="v23.08.1"
|
||||
|
||||
# install the latest master by using the last commit id
|
||||
# https://github.com/ElementsProject/lightning/commit/master
|
||||
|
|
Loading…
Add table
Reference in a new issue