[Samba] winbind normalize names = yes disable winbind cache mechanism and cause LDAP heavy load / poor performances
Patrick Nomblot
pnomblot at besancon.parkeon.com
Thu Aug 9 02:34:29 MDT 2012
Context :
client linux Ubuntu 12.04 SSO authentification against Microsoft 2008 AD
server, Winbind 3.6.3 (Ubuntu 12.04 LTS, Linux 3.2.0-27-generic, winbind
2:3.6.3-2ubuntu2.3 )
I'have discovered that setting option "winbind normalize names = yes"
cause winbind client to send LDAP search for each username/group
resolution even those in cache. Setting this option to "No" makes
winbind use cache, setting winbind in offline mode works fine too
(smbcontrol winbind offline). This behavior cause heavy load on
client/server if resolving a full tree files or simply slow down apache
SSO authentification based on winbind as each web object read will cause
multiple LDAP search before serving.
How to reproduce :
running shell command
# id pnomblot
will makes winbind send 3 LDAP search to solve pnomblot alias (can be
checked with wireshark)
for i in {0..10}; do id pnomblot ;done
cause 30 ldap search to be send to ldap server to solve the same id.
My smb.conf :
[global]
workgroup = nomblot.org
realm = nomblot.org
security = ads
domain master = no
local master = no
allow trusted domains = no
socket options = TCP_NODELAY
template homedir = /home/%U
template shell = /bin/bash
kerberos method = secrets and keytab
password server = *
client ntlmv2 auth = yes
idmap config NOMBLOT:backend = ad
idmap config NOMBLOT:default = yes
idmap config NOMBLOT:schema_mode = rfc2307
idmap config NOMBLOT:range = 500 - 300000000
idmap config *:backend = ad
idmap config *:range = 500 - 300000000
idmap cache time = 1209600
idmap negative cache time = 1209600
username map cache time = 300
winbind cache time = 300
winbind expand groups = 10
winbind use default domain = yes
winbind refresh tickets = yes
winbind nss info = rfc2307
winbind offline logon = yes
winbind enum users = no
winbind enum groups = no
winbind nested groups = yes
winbind reconnect delay = 5
winbind normalize names = yes
dns proxy = no
log file = /var/log/samba/log.%m
log level = 0 idmap:0 winbind:1
max log size = 1000
obey pam restrictions = yes
pam password change = yes
name resolve order = host
create krb5 conf = no
private dir = /var/lib/samba
state directory = /var/lib/samba
cache directory = /var/cache/samba
lock directory = /var/lib/samba
pid directory = /var/run
dos charset = ASCII
unix charset = UTF8
display charset = UTF8
invalid users = root daemon bin sys sync games man lp ...
#end of smb.conf
Hope this can help samba project,
Any usefull comment is appreciated.
Thank's
Patrick.
--
Patrick Nomblot
Systems & Networks Engineer
Parkeon
Parc Lafayette - 6 rue Isaac Newton
25075 Besancon - Cedex 9 - France
Phone +33(0) 381 545 212
Mobile +33(0) 633 323 423
Fax +33(0) 381 527 638
pnomblot at parkeon.com <mailto:pnomblot at parkeon.com>
www.parkeon.com <http://www.parkeon.com>
More information about the samba
mailing list