diff --git a/src/samba.sh b/src/samba.sh index 34ee439..af68071 100644 --- a/src/samba.sh +++ b/src/samba.sh @@ -5,8 +5,6 @@ set -Eeuo pipefail : "${SAMBA_DEBUG:="N"}" # Disable debug : "${SAMBA_LEVEL:="1"}" # Debug log level -tmp="/tmp/smb" -rm -rf "$tmp" rm -rf /var/run/wsdd.pid [[ "$SAMBA" == [Nn]* ]] && return 0 @@ -29,18 +27,15 @@ html "Initializing shared folder..." addShare() { local dir="$1" - local ref="$2" - local name="$3" - local comment="$4" + local name="$2" + local comment="$3" mkdir -p "$dir" || return 1 ls -A "$dir" >/dev/null 2>&1 || return 1 if [ -z "$(ls -A "$dir")" ]; then - chmod 777 "$dir" || return 1 - fi - if [[ "$dir" == "$tmp" ]]; then + chmod 777 "$dir" || return 1 { echo "--------------------------------------------------------" echo " $APP for Docker v$( "$dir/readme.txt" @@ -99,40 +94,28 @@ addShare() { echo " disable spoolss = yes" } > "/etc/samba/smb.conf" -share="/shared" -[ ! -d "$share" ] && [ -d "$STORAGE/shared" ] && share="$STORAGE/shared" -[ ! -d "$share" ] && [ -d "/data" ] && share="/data" +share="/data" [ ! -d "$share" ] && [ -d "$STORAGE/data" ] && share="$STORAGE/data" -[ ! -d "$share" ] && share="$tmp" +[ ! -d "$share" ] && [ -d "/shared" ] && share="/shared" +[ ! -d "$share" ] && [ -d "$STORAGE/shared" ] && share="$STORAGE/shared" -m1="Failed to add shared folder" -m2="Please check its permissions." - -if ! addShare "$share" "/shared" "Data" "Shared"; then - error "$m1 '$share'. $m2" && return 0 +if ! addShare "$share" "Data" "Shared"; then + error "Failed to add shared folder '$share'. Please check its permissions." && return 0 fi -if [ -d "/shared2" ]; then - addShare "/shared2" "/shared2" "Data2" "Shared" || error "$m1 '/shared2'. $m2" -else - if [ -d "/data2" ]; then - addShare "/data2" "/shared2" "Data2" "Shared" || error "$m1 '/data2'. $m2." - fi +if [ -d "/data2" ]; then + addShare "/data2" "Data2" "Shared" || error "Failed to add shared folder '/data2'. Please check its permissions." fi -if [ -d "/shared3" ]; then - addShare "/shared3" "/shared3" "Data3" "Shared" || error "$m1 '/shared3'. $m2" -else - if [ -d "/data3" ]; then - addShare "/data3" "/shared3" "Data3" "Shared" || error "$m1 '/data3'. $m2" - fi +if [ -d "/data3" ]; then + addShare "/data3" "Data3" "Shared" || error "Failed to add shared folder '/data3'. Please check its permissions." fi IFS=',' read -r -a dirs <<< "${SHARES:-}" for dir in "${dirs[@]}"; do [ ! -d "$dir" ] && continue dir_name=$(basename "$dir") - addShare "$dir" "/shared" "$dir_name" "Shared $dir_name" || error "Failed to create shared folder for $dir!" + addShare "$dir" "$dir_name" "Shared $dir_name" || error "Failed to create shared folder for $dir!" done # Try to repair Samba permissions