smb_utilities/add_smb_user.sh
2025-05-25 06:06:21 +00:00

46 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# Usage: ./create_samba_user.sh <username> <password>
# 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 no username or password provided, exit with error
if [[ -z "$USERNAME" || -z "$PASSWORD" ]]; then
echo "Usage: $0 <username> <password>"
exit 1
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
log_file="$SMB_TOOLS_PATH/filebrowser/addusers.txt"
if [ -f "$log_file" ]; then
echo "$USERNAME:$PASSWORD" >> "$log_file"
fi
# Non-blocking docker restart
docker restart filebrowser </dev/null &>/dev/null &