The "streams_xattr" vfs object is checked for all shares (by default) to store the alternate data streams.
My home directory is currently the only working share for alternate data steams since I am the owner (egonolieux).
I have multiple shares, but I'll only include the "downloads" share since the others are similar in configuration (with the same issue).
Code:
[global]
username map = /usr/local/etc/smbusers
server max protocol = SMB3
interfaces = 127.0.0.1 192.168.1.11
bind interfaces only = yes
encrypt passwords = yes
dns proxy = no
strict locking = no
oplocks = yes
deadtime = 15
max log size = 51200
max open files = 469271
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
getwd cache = yes
guest account = guest
map to guest = Bad User
obey pam restrictions = yes
directory name cache size = 0
kernel change notify = no
panic action = /usr/local/libexec/samba/samba-backtrace
nsupdate command = /usr/local/bin/samba-nsupdate -g
server string = smb.freenas.lan
ea support = yes
store dos attributes = yes
lm announce = yes
time server = yes
acl allow execute always = true
acl check permissions = true
dos filemode = yes
multicast dns register = yes
domain logons = no
local master = yes
idmap config *: backend = tdb
idmap config *: range = 90000001-100000000
server role = standalone
netbios name = FREENAS
workgroup = WORKGROUP
security = user
pid directory = /var/run/samba
create mask = 0666
directory mask = 0777
client ntlmv2 auth = yes
dos charset = CP437
unix charset = UTF-8
log level = 1
inherit acls = yes
inherit owner = yes
inherit permissions = yes
[downloads]
path = /mnt/zpool0/downloads
comment = Downloads
printable = no
veto files = /.snapshot/.windows/.mac/.zfs/
writeable = yes
browseable = yes
recycle:repository = .recycle/%U
recycle:keeptree = yes
recycle:versions = yes
recycle:touch = yes
recycle:directory_mode = 0777
recycle:subdir_mode = 0700
vfs objects = zfs_space zfsacl aio_pthread streams_xattr recycle
hide dot files = yes
guest ok = yes
nfs4:mode = special
nfs4:acedup = merge
nfs4:chown = true
zfsacl:acesort = dontcare
[homes]
valid users = %U
path = /mnt/zpool0/home/%U
comment = Home directories
printable = no
veto files = /.snapshot/.windows/.mac/.zfs/
writeable = yes
browseable = no
recycle:repository = .recycle/%U
recycle:keeptree = yes
recycle:versions = yes
recycle:touch = yes
recycle:directory_mode = 0777
recycle:subdir_mode = 0700
shadow:snapdir = .zfs/snapshot
shadow:sort = desc
shadow:localtime = yes
shadow:format = auto-%Y%m%d.%H%M-1w
shadow:snapdirseverywhere = yes
vfs objects = shadow_copy2 zfs_space zfsacl aio_pthread streams_xattr recycle
hide dot files = yes
guest ok = no
nfs4:mode = special
nfs4:acedup = merge
nfs4:chown = true
zfsacl:acesort = dontcare
I've checked the permissions before and they seem fine to me. The "egonolieux" user is member of the "downloads" group.
As the group permissions are set on write, this should work.
I also tried setting the permissions to 777, but as long as the owner of the directory does not equal the user of the current windows session, the access is denied.
Code:
[root@freenas] /mnt/zpool0# getfacl downloads/
# file: downloads/
# owner: root
# group: downloads
owner@:rwxp--aARWcCos:------:allow
group@:rwxp--a-R-c--s:------:allow
everyone@:r-x---a-R-c--s:------:allow
[root@freenas] /mnt/zpool0/home# getfacl egonolieux/
# file: egonolieux/
# owner: egonolieux
# group: egonolieux
owner@:rwxp--aARWcCos:------:allow
group@:r-x---a-R-c--s:------:allow
everyone@:------a-R-c--s:------:allow