[sudo-users] avoid LDAP search sudoUser=+*
Todd C. Miller
Todd.Miller at courtesan.com
Wed Feb 5 11:58:09 MST 2014
On Wed, 05 Feb 2014 18:55:56 +0100, "Michael =?UTF-8?B?U3Ryw7ZkZXI=?=" wrote:
> I wondered why things are slow with sudo-ldap and then found this
> search in the debug log:
>
> sudo: ldap search 'sudoUser=+*'
That is to support sudoUser records that use netgroups. For Unix
groups, it is possible to get a list of all the user's groups before
performing the query. The same is not true for netgroups so we
need to match any sudoUser that begins with a '+'. This is unfortunate
but I'm not aware of a better way, short of removing netgroup support
(which people do use). See "Anatomy of LDAP sudoers lookup" in the
sudoers.ldap manual.
> I managed to improve things in my case by adding
>
> SUDOERS_SEARCH_FILTER (&(objectClass=sudoRole)(organizationalStatus=0))
>
> But this config directive seems not to be available with the standard package
> shipped with RHEL5 which currently is sudo-1.7.2p1-28.el5. Is that right?
That was added in Sudo 1.7.6 (and 1.8.1 in the 1.8 branch). RHEL5
was released in 2007 and includes a version of sudo that is now
rather old. You can always find update to date sudo packages at
http://www.sudo.ws/sudo/download.html#binary
> Additionally we have a rather restricted setup where 'sudoUser'
> contains solely references to groups but not users. How to furthermore
> restrict what sudo-ldap uses to generate the LDAP filter?
There's not currently a way to override the LDAP query that sudo
uses.
- todd
More information about the sudo-users
mailing list