[samba-jp:19846] Re: winbindのメモリリークについて

c-ssugimoto @ hitachijoho.com c-ssugimoto @ hitachijoho.com
2007年 11月 16日 (金) 17:17:47 JST


小田切様レスポンスありがとうございます。
「top」コマンドで確認してみると、winbinddのプロセスだけが日々メモリ使用量が増加していました。また、「valgrind」ツールを使ったメモリリーク検出テストを行ってみたところ、メモリリークのバグがあることを検出しました。
話は変わりますが、11月15日付けで、Red Hat Networkのエラータでsambaの新しいバージョンがリリースされました。
公開されたのは以下のバージョンです。
 ・samba-3.0.25b-1.el4_6.2
 ・samba-common-3.0.25b-1.el4_6.2
 ・samba-client-3.0.25b-1.el4_6.2
ChangeLog に以下のようにありましたので、お客様にはメモリリークの問題があったと説明ができます。
* when "security = ads" was enabled, a memory leak caused the winbindd
process to consume memory until out-of-memory errors killed the windbind
process. Other processes may have been killed.
早速、検証マシンでsambaのバージョンを上げてみたところ、Windows ADドメインに参加できませんでした。大変未熟で申し訳ありませんが、どこが問題なのか解決ができませんのでお知恵を拝借したく。設定ファイルとログを記載しておきます。
【/etc/samba/smb.conf】
[global]
 workgroup = HITACHIINTRA
 log file = /var/log/samba/%m.log
 max log size = 50
 security = ADS
 password server = ad.mydomain.com 
 encrypt passwords = yes
 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
 dns proxy = no 
 idmap uid = 10000-50000
 idmap gid = 10000-50000
 idmap backend = idmap_rid:MYDOMAIN=10000-50000
 allow trusted domains = no
 template shell = /bin/false
 winbind use default domain = yes
 realm = MYDOMAIN.COM
 netbios name = pop
 winbind cache time = 900
 winbind separator = @
 template homedir = /home/%U
 Obey pam restrictions = yes
【/etc/krb5.conf】
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log
[libdefaults]
 default_realm = MYDOMAIN.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
[realms]
 MYDOMAIN.COM = {
 kdc = ad.mydomain.com
 admin_server = ad.mydomain.com
 default_domain = mydomain.com
 }
[domain_realm]
 .mydomain.com = MYDOMAIN.COM
 mydomain.com = MYDOMAIN.COM
[kdc]
 profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
 pam = {
 debug = false
 ticket_lifetime = 36000
 renew_lifetime = 36000
 forwardable = true
 krb4_convert = false
 }
【/etc/nsswitch.conf】
passwd: files winbind
shadow: files winbind
group: files winbind
hosts: files dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: files
publickey: nisplus
automount: files
aliases: files nisplus
【samba 3.0.10-1.4E.12.2 でADドメインに参加した場合】
(注記)問題なくドメイン参加でき、wbinfo -u でユーザ情報も取得できます。 
[root @ pop /]# service winbind start
Starting Winbind services: [ OK ]
[root @ pop /]# ntpdate ad.mydomain.com
16 Nov 16:20:22 ntpdate[5578]: adjust time server xxx.xxx.xxx.xxx offset -0.074711 sec
[root @ pop /]# kinit administrator @ MYDOMAIN.COM
Password for administrator @ MYDOMAIN.COM: xxxxxxxx
[root @ pop /]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator @ MYDOMAIN.COM
Valid starting Expires Service principal
11/16/07 16:20:22 11/17/07 02:53:29 krbtgt/MYDOMAIN.COM @ MYDOMAIN.COM
 renew until 11/17/07 16:20:22
Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached
[root @ pop /]# net ads join
Using short domain name -- MYDOMAIN
Joined 'pop' to realm 'MYDOMAIN.COM'
上記環境でのシステムログです。
Nov 16 16:20:22 pop winbind: winbindd startup succeeded
Nov 16 16:20:22 pop winbindd[5222]: [2007年11月16日 16:20:22, 0] libsmb/cliconnect.c:cli_session_setup_spnego(764) 
Nov 16 16:20:22 pop winbindd[5222]: Kinit failed: Client not found in Kerberos database 
Nov 16 16:20:22 pop winbindd[5222]: [2007年11月16日 16:20:22, 0] libads/kerberos.c:ads_kinit_password(146) 
Nov 16 16:20:22 pop winbindd[5222]: kerberos_kinit_password host/POP @ MYDOMAIN.COM failed: Client not found in Kerberos database 
【samba 3.0.25b-1.el4_6.2 でADドメインに参加した場合】
(注記)エラーが出力されて、ドメインに参加できません。
 [root @ pop /]# service winbind start
Starting Winbind services: [ OK ]
[root @ pop /]# service winbind status
winbindd (pid 5333 5332) is running...
[root @ pop /]# ntpdate ad.mydomain.com
16 Nov 16:26:46 ntpdate[5344]: adjust time server xxx.xxx.xxx.xxx offset 0.014874 sec
[root @ pop /]# kinit administrator @ MYDOMAIN.COM
Password for administrator @ MYDOMAIN.COM: xxxxxxxx
[root @ pop /]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator @ MYDOMAIN.COM
Valid starting Expires Service principal
11/16/07 16:26:57 11/17/07 02:27:00 krbtgt/MYDOMAIN.COM @ MYDOMAIN.COM
 renew until 11/17/07 16:26:57
Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached
[root @ pop /]# net ads join
Password: xxxxxxxx
[2007年11月16日 16:27:12, 0] libsmb/cliconnect.c:cli_session_setup_spnego(853)
 Kinit failed: Client not found in Kerberos database
Failed to join domain: Improperly formed account name
上記環境でのシステムログです。
Nov 16 16:26:31 pop winbindd[5332]: [2007年11月16日 16:26:31, 0] nsswitch/winbindd_cache.c:initialize_winbindd_cache(2221) 
Nov 16 16:26:31 pop winbindd[5332]: initialize_winbindd_cache: clearing cache and re-creating with version number 1 
Nov 16 16:26:31 pop winbind: winbindd startup succeeded
Nov 16 16:26:32 pop winbindd[5333]: [2007年11月16日 16:26:32, 0] libsmb/cliconnect.c:cli_session_setup_spnego(853) 
Nov 16 16:26:32 pop winbindd[5333]: Kinit failed: Client not found in Kerberos database 
Nov 16 16:26:32 pop winbindd[5332]: [2007年11月16日 16:26:32, 0] libsmb/cliconnect.c:cli_session_setup_spnego(853) 
Nov 16 16:26:32 pop winbindd[5332]: Kinit failed: Client not found in Kerberos database 
Nov 16 16:26:32 pop winbindd[5333]: [2007年11月16日 16:26:32, 0] libads/kerberos.c:ads_kinit_password(228) 
Nov 16 16:26:32 pop winbindd[5333]: kerberos_kinit_password POP$@MYDOMAIN.COM failed: Client not found in Kerberos database 
Nov 16 16:27:12 pop net: [2007年11月16日 16:27:12, 0] libsmb/cliconnect.c:cli_session_setup_spnego(853) 
Nov 16 16:27:13 pop net: Kinit failed: Client not found in Kerberos database


samba-jp メーリングリストの案内

AltStyle によって変換されたページ (->オリジナル) /