Hi,
We are testing xrootd-multiuser in a containerized deployment and would like to clarify whether it is expected to work with users that are available only through NSS/SSSD (LDAP), without a local static entry in /etc/passwd.
Environment
xrootd-multiuser enabled
- XRootD server version: 5.9.1
- containerized deployment
- authentication via
krb5
- identity lookup via
sssd/LDAP
- inside the XRootD container, both
getent passwd duran and id duran succeed
Observed behavior
When the user is not present in local /etc/passwd, XRootD denies access with:
Multiuser denying access: XRootD mapped request to username that does not exist: duran
However, after we explicitly append the user and primary group into the container’s local /etc/passwd and /etc/group, xrootd-multiuser works correctly and file operations succeed. ## Relevant log excerpt
Without local passwd/group entry:
XrootdXeq: ... login as duran
multiuser_UserSentry: Multiuser denying access: XRootD mapped request to username that does not exist: duran
With local passwd/group entry:
XrootdXeq: ... login as duran
multiuser_UserSentry: Switching FS uid for user duran
Questions
- Is it expected that
xrootd-multiuser requires the mapped user to exist in local /etc/passwd and /etc/group?
- Or should NSS/SSSD-resolved users work without local static passwd/group entries?
- If NSS/SSSD-only users are supposed to work, is there any specific configuration needed? ## Why we are asking
The same general user environment worked previously when XRootD was deployed directly on a physical host. We only ran into this behavior after moving XRootD into a container, where NSS/SSSD resolution still works, but xrootd-multiuser appears to reject users unless they are also present in local passwd/group files.
Current workaround: at container startup, we resolve an allowlist of users through SSSD and materialize them into local /etc/passwd and /etc/group before starting XRootD.
Thanks!
Hi,
We are testing
xrootd-multiuserin a containerized deployment and would like to clarify whether it is expected to work with users that are available only through NSS/SSSD (LDAP), without a local static entry in/etc/passwd.Environment
xrootd-multiuserenabledkrb5sssd/LDAPgetent passwd duranandid duransucceedObserved behavior
When the user is not present in local
/etc/passwd, XRootD denies access with:Multiuser denying access: XRootD mapped request to username that does not exist: duranHowever, after we explicitly append the user and primary group into the container’s local
/etc/passwdand/etc/group,xrootd-multiuserworks correctly and file operations succeed. ## Relevant log excerptWithout local passwd/group entry:
XrootdXeq: ... login as duranmultiuser_UserSentry: Multiuser denying access: XRootD mapped request to username that does not exist: duranWith local passwd/group entry:
XrootdXeq: ... login as duranmultiuser_UserSentry: Switching FS uid for user duranQuestions
xrootd-multiuserrequires the mapped user to exist in local/etc/passwdand/etc/group?The same general user environment worked previously when XRootD was deployed directly on a physical host. We only ran into this behavior after moving XRootD into a container, where NSS/SSSD resolution still works, but
xrootd-multiuserappears to reject users unless they are also present in local passwd/group files.Current workaround: at container startup, we resolve an allowlist of users through SSSD and materialize them into local
/etc/passwdand/etc/groupbefore starting XRootD.Thanks!