I am trying to use the --mirror option with LDAP (Active Directory) users and groups. However, this doesn't work at all with the way bindfs currently builds its gid cache:
- The system's LDAP client does not allow remote users to be enumerated, so they do not show up in
getpwent().
- Likewise, LDAP groups does not show up in
getgrent() enumeration, and their member list cannot be obtained using getgr{nam,uid}().
- (This was done for performance reasons. I already tried allowing enumeration, and bindfs spent several minutes doing nothing else but building its cache. That's not going to work.)
To cope with such environments, bindfs needs to query user information on demand via getpwuid() and initgroups(). (Or even better: if FUSE allows it, it should just use the current credentials of the process accessing it...)
I am trying to use the
--mirroroption with LDAP (Active Directory) users and groups. However, this doesn't work at all with the way bindfs currently builds its gid cache:getpwent().getgrent()enumeration, and their member list cannot be obtained usinggetgr{nam,uid}().To cope with such environments, bindfs needs to query user information on demand via
getpwuid()andinitgroups(). (Or even better: if FUSE allows it, it should just use the current credentials of the process accessing it...)