Samba has a username map config option that you can use to specify a list of remote usernames that will be transparently mapped to a different local user name.
The format for this in /etc/smb/samba.conf would be something like this:
...normal share optionsoptions
username map = /path/to/file
users = jane bob fred ... etc
And the contents of /path/to/file should be:
jane = jdoe
You can add more lines to this file, including quoted usernames with spaces, references to whole groups, etc. See documentation link above for more details.
My original answer is a bit of a hack, but for reference here's the deal on forced users. You can add a user to the samba password file using
smbpasswd -a without adding them as a unix system user. Then you can authenticate those users on the samba share. You do not have to add them to the unix system password list in order for this to work, but since their users don't exist they will not particularly be able to make use of the share because the unix privaledge system will keep them from writing etc. To fix this, there is a "force user" option that you can add to any share and all actions taken by any authenticated user on that share will be executed using that unix system user. So if you create a share for everybody, then create a duplicate share just for jdoe and add
force user = jane to that share, even when jdoe authenticates they will read/write files on the system using jane's unix user.