Title: #347: Fixes related to negative cache and "root" user/group
The patches mostly look good and fix the issue. I have two things to ask:
1) I don't think the patches that special-case the "id 0" case are needed.
If you run "id 0" and tail the NSS logs, you would see that the id utility tries
to be smart and treats the numerical input as name (unlike getent passwd which tries to
convert the input to an integer and if that succeeds, calls getpwuid instead of getpwnam).
I'm not sure if name "0" is legal in the POSIX sense or if utilities like
useradd would allow adding a user with the name "0", but I don't think we
should special case this. Just the name root and the UID 0 because those have a special
meaning in UNIX.
2) I wrote integration tests for this PR. Currently they would fail because they test this
fix, but I think we should push them atop your patches. You can find the tests here:
If you agree, then let's push this PR and then I'll open a new PR with the tests
and you can review those three test patches.
See the full comment at https://github.com/SSSD/sssd/pull/347#issuecomment-324001097