だいこんの日々2

軸足をtwitterとfacebookに移しつつも、技術的な話はここに書いていきます。

-sh: [: : integer expression expected

先月、ActiveDirectoryを使って、Linuxの認証を統合したのだけれど、一部のLinux(Debian GNU/LinuxのEtch以降)で、時々ログインできなくなる事象が発生する。


コンソールからログインすると、ログインプロンプトに戻ってしまうだけ。SSHでログインすると、

-sh: [: : integer expression expected
I have no name!@xxxxxxxx:~$

こんな感じで、何が起こっているのかさっぱりわからん。ユーザー名は取れていないし、プロンプトに何を入力してもプロンプトに戻るだけ。補完機能などは動くので、bashはきちんと動いているようなのだが。この状況になったらrebootするしかない。

Debian GNU/LinuxのSargeは問題ないので、おそらくlibnss-ldapかlibpam-ldapのせいだとは思うのだが、Etch版からSarge版に落としても変わらず。

rebootして、シングルモードで立ち上げ、

cd /var/db/nscd
rm group hosts passwd

してから、再度rebootすると治る。

nscdをstopしても変わらないので、nscdが悪いわけではなさそうだ。ActiveDirectoryを再起動したりすると発生するみたい。でも、それだけじゃないので原因特定できず。むー。