I was experimenting with Samba auditing on my FreeNAS install and added a "vfs object = full_audit" line to a share via FreeNAS's auxiliary options GUI. I found the auditing working, but noticed my share's permissions all whacked out.
After looking at smb.conf, I guessed my extra "vfs objects" line was invalidating the existing default FreeNAS "vfs objects = zfsacl" line, and without zfsacl, permissions were affected. To test, I changed my line to "vfs objects = zfsacl full_audit", and everything worked as expected again.
Obviously a 3rd party product like FreeNAS could/should account for this when building the smb.conf, but given the name "stackable VFS modules", and the lack of any warning about multiple "vfs objects" lines invalidating previous ones, the current behavior could be confusing even for manual smb.conf configuration.
I think this is by design.
When using the the same parameter several times, the last entry is used.
This is very useful in some scenarios.
Closing out bug report.