#!/bin/bash # Usage: ./create_samba_user.sh # Check for root if [[ $EUID -ne 0 ]]; then echo "This script must be run as root." exit 1 fi # Input arguments or prompt USERNAME="$1" PASSWORD="$2" if [[ -z "$USERNAME" ]]; then read -p "Enter username: " USERNAME fi if [[ -z "$PASSWORD" ]]; then read -s -p "Enter password: " PASSWORD echo fi # Create system user without extra fields if id "$USERNAME" &>/dev/null; then echo "User $USERNAME already exists." else useradd --comment "" --shell /bin/bash --create-home "$USERNAME" echo "$USERNAME:$PASSWORD" | chpasswd echo "System user $USERNAME created." fi # Add to Samba (echo "$PASSWORD"; echo "$PASSWORD") | smbpasswd -s -a "$USERNAME" if [[ $? -eq 0 ]]; then echo "Samba user $USERNAME added successfully." else echo "Failed to add Samba user." fi