[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 メーリングリストの案内