mirror of
https://github.com/dockur/windows.git
synced 2026-07-15 01:38:16 +01:00
feat: Improve Samba error handling (#1823)
This commit is contained in:
+18
-7
@@ -40,7 +40,7 @@ configureNetwork() {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
writeTmpReadme() {
|
writeReadme() {
|
||||||
|
|
||||||
local dir="$1"
|
local dir="$1"
|
||||||
local ref="$2"
|
local ref="$2"
|
||||||
@@ -95,34 +95,45 @@ addShare() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$(ls -A "$dir")" ]; then
|
if [ -z "$(ls -A "$dir")" ]; then
|
||||||
|
|
||||||
if ! chmod 2777 "$dir"; then
|
if ! chmod 2777 "$dir"; then
|
||||||
error "Failed to set permissions for directory $dir" && return 1
|
error "Failed to set permissions for directory $dir" && return 1
|
||||||
fi
|
fi
|
||||||
owner=$(stat -c %u "$dir")
|
|
||||||
|
if ! owner=$(stat -c %u "$dir"); then
|
||||||
|
error "Failed to determine ownership for directory $dir"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$owner" == "0" ]]; then
|
if [[ "$owner" == "0" ]]; then
|
||||||
if ! chown "1000:1000" "$dir"; then
|
if ! chown "1000:1000" "$dir"; then
|
||||||
error "Failed to set ownership for directory $dir" && return 1
|
error "Failed to set ownership for directory $dir" && return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$dir" == "$tmp" ]]; then
|
if [[ "$dir" == "$tmp" ]]; then
|
||||||
writeTmpReadme "$dir" "$ref"
|
writeReadme "$dir" "$ref"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{ echo ""
|
if ! {
|
||||||
|
echo ""
|
||||||
echo "[$name]"
|
echo "[$name]"
|
||||||
echo " path = $dir"
|
echo " path = $dir"
|
||||||
echo " comment = $comment"
|
echo " comment = $comment"
|
||||||
echo " writable = yes"
|
echo " writable = yes"
|
||||||
echo " guest ok = yes"
|
echo " guest ok = yes"
|
||||||
echo " guest only = yes"
|
echo " guest only = yes"
|
||||||
} >> "$cfg"
|
} >> "$cfg"; then
|
||||||
|
error "Failed to update Samba config \"$cfg\" !"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
writeSambaConfig() {
|
writeConfig() {
|
||||||
|
|
||||||
{ echo "[global]"
|
{ echo "[global]"
|
||||||
echo " server string = Dockur"
|
echo " server string = Dockur"
|
||||||
@@ -258,7 +269,7 @@ html "Initializing shared folder..."
|
|||||||
SAMBA_CONFIG="/etc/samba/smb.conf"
|
SAMBA_CONFIG="/etc/samba/smb.conf"
|
||||||
enabled "$DEBUG" && echo "Starting Samba daemon..."
|
enabled "$DEBUG" && echo "Starting Samba daemon..."
|
||||||
|
|
||||||
writeSambaConfig
|
writeConfig
|
||||||
|
|
||||||
# Add shared folders
|
# Add shared folders
|
||||||
selectPrimaryShare
|
selectPrimaryShare
|
||||||
|
|||||||
Reference in New Issue
Block a user