I'm trying to do an Ubuntu 20.04 Samba-only (i.e. no sssd) deployment
against the University's somewhat Rube Goldberg AD, and am running in to
issues. In particular
root at cns-khl-files:/etc# getent passwd pgoetz
pgoetz:*:10224688:10000513::/home/pgoetz:/bin/bash
root at cns-khl-files:/etc# getent passwd jm88942
root at cns-khl-files:/etc#
So, getent passwd works for me, but not for username jm88942. Using
Powershell:
------------------------------------------
PS C:\Users\cns-pgoetz> get-aduser pgoetz
DistinguishedName : CN=Goetz Patrick G
(pgoetz),OU=Austinites,OU=People,DC=austin,DC=utexas,DC=edu
Enabled : True
ObjectClass : user
ObjectGUID : 8c30a807-88a1-4e68-8274-6cf88839223b
SamAccountName : pgoetz
SID : S-1-5-21-527237240-963894560-725345543-224688
PS C:\Users\cns-pgoetz> get-aduser jm88942
DistinguishedName : CN=XXX
(jm88942),OU=Austinites,OU=People,DC=austin,DC=utexas,DC=edu
Enabled : True
ObjectClass : user
ObjectGUID : f3c6665c-eee0-4f00-b514-f4c7a773a86f
SamAccountName : jm88942
SID : S-1-5-21-527237240-963894560-725345543-10188858
------------------------------------------
Notice that my RID is 224688 while jm88942's is numerically larger: 10188858
Here is the RID mapping from smb.conf:
idmap config * : backend = tdb
idmap config * : range = 3000-9999
idmap config AUSTIN : backend = rid
idmap config AUSTIN : range = 10000000-10999999
I had originally set the base to 1000000, noticed the problem and
increased the base to 10000000, but this doesn't seem to have helped.
I'm only showing 2 examples, but I've tested a couple of other users
with the same result. RIDs < one million work, RIDs > one million
don't.
Any ideas? This is what I get on an sssd-based system:
root at kraken:~# getent passwd jm88942
jm88942:*:255188858:1007000513:McLellan Jason
(jm88942):/home/jm88942:/bin/bash
I thought sssd used the same RID -> UID mapping system that the Samba
RID bank end uses, but the math doesn't work out:
(jm88942) 255188858 - 10188858 = 245000000
However,
root at kraken:~# getent passwd pgoetz
pgoetz:*:1562224688:1007000513:Goetz Patrick G
(pgoetz):/home/pgoetz:/bin/bash
(pgoetz) 1562224688 - 224688 = 1562000000
so apparently not just adding a base value to the user's RID.
I'm hoping to not have to install sssd and spaghettify this system...
On Wed, 2022-03-30 at 07:44 -0500, Patrick Goetz via samba wrote:> I'm trying to do an Ubuntu 20.04 Samba-only (i.e. no sssd) > deployment > against the University's somewhat Rube Goldberg AD, and am running in > to > issues. In particular > > root at cns-khl-files:/etc# getent passwd pgoetz > pgoetz:*:10224688:10000513::/home/pgoetz:/bin/bash > root at cns-khl-files:/etc# getent passwd jm88942 > root at cns-khl-files:/etc# > > So, getent passwd works for me, but not for username jm88942. Using > Powershell: > > ------------------------------------------ > PS C:\Users\cns-pgoetz> get-aduser pgoetz > > DistinguishedName : CN=Goetz Patrick G > (pgoetz),OU=Austinites,OU=People,DC=austin,DC=utexas,DC=edu > Enabled : True > ObjectClass : user > ObjectGUID : 8c30a807-88a1-4e68-8274-6cf88839223b > SamAccountName : pgoetz > SID : S-1-5-21-527237240-963894560-725345543-224688 > > > PS C:\Users\cns-pgoetz> get-aduser jm88942 > > DistinguishedName : CN=XXX > (jm88942),OU=Austinites,OU=People,DC=austin,DC=utexas,DC=edu > Enabled : True > ObjectClass : user > ObjectGUID : f3c6665c-eee0-4f00-b514-f4c7a773a86f > SamAccountName : jm88942 > SID : S-1-5-21-527237240-963894560-725345543-10188858 > ------------------------------------------ > > Notice that my RID is 224688 while jm88942's is numerically larger: > 10188858 > > Here is the RID mapping from smb.conf: > > idmap config * : backend = tdb > idmap config * : range = 3000-9999 > idmap config AUSTIN : backend = rid > idmap config AUSTIN : range = 10000000-10999999 > > I had originally set the base to 1000000, noticed the problem and > increased the base to 10000000, but this doesn't seem to have helped.Sorry but that will not help, you should have raised the high range. The rid idmap backend uses this calculation: ID = RID - BASE_RID + LOW_RANGE_ID The BASE_RID is 0 unless you set it in smb.conf, so that becomes: ID = RID + LOW_RANGE_ID Which in your case is: 11188858 = 10188858 + 1000000 And '11188858' is larger than your high range '10999999'. This means it will be ignored, just add a '9' to the end of your high range (and put the low range back to what it was. Rowland