feat: Check shared folder permissions
This commit is contained in:
parent
5b1108d6f5
commit
9b8f9ba0a8
1 changed files with 14 additions and 15 deletions
29
src/samba.sh
29
src/samba.sh
|
@ -24,10 +24,11 @@ addShare() {
|
|||
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"
|
||||
chmod 777 "$dir" || return 1
|
||||
|
||||
{ echo "--------------------------------------------------------"
|
||||
echo " $APP for Docker v$(</run/version)..."
|
||||
|
@ -91,10 +92,17 @@ share="/data"
|
|||
[ ! -d "$share" ] && [ -d "/shared" ] && share="/shared"
|
||||
[ ! -d "$share" ] && [ -d "$STORAGE/shared" ] && share="$STORAGE/shared"
|
||||
|
||||
addShare "$share" "Data" "Shared" || error "Failed to create shared folder!"
|
||||
if ! addShare "$share" "Data" "Shared"; then
|
||||
error "Failed to add shared folder '$share'. Please check its permissions." && return 0
|
||||
fi
|
||||
|
||||
[ -d "/data2" ] && addShare "/data2" "Data2" "Shared"
|
||||
[ -d "/data3" ] && addShare "/data3" "Data3" "Shared"
|
||||
if [ -d "/data2" ]; then
|
||||
addShare "/data2" "Data2" "Shared" || error "Failed to add shared folder '/data2'. Please check its permissions."
|
||||
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
|
||||
|
@ -113,16 +121,7 @@ if ! smbd; then
|
|||
smbd -i --debug-stdout || true
|
||||
fi
|
||||
|
||||
if [[ "${BOOT_MODE:-}" == "windows_legacy" ]]; then
|
||||
# Enable NetBIOS on Windows 7 and lower
|
||||
if ! nmbd; then
|
||||
error "NetBIOS daemon failed to start!"
|
||||
nmbd -i --debug-stdout || true
|
||||
fi
|
||||
else
|
||||
# Enable Web Service Discovery on Vista and up
|
||||
wsdd -i "$interface" -p -n "$hostname" &
|
||||
echo "$!" > /var/run/wsdd.pid
|
||||
fi
|
||||
wsdd -i "$interface" -p -n "$hostname" &
|
||||
echo "$!" > /var/run/wsdd.pid
|
||||
|
||||
return 0
|
||||
|
|
Loading…
Reference in a new issue