Add server-side/step1_as_root.sh
This is the first initial setup to be run as the root user of a brand new server for a HydraVeil Node. It sets up a Linux user, git, curl, and fixes the DNS. These can be done on your own, if you know what you’re doing or follow our guides.
This commit is contained in:
parent
30f8c1e661
commit
1919e4a890
1 changed files with 63 additions and 0 deletions
63
server-side/step1_as_root.sh
Normal file
63
server-side/step1_as_root.sh
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
#!/bin/bash -eu
|
||||
|
||||
# Ensure the script runs with root privileges
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "Please run this script as root"
|
||||
exit 1
|
||||
fi
|
||||
####################
|
||||
sudo apt update && sudo apt upgrade
|
||||
# Install curl & git for later:
|
||||
sudo apt install curl git -y
|
||||
############################################################################
|
||||
# #
|
||||
# setup a Linux user #
|
||||
# #
|
||||
############################################################################
|
||||
read -p "Enter a linux username to make: " LINUX_USERNAME
|
||||
export LINUX_USERNAME=$LINUX_USERNAME
|
||||
read -p "Enter a password for $LINUX_USERNAME: " LINUX_PASSWORD
|
||||
export LINUX_PASSWORD=$LINUX_PASSWORD
|
||||
# setup:
|
||||
useradd $LINUX_USERNAME
|
||||
mkdir /home/$LINUX_USERNAME
|
||||
chown $LINUX_USERNAME:$LINUX_USERNAME /home/$LINUX_USERNAME -R
|
||||
# activate linux shell for the user:
|
||||
look_for="/home/$LINUX_USERNAME:/bin/sh"
|
||||
change_to="/home/$LINUX_USERNAME:/bin/bash"
|
||||
sudo sed -i "s|$look_for|$change_to|g" /etc/passwd
|
||||
# Change the password
|
||||
echo "$LINUX_USERNAME:$LINUX_PASSWORD" | chpasswd
|
||||
# Verify the change
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Password set successfully for user $LINUX_USERNAME."
|
||||
else
|
||||
echo "Failed to set password for user $LINUX_USERNAME."
|
||||
fi
|
||||
# Make a sudo user:
|
||||
usermod -aG sudo $LINUX_USERNAME
|
||||
############################################################################
|
||||
# #
|
||||
# DNS, undo google. undo cloudflare #
|
||||
# #
|
||||
############################################################################
|
||||
sudo sed -i 's/1.1.1.1/9.9.9.9/g' /etc/network/if-up.d/custom-resolv
|
||||
sudo sed -i 's/8.8.8.8/9.9.9.10/g' /etc/network/if-up.d/custom-resolv
|
||||
sudo sed -i 's/1.1.1.1/9.9.9.9/g' /etc/netplan/50-cloud-init.yaml
|
||||
sudo sed -i 's/8.8.8.8/9.9.9.10/g' /etc/netplan/50-cloud-init.yaml
|
||||
sudo sed -i 's/1.1.1.1/9.9.9.9/g' /etc/resolv.conf
|
||||
sudo sed -i 's/8.8.8.8/9.9.9.10/g' /etc/resolv.conf
|
||||
sudo sudo apt install dnsutils -y
|
||||
dig
|
||||
read -p "do you see google or cloudflare in the above DNS servers? (yes/no): " REPLY_ON_GOOGLE_CLOUDFLARE
|
||||
# Check the user's answer
|
||||
if [[ "$REPLY_ON_GOOGLE_CLOUDFLARE" == "yes" ]]; then
|
||||
echo "This means you need to reboot for it to take effect. Rebooting now"
|
||||
reboot
|
||||
elif [[ "$REPLY_ON_GOOGLE_CLOUDFLARE" == "no" ]]; then
|
||||
echo "ok great. you don't need to reboot"
|
||||
# switch to the user:
|
||||
su $LINUX_USERNAME
|
||||
else
|
||||
echo "Please answer with 'yes' or 'no'."
|
||||
fi
|
||||
Loading…
Reference in a new issue