#!/bin/bash

if [ "$(id -u)" -ne 0 ]; then
    SUDO="sudo"
else
    SUDO=""
fi

$SUDO apt update -qq && $SUDO apt install -y samba

read -p "Podaj ścieżkę folderu do udostępnienia: " SHARE_PATH
if [ ! -d "$SHARE_PATH" ]; then
    echo "Podana ścieżka nie istnieje, tworzenie folderu..."
    $SUDO mkdir -p "$SHARE_PATH"
fi

read -p "Podaj nazwę udziału Samby: " SMB_SHARE

read -p "Podaj nazwę użytkownika dla Samby: " SMB_USER

if ! id "$SMB_USER" &>/dev/null; then
    echo "Użytkownik nie istnieje, tworzenie..."
    $SUDO useradd -m -s /sbin/nologin "$SMB_USER"
fi

echo "Ustaw hasło dla użytkownika Samby: "
$SUDO smbpasswd -a "$SMB_USER"

$SUDO chmod -R 777 "$SHARE_PATH"
$SUDO chown -R "$SMB_USER":"$SMB_USER" "$SHARE_PATH"

echo -e "\n#smb.sh\n[$SMB_SHARE]\npath = $SHARE_PATH\ncomment = $SMB_SHARE\nwritable = yes\nbrowseable = yes\nguest ok = no\nvalid users = $SMB_USER" | $SUDO tee -a /etc/samba/smb.conf > /dev/null

read -p "Czy usunąć sekcję [homes] z smb.conf? (y/n): " REMOVE_HOMES
if [ "$REMOVE_HOMES" == "y" ]; then
    $SUDO sed -i '/\[homes\]/,/valid users = %S/d' /etc/samba/smb.conf
    echo "Sekcja [homes] została usunięta."
fi

$SUDO systemctl restart smbd

echo "Konfiguracja zakończona. Samba jest gotowa do użycia."
echo "Udostępniony folder: $SHARE_PATH"
echo "Nazwa udziału: $SMB_SHARE"
echo "Nazwa użytkownika: $SMB_USER"
echo "Aby zalogować się do udziału, użyj: smb://<adres IP serwera>/$SMB_SHARE"
