diff --git a/README.md b/README.md index 0b83b02..b989558 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -Run: - -curl -H "Authorization: token READ_REPOSITORY_ACCESS_TOKEN" -O https://git.rozenlab.com/api/v1/repos/leo/server-init/raw/init.sh?ref=master && sudo bash init.sh && rm init.sh - -curl -H "Authorization: token READ_REPOSITORY_ACCESS_TOKEN" -O https://git.rozenlab.com/api/v1/repos/leo/server-init/raw/samba.sh?ref=master && sudo bash samba.sh SAMBA_USER SAMBA_PASSWORD && rm samba.sh - - -**git** -git remote add server-init https://git.rozenlab.com/Leo/server-init.git -git add -A && git commit -m "changes" && git push server-init master +Run: + +curl -H "Authorization: token READ_REPOSITORY_ACCESS_TOKEN" -O https://git.rozenlab.com/api/v1/repos/leo/server-init/raw/init.sh?ref=master && sudo bash init.sh && rm init.sh + +curl -H "Authorization: token READ_REPOSITORY_ACCESS_TOKEN" -O https://git.rozenlab.com/api/v1/repos/leo/server-init/raw/samba.sh?ref=master && sudo bash samba.sh SAMBA_USER SAMBA_PASSWORD && rm samba.sh + + +**git** +git remote add server-init https://git.rozenlab.com/Leo/server-init.git +git add -A && git commit -m "changes" && git push server-init master diff --git a/init-server.sh b/init-server.sh index a952920..f5d2644 100644 --- a/init-server.sh +++ b/init-server.sh @@ -1,44 +1,44 @@ -#!/bin/bash - -USERNAME=usradmin -SSH_PORT=2525 - -if [ "$(id -u)" != "0" ]; then - echo -e "\033[31mThis script requires superuser rights.\033[0m" - exit 0 -fi - -trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' ERR -set -e - -export DEBIAN_FRONTEND=noninteractive - -apt update -y -apt upgrade -y -apt install -y mc vim zip pwgen sshpass - -timedatectl set-timezone Asia/Yekaterinburg -echo "Timezone changed:" -timedatectl - -if id "$USERNAME" &>/dev/null; then - echo "User $USERNAME already exists" -else - useradd -m -s /bin/bash "$USERNAME" - usermod -aG sudo "$USERNAME" -fi - -chown "$USERNAME":"$USERNAME" /data -chmod 770 /data - -mkdir -p /backups -chown "$USERNAME":"$USERNAME" /backups -chmod 770 /backups - -# SSH config: -cd /data/utils -bash ssh-port.sh $SSH_PORT -#bash ssh-pw.sh n - -trap - ERR +#!/bin/bash + +USERNAME=usradmin +SSH_PORT=2525 + +if [ "$(id -u)" != "0" ]; then + echo -e "\033[31mThis script requires superuser rights.\033[0m" + exit 0 +fi + +trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' ERR +set -e + +export DEBIAN_FRONTEND=noninteractive + +apt update -y +apt upgrade -y +apt install -y mc vim zip pwgen + +timedatectl set-timezone Asia/Yekaterinburg +echo "Timezone changed:" +timedatectl + +if id "$USERNAME" &>/dev/null; then + echo "User $USERNAME already exists" +else + useradd -m -s /bin/bash "$USERNAME" + usermod -aG sudo "$USERNAME" +fi + +chown "$USERNAME":"$USERNAME" /data +chmod 770 /data + +mkdir -p /backups +chown "$USERNAME":"$USERNAME" /backups +chmod 770 /backups + +# SSH config: +cd /data/utils +bash ssh-port.sh $SSH_PORT +#bash ssh-pw.sh n + +trap - ERR echo "Init complete" \ No newline at end of file diff --git a/samba.sh b/samba.sh index 443a903..e798f97 100644 --- a/samba.sh +++ b/samba.sh @@ -1,80 +1,80 @@ -#!/bin/bash - -if [ "$(id -u)" != "0" ]; then - echo -e "\033[31mThis script requires superuser rights.\033[0m" - exit 0 -fi - -if [ -z "$1" ] || [ -z "$2" ]; then - echo "Please provide both the username and password as arguments." - exit 1 -fi - -trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' EXIT -set -e - -export DEBIAN_FRONTEND=noninteractive - -SMB_CONF="/etc/samba/smb.conf" -USERNAME="$1" -PASSWORD="$2" - -apt update -y -apt install -y samba -systemctl enable smbd -systemctl start smbd - -mkdir -p /data -(echo "$PASSWORD"; echo "$PASSWORD") | smbpasswd -a -s "$USERNAME" - -smbpasswd -e "$USERNAME" -chown "$USERNAME":"$USERNAME" /data/ -chmod 770 /data/ - -# Backup existing configuration file -cp "$SMB_CONF" "${SMB_CONF}.bak" - -# New section -NEW_SECTION=$(cat << EOM - -# data folder access -[data] - path = /data - read only = no - browseable = yes - create mask = 0666 - force create mode = 0666 - directory mask = 0777 - force directory mode = 0777 - valid users = $USERNAME - -# backups folder access -[backups] - path = /backups - read only = no - browseable = yes - create mask = 0666 - force create mode = 0666 - directory mask = 0777 - force directory mode = 0777 - valid users = $USERNAME - -EOM -) - -# Adding a new section to the end of the configuration file -echo "$NEW_SECTION" | tee -a "$SMB_CONF" > /dev/null - -if grep -q "^obey pam restrictions = yes" "$SMB_CONF"; then - sed -i 's/^obey pam restrictions = yes/obey pam restrictions = no/' "$SMB_CONF" - echo "Param 'obey pam restrictions' changed to 'no'" -else - echo "Param 'obey pam restrictions = yes' not found." -fi - -echo "Samba configuration updated and saved to $SMB_CONF." - -systemctl restart smbd nmbd - -trap - EXIT +#!/bin/bash + +if [ "$(id -u)" != "0" ]; then + echo -e "\033[31mThis script requires superuser rights.\033[0m" + exit 0 +fi + +if [ -z "$1" ] || [ -z "$2" ]; then + echo "Please provide both the username and password as arguments." + exit 1 +fi + +trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' EXIT +set -e + +export DEBIAN_FRONTEND=noninteractive + +SMB_CONF="/etc/samba/smb.conf" +USERNAME="$1" +PASSWORD="$2" + +apt update -y +apt install -y samba +systemctl enable smbd +systemctl start smbd + +mkdir -p /data +(echo "$PASSWORD"; echo "$PASSWORD") | smbpasswd -a -s "$USERNAME" + +smbpasswd -e "$USERNAME" +chown "$USERNAME":"$USERNAME" /data/ +chmod 770 /data/ + +# Backup existing configuration file +cp "$SMB_CONF" "${SMB_CONF}.bak" + +# New section +NEW_SECTION=$(cat << EOM + +# data folder access +[data] + path = /data + read only = no + browseable = yes + create mask = 0666 + force create mode = 0666 + directory mask = 0777 + force directory mode = 0777 + valid users = $USERNAME + +# backups folder access +[backups] + path = /backups + read only = no + browseable = yes + create mask = 0666 + force create mode = 0666 + directory mask = 0777 + force directory mode = 0777 + valid users = $USERNAME + +EOM +) + +# Adding a new section to the end of the configuration file +echo "$NEW_SECTION" | tee -a "$SMB_CONF" > /dev/null + +if grep -q "^obey pam restrictions = yes" "$SMB_CONF"; then + sed -i 's/^obey pam restrictions = yes/obey pam restrictions = no/' "$SMB_CONF" + echo "Param 'obey pam restrictions' changed to 'no'" +else + echo "Param 'obey pam restrictions = yes' not found." +fi + +echo "Samba configuration updated and saved to $SMB_CONF." + +systemctl restart smbd nmbd + +trap - EXIT echo "Samba configured complete." \ No newline at end of file