[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:50:31 UTC 2020
On 2/28/2020 6:48 PM, TomK wrote:
> 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.
>
Correction.
mount_smbfs -d 5 //joe at nfs-c01.nix.mds.xyz/nfs-joe ./<MOUNT-POINT>
user: joe
pass: <PASS>
--
Thx,
TK.
More information about the samba
mailing list