- Fix chown syntax: changed 'smbuser.' to 'smbuser:smb' for correct group assignment - Fix paths with spaces in perms(): use 'while read' instead of 'for' loop - Add quotes to $file variable in import() to prevent word splitting - Remove /etc from VOLUME declaration (too broad, causes unexpected behavior) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.0 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[Unreleased]
Fixed
-
Fixed chown syntax error in perms function (samba.sh:122)
- Changed
smbuser.tosmbuser:smbfor correct group assignment
- Changed
-
Fixed paths with spaces handling in perms function (samba.sh:121)
- Replaced
forloop withwhile IFS= read -rto correctly handle paths containing spaces
- Replaced
-
Fixed unquoted variables in import function (samba.sh:112-113)
- Added quotes around
$filevariable to prevent word splitting issues
- Added quotes around
-
Removed /etc from VOLUME declaration (Dockerfile:83)
/etcis too broad and can cause unexpected behavior with system configurations
-
Share-specific parameters not overriding global settings (#issue)
Problem: When creating public shares with guest write access, the
-Gparameters for individual shares did not override the globalforce userandforce groupsettings from the basesmb.conf.Example that didn't work:
-s "public;/cloud/share;yes;no;yes" -G "public;force user = nobody" -G "public;force group = nogroup"testparm -sshowed that the share used globalforce user = smbuserandforce group = smbinstead of the specified values.Root cause:
- When using environment variables,
GENERICwas processed beforeSHARE, so share sections didn't exist when-Goptions tried to modify them. - The regex
\sin sed was not POSIX-compatible for Alpine/busybox.
Solution:
- Reordered environment variable processing:
SHAREis now processed beforeGENERIC - Replaced
\swith POSIX-compatible[[:space:]]in regex patterns - Added
^anchor to sed append command for precise matching
- When using environment variables,
Changed
- Environment variable processing order:
GLOBAL->SHARE->GENERIC(was:GENERIC->GLOBAL->SHARE)