
Ubuntu日本語フォーラム

ログインしていません。
初投稿です。
よろしくお願いいたします。
表題の件ですが、現在ldapを使ってlinuxのログインとsambaのログインを共通にするための実験をしています。
linuxのログインはldapを使ってできるようになったのですが、samba側がうまく行かないのでログを確認しようとしております。
そこで、
「/etc/default/slapd」の「SLAPD_OPTIONS」に「-d 256」と記述してldapを再起動したところ、再起動途中で止まってしまいます。
service slapd restart
Stopping OpenLDAP: slapd.
Starting OpenLDAP: slapd
↑
ここで止まります。
Ctrl-cでブレイクして、syslogを確認したところldapのstop処理まではログが表示されているので、ldapの起動時に失敗して止まっていると思います。
Apr 23 15:18:44 ldapserver slapd[1779]: daemon: shutdown requested and initiated.
Apr 23 15:18:44 ldapserver slapd[1779]: slapd shutdown: waiting for 0 operations/tasks to finish
Apr 23 15:18:44 ldapserver slapd[1779]: slapd stopped.
↑
ログはここで止まる
おそらく、起動オプションの渡し方が悪いか何かで、標準入力待ちになっているのではと思っているのですが・・・。
どなたかldapのログを出力させる正しい手順を教えていただけないでしょうか?
よろしくお願いいたします。
オフライン
すいません自己レスです。
「-s 256」ではなく「-d 256」でした。
「-s 256」の場合は再起動できますが、どちらにしてもログレベルは変わりませんでした。
オフライン
さらに自己レスです。
なんとか解決したっぽいので、これであっているのか有識者の方のご意見いただければと思います。
「/etc/rsyslog.d/50-default」に「local4.* /var/log/ldap」を追加して、ldapというログを出力する設定をする。
loglevel.ldifというファイルを以下のように作成
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: 256
「ldapmodify -Y EXTERNAL -H ldapi:/// -f ./loglevel.ldif」を実行してログレベルを変更。
olcLogLevelの値はmanの「slapd.conf」から必要そうなレベルを記述。
となりました。
「slapd」のmanを読むとオプションで変えられそうなんですけどね~・・・。
よく分かりません。
オフライン
leaf_hiro による投稿:
さらに自己レスです。
なんとか解決したっぽいので、これであっているのか有識者の方のご意見いただければと思います。
やって頂いた方法で問題ないように思います。すくなくとも、「これはダメ」という要素は見当たりません。
「slapd」のmanを読むとオプションで変えられそうなんですけどね~・・・。
よく分かりません。
ちょっと手元で試してみたところ、「-d 256」するとdaemonize されずにフォアグラウンドジョブになってしまう仕様が発覚しましたというか、manにそう書いてありました……。
で、現状のslapdのinitスクリプトだと、これをされるとstartが終了しない、というバグだか仕様だかあいまいなところに問題がいます。
man slapd による投稿:
If this option is specified, even with a zero argument, slapd will not fork or disassociate from the invoking terminal.
オフライン
hitoさん返信ありがとうございます。
こちらでもう一度slapdのmanを読んでみたのですが、
-d debug-level
Turn on debugging as defined by debug-level. If this option is
specified, even with a zero argument, slapd will not fork or
disassociate from the invoking terminal....
となっていたので、デバッグログのレベルを設定できるのかと思っていました。
が、manの先頭の方に
-d flag is given, even with a zero argument, slapd will not fork and
disassociate from the invoking tty.
とも書いてあるので、-dの後ろに数字が無ければフォアグラウンドジョブになるんですかね?
英語苦手なのでよく分かりません(^^;
ちなみに、man slapd.confを見ると
loglevel <integer> [...]
Specify the level at which debugging statements and operation
statistics should be syslogged (currently logged to the
syslogd(8) LOG_LOCAL4 facility)....
となっていたので、slapd.confと言うのを作ってみたり、「/etc/default/slapd」を書いたりしてみましたがうまく行かず、最終的にldifファイルで直接ログレベルを指定する方法に落ち着きました。
ubuntuの仕組みから言って、「/etc/default/slapd」に書くのが正解な気がするんですがね~・・・よく分かりません。
オフライン