#!/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 no username or password provided, exit with error if [[ -z "$USERNAME" || -z "$PASSWORD" ]]; then echo "Usage: $0 " 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 &