[Samba] List of users seems truncated or incomplete in file server member of an Active Directory Domain

Rowland penny rpenny at samba.org
Fri Mar 12 13:19:38 UTC 2021


On 12/03/2021 12:25, David PAUGAM via samba wrote:
>
>
> Then, I unwillingly made a mistake in smb.conf and it worked!! The 2 
> previous commands returned the good numbers!
>
> Surprisingly, the conf seemed to work when the idmap Domain name is 
> wrong...


If it only works with the 'wrong' DOMAIN name then you have major problems.

>
> Here is the "working" smb.conf, which must be wrong. And this time, 
> the mistake is done intentionnally ;-)
>
> [global]//
>         workgroup=MYDOM
>         security=ads
>         realm=MYDOM.FR
>         winbind enum users=yes
>         winbind enum groups=yes
>         winbind use default domain=yes
>    idmap config * : backend = tdb
>    idmap config * : range = 3000-7999
>
> #Here are the "bad" lines / bad domain, which actually solved the 
> "getent passwd"
>
>   idmap config WRONGDOM : backend = rid
>   idmap config WRONGDOM : range = 10000-999999
>
> Is there an explanation to this behaviour?


Possibly, I feel sure that if you check, that you will find all your 
users are getting id's in the 3000-7999 range

>
> Is there a way to check the way rid works?


I already showed you how the winbind 'rid' backend works, but I will go 
through it again, but in a bit more depth.

You have two domains in your smb.conf, the default domain (*) and the 
'MYDOM' domain.

The default domain uses an allocating backend and is meant for the Well 
Known SIDs (e.g. Administrators, Domain Computers, etc) and anything 
outside the main domain (MYDOM). There are less than 200 Well Known SIDs

Your main domain (MYDOM) uses the winbind 'rid' backend, this uses the 
users RID to calculate the users Unix id, the formula is this:

ID = RID + LOW_RANGE_ID

So, if the users RID is '1000', the calculation becomes this:

ID = 1000 + 10000

ID = 11000

If the calculated id is greater than '999999' (the upper range set in 
smb.conf), the user will be ignored.

The above also applies to groups.

As I also said, if one user works and the other doesn't, then you need 
to compare the working users object in AD with the non working users AD 
object
, if you are unsure about any differences, copy them into a file and 
send them to me.

Rowland





More information about the samba mailing list