[Samba] Mac OS and interpretation of @ in a username. Ex user at mds.xyz doesn't work on Mac OS but does on Win 10
TomK
tomkcpr at mdevsys.com
Fri Feb 28 23:48:18 UTC 2020
On 2/24/2020 12:47 AM, TomK via samba wrote:
> On 2/23/2020 2:54 PM, TomK via samba wrote:
>> On 2/23/2020 11:44 AM, Rowland penny via samba wrote:
>>> On 23/02/2020 16:05, TomK wrote:
>>>> On 2/21/2020 9:18 PM, Andrew Bartlett via samba wrote:
>>>>> On Fri, 2020-02-21 at 20:48 -0500, TomK wrote:
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> "Sadly this really appears to be is a client issue. You see
>>>>>>> there the
>>>>>>> string Samba gets, so by the time Samba tries the process it the
>>>>>>> @ is
>>>>>>> already interpreted and the string split.
>>>>>>>
>>>>>>> Sorry!
>>>>>>>
>>>>>>> Andrew Bartlett"
>>>>>>>
>>>>>>> Yeah, wondering if there is a way to tell Samba NOT to split that
>>>>>>> up and
>>>>>>> treat joe at mds.xyz as a single user. This works fine in Win 10 so I
>>>>>>> agree, it's probably a client SMB configuration issue but would
>>>>>>> like to
>>>>>>> know exactly what that config issue is.
>>>>>>>
>>>>>>
>>>>>> + or what paramaters I could change to ensure the string isn't
>>>>>> split up.
>>>>>
>>>>> You can't change it on the Samba side, you could try logging in as
>>>>> SERVER\joe at mds.xyz or see if you can re-map it server-side with the
>>>>> various username map options.
>>>>>
>>>>> You need to realise that the protocol has a domain field and a
>>>>> username
>>>>> one. Well behaved clients know that user at realm style usernames
>>>>> need to
>>>>
>>>>> all be in the username field, not split up client-side (and left to
>>>>> the
>>>>> DC to interpret), but even Samba got this wrong for quite some time.
>>>>>
>>>>> I hope this helps,
>>>>>
>>>>> Andrew Bartlett
>>>>>
>>>>
>>>>
>>>> I'm seeing what you mean. I'll have to read into the server-side
>>>> re-map options. No idea where to find them (yet).
>>> Try searching for 'username map'
>>>>
>>>> Looking at the attached logs however, appears the server is already
>>>> getting the split user. Or am I reading that incorrectly?
>>> It looks Windows is sending 'joe at mds.xyz', but your Macbook isn't, it
>>> could be sending just 'joe' or 'NFS03\joe' or something else entirely.
>>>
>>> Rowland
>>>
>>>
>>>
>>>
>>>
>>
>> Yep. It's very persistent at parsing it by / or @ or \ . Even if I
>> try "joe at mds.xyz" I get user '"joe' printed which includes the quote.
>>
>>
>
> I've tried a few command line options as well. No luck. Even here it
> parses based on the above chars ( \, @, / ):
>
> 5 mkdir samba
> 6 mount -t smbfs //joe at mds.xyz@192.168.0.125/NFS-joe samba
> 7 mount -t smbfs //mds.xyz\joe at 192.168.0.125/NFS-joe samba
> 8 mount -t smbfs //joe\@mds.xyz at 192.168.0.125/NFS-joe samba
> 9 mount -t smbfs //"joe\@mds.xyz"@192.168.0.125/NFS-joe samba
> 10 mount -t smbfs //192.168.0.125/NFS-joe samba
> 11 mount -t smbfs //192.168.0.125/NFS-joe samba -U "joe at mds.xyz"
> 12 mount -t smbfs //192.168.0.125/NFS-joe samba -u "joe at mds.xyz"
> 13 mount -t smbfs //192.168.0.125/NFS-joe samba -o user="joe at mds.xyz"
> 14 mount -t smbfs //192.168.0.125/NFS-joe samba -o user=joe at mds.xyz
> 15 mount -t smbfs //192.168.0.125/NFS-joe samba -o rw,user=joe
> 16 mount -t cifs //192.168.0.125/NFS-joe samba -o rw,user=joe
> 17 mount -t smbfs //192.168.0.125/NFS-joe samba
> 18 id joe at mds.xyz
> 19 mount -t cifs //192.168.0.125/NFS-joe samba -o
> username="joe at mds.xyz"
> 20 mount -t cifs //192.168.0.125/NFS-joe samba -o username=joe at mds.xyz
> 21 mount -t smbfs //192.168.0.125/NFS-joe samba -o
> username=joe at mds.xyz
> 22 mount -t smbfs //192.168.0.125/NFS-joe samba -o
> username="joe at mds.xyz",password="<JOESPASS>"
> 23 mount -t smbfs //192.168.0.125/NFS-joe -o
> username=joe,password="<JOESPASS>",domain=mds.xyz
> 24 mount -t smbfs //192.168.0.125/NFS-joe -o
> user=joe,password="<JOESPASS>",domain=mds.xyz
> 25 smbclient -U joe at mds.xyz //192.168.0.125 -L //NFS-joe
> 26 mount -t -o username=joe at mds.xyz //192.168.0.125/NFS-joe samba
> 27 mount -t smbfs -o username=joe at mds.xyz //192.168.0.125/NFS-joe
> samba
> 28 mount -t smbfs -o user=joe at mds.xyz //192.168.0.125/NFS-joe samba
> 29 mount -t smbfs -o usr=joe at mds.xyz //192.168.0.125/NFS-joe samba
> 30 mount -t smbfs -o username=joe at mds.xyz //192.168.0.125/NFS-joe
> samba
> 31 mount -V
> 32 mount --version
> 33 mount -v
> 34 mount -t smbfs -o username=joe at mds.xyz //192.168.0.125/NFS-joe
> samba
> 35 mount_smbfs //joe at mds.xyz:<JOESPASS>@192.168.0.125/NFS-joe samba
> 36 mount_smbfs //joe at mds.xyz:"<JOESPASS>"@192.168.0.125/NFS-joe samba
> 37 ping 192.168.0.125
> 38 mount_smbfs //joe at mds.xyz:"<JOESPASS>"@192.168.0.125/joe at mds.xyz
> samba
> 39 mount_smbfs //"joe at mds.xyz":"<JOESPASS>"@192.168.0.125/NFS-joe
> samba
> 40 mount_smbfs //joe:abc"@192.168.0.125/NFS-joe samba
> 41 mount_smbfs //joe:abc at 192.168.0.125/NFS-joe samba
> 42 mount_smbfs //joe\@mds.xyz:"<JOESPASS>"@192.168.0.125/NFS-joe samba
> 43 mount_smbfs //joe'@'mds.xyz:"<JOESPASS>"@192.168.0.125/NFS-joe
> samba
> 44 mount_smbfs //mds.xyz\joe:"<JOESPASS>"@192.168.0.125/NFS-joe samba
> 45 mount_smbfs //mds.xyz\joe at 192.168.0.125/NFS-joe samba
> 46 mount_smbfs //mds.xyz\joe at 192.168.0.125/NFS-joe samba
> 47 mount_smbfs //mds.xyz;joe:@192.168.0.125/NFS-joe samba
> 48 mount_smbfs //mds.xyz;joe:"<JOESPASS>"@192.168.0.125/NFS-joe samba
> 49 mount_smbfs smb://mds.xyz;joe:"<JOESPASS>"@192.168.0.125/NFS-joe
> samba
> 50 mount_smbfs //joe:"<JOESPASS>"@192.168.0.125/NFS-joe samba
> 51 mount_smbfs //joe at mds.xyz:"<JOESPASS>"@192.168.0.125/NFS-joe samba
> 52 mount_smbfs //joe%40mds.xyz:"<JOESPASS>"@192.168.0.125/NFS-joe
> samba
>
>
>
>
>
Just to close this off. Finally got to trying username map and sure
enough it fixed this.
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
log level = 4
max protocol = SMB3
min protocol = NT1
local master = no
realm = *
username map = /n/samba/user.map
# cat /n/samba/user.map
joe at mds.xyz = joe joseph
bob at mds.xyz = bob bobby
#
Line is:
mount_smbfs -d 5 //stef at nfs-c01.nix.mds.xyz/nfs-stef ./<MOUNT-POINT>
user: stef
pass: <PASS>
Works both on Windows 10 and Mac OS.
--
Thx,
TK.
More information about the samba
mailing list