public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Brian Inglis <Brian.Inglis@SystematicSw.ab.ca>
To: cygwin@cygwin.com
Subject: Re: getent doesn't show all domain users
Date: Wed, 29 May 2019 13:25:00 -0000	[thread overview]
Message-ID: <9f4cef60-5803-5872-91e3-285848244145@SystematicSw.ab.ca> (raw)
In-Reply-To: <AM6PR07MB5334E3CFB13C52429A865591951F0@AM6PR07MB5334.eurprd07.prod.outlook.com>

On 2019-05-29 03:16, Maayan Apelboim wrote:
> On Tuesday, May 28, 2019 6:15 PM, Brian Inglis wrote:
>> On 2019-05-28 02:36, Maayan Apelboim wrote:
>>> Brian Inglis wrote:
>>>> Systems may have tens to hundreds of local user accounts, and domains 
>>>> may have hundreds to hundreds of thousands of user accounts.
>>>> The system probably caches only active users, and getent enumerates 
>>>> those if no /etc/passwd file exists, as it was designed to enumerate 
>>>> only a few entries from local files.
>>>> As it is, getent will not even enumerate hosts from the local hosts 
>>>> files or resolver.
>>>> It appears that mkpasswd enumerates all local and system accounts in 
>>>> the Security Accounts Manager file at $SYSTEMROOT/System32/config/SAM 
>>>> loaded into /proc/registry/HKEY_LOCAL_MACHINE/SAM/, so it probably 
>>>> does the same for domain accounts from Active Directory Domain Service.
>>> 
>>> Ok, I understand why it won't display all users, but even when I query 
>>> for this specific user that exists in the domain - it returns nothing.
>>> It only works when I have /etc/passwd file in place (generated by 
>>> mkpasswd -d), but I was told in a previous thread that I should not 
>>> use mkpasswd -d anymore, and use getent instead.
>>> Is there something I need to do with getent to get access for all my 
>>> domain users?
>>> Should I keep my previous passwd file generated by mkpasswd -d?
>> 
>> Does "getent passwd" display any active domain+accounts on your system?
>> If someone is logged on to that system from a domain+account?
>> 
>> Check your domain membership:
>> 
>> 	$ echo $USERDOMAIN $USERDOMAIN_ROAMINGPROFILE
>> 
>> and any other DOMAIN environment variables you have, and explicitly specify a
>> known account in that domain before the userid using a plus sign "+"
>> separator:> 
>> 	$ getent passwd domain+account
>> 
>> similar to Trusted Installer:
>> 
>> 	$ getent passwd nt\ service+trustedinstaller
>> 	NT SERVICE+TrustedInstaller:*:328384:328384:U-NT
>>  	SERVICE\TrustedInstaller,S-1-5-80-...:/:/sbin/nologin
>> 
>> If the account doesn't display, check you are using the correct domain 
>> membership using AD DS tools or e.g a PowerShell script.
> 
> Yes, my active domain user is displayed.
> The user I'm searching for is also displayed after a few teaks / restarts.
> Couldn't replicate a stable workaround that always works for me - best 
> solution I found was create passwd with mkpasswd -d and then move the file 
> (was also not very stable, the user was found, then it wasn't and I needed to
> run it again, for now it works).
>
> I'm looking for something that will force getent to query my DC, or maybe 
> delete its cache.
> Any idea?

From what I've seen, only accounts of active processes seem to be retrieved by
getent, as least under Windows 10: please post the output from your system of
the commands:

	$ uname -srvmo
	CYGWIN_NT-10.0 3.0.7(0.338/5/3) 2019-04-30 18:08 x86_64 Cygwin
	$ cmd /c ver

	Microsoft Windows [Version 10.0.17763.503]

You could try running getent from strace and save the output from both a
successful and a failed run e.g. run:

	$ strace -o getent.strace getent passwd domain+account

then rename getent.strace to getent.good|bad.strace depending on the outcome;
also run cygcheck -hrsv > cygcheck.out; and attach all three files as text
attachments to a post here so that, when they are available, someone with
relevant Cygwin and Windows background can take a look at them.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

  reply	other threads:[~2019-05-29 13:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-27  9:15 Maayan Apelboim
2019-05-27 15:59 ` Brian Inglis
2019-05-28  8:36   ` Maayan Apelboim
2019-05-28 15:15     ` Brian Inglis
2019-05-29  9:16       ` Maayan Apelboim
2019-05-29 13:25         ` Brian Inglis [this message]
2019-05-30 22:05         ` Andrey Repin
2019-06-03 11:14   ` Corinna Vinschen
2019-06-03 14:52     ` Jose Isaias Cabrera

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9f4cef60-5803-5872-91e3-285848244145@SystematicSw.ab.ca \
    --to=brian.inglis@systematicsw.ab.ca \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).