User "MariaDB" not seen by Cygwin, but it is there
Brian Inglis
Brian.Inglis@SystematicSW.ab.ca
Mon Jul 21 18:49:18 GMT 2025
On 2025年07月21日 10:32, Aurélien Couderc via Cygwin wrote:
> On Mon, Jul 21, 2025 at 5:45 PM Brian Inglis via Cygwin
> <cygwin@cygwin.com> wrote:
>>>> On 2025年07月21日 08:19, Matthias Andree via Cygwin wrote:
>>> Am 21.07.25 um 14:53 schrieb Aurélien Couderc via Cygwin:
>>>> I installed MariaDB (mysql fork) on my system, which per task manager
>>>> runs as it's own user "MariaDB".
>>>>>>>> But Cygwin 3.7 from today cannot see the user "MariaDB", both getent
>>>> passwd MariaDB and getent passwd return no lines.
>>>>>>>> Any clues what I am doing wrong?
>>>>>> Did you create a local /etc/passwd file, say, through mkpasswd? If you did,
>>> maybe long ago -- maybe you need to re-run it and update your passwd file.
>>>>>> https://cygwin.com/cygwin-ug-net/mkpasswd.html
>>>> Preferably delete it and possibly modify /etc/nsswitch.conf:
>>>> https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch
>> That file does not exist.
The may mean that the base-cygwin package script:
/etc/postinstall/000-cygwin-post-install.sh
was not run successfully; if it was, it would be suffixed by .done; run either
file from a shell and it will create a default base /etc/nsswitch.conf.
The relevant stanza may be displayed using the command:
$ awk '/NSSWITCH.*EOF$/,/^EOF/' /etc/postinstall/000-cygwin-post-install.sh*
> I think the problem is that Cygwin does not want to list accounts from
> "NT SERVICE" and "NT AUTHORITY", except you prefix that with "+". And
> that makes me mad, because it sucked up the time of around 25 students
> here for 90 mins in the class to find THAT solution. The professor
> KNEW the solution, but made it a group exercise for us to figure this
> bug out.
You can then modify that conf file per the docs linked above until you can see
all the entries you expect: check using `getent passwd`, etc.
The above accounts are accessible using setting "db_enum: builtin"; you my want
to start with: "db_enum: cache builtin local primary" to support the local
cache, SAM, and AD; you could add source "files" to honour /etc/{passwd,group},
but you don't need that with the other entries; "alltrusted" to enumerate all
trusted domain accounts, etc.
Running cygserver is advised to share a common cache across all running Cygwin
processes, especially if running daemons and cron jobs or tasks, rather than
having one cache per Cygwin process tree, and duplicating the enumeration, which
can take a few seconds even over a LAN to a local DC.
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut
-- Antoine de Saint-Exupéry
More information about the Cygwin
mailing list