#!/bin/bash # Usage check if [ "$#" -ne 1 ]; then echo "Usage: $0 " exit 1 fi USERNAME="$1" SHARE_DIR="/etc/samba/shares.d" # Loop through share config files for file in "$SHARE_DIR"/*.conf; do [ -e "$file" ] || continue # Skip if no .conf files SHARE_NAME=$(basename "$file" .conf) PATH_LINE=$(grep -i "^ *path *= *" "$file") USER_LINE=$(grep -i "^ *valid users *= *" "$file") # Extract values SHARE_PATH=$(echo "$PATH_LINE" | cut -d'=' -f2- | xargs) VALID_USER=$(echo "$USER_LINE" | cut -d'=' -f2- | xargs) # Check if this share belongs to the specified user if [[ "$VALID_USER" == *"$USERNAME"* ]]; then printf "%s\n" "$SHARE_NAME" fi done