岩本です。

On Fri, 16 Oct 2009 20:06:38 +0900
Mitsuhiro Nakamura <chiauz...@mbd.nifty.com> wrote:

> > このrootになれないというのは、
> > ・認証に失敗する(Sorryと表示される)
> > ・他の何らかのエラーが表示される
> > ・何も起こらず、元のユーザのプロンプトが表示される
> > ・その他
> > のどれでしょうか?
> 何も起こらず、元のユーザのプロンプトが表示される、です。

だとすると、やはり/bin/cshが正常に実行できていなさそうですね。
su自身の動作に問題が出ている場合、何らかのエラーメッセージが表示
されそうに思います。

> わかりました。コンソールからもログインできない可能
> 性があるとすれば、どうにもなりませんね。/bin/shも
> 共有ライブラリを使っているかと思いますが、/rescue
> のshを使うなどした方がいいのでしょうか?

シングルユーザモードで通常は/bin/shを動かすので、そこで/bin/shが動いて
いれば/bin/shを使っても問題なさそうに思います。
ただ、マルチユーザモードの時のみ動かないという可能性もありますので、
/rescue/shの方が動く確率は高いと思いますが。

/bin/shが動かなかった場合、かなりやっかいだと思います。
/etc/rc等も/bin/shで動いているので、/bin/shが動かないならばシステムが
正常に起動しない可能性が高いと思います。
その場合は、必要なデータをバックアップしてから再インストールした方が
早いと思います。

> > portsからbashやzshを入れて使っていたのならばlibiconvを変に入れてしまい
> > 起動しなくなるというのも考えられますが、tcshだと関係なさそうですね。

これはちょっと訂正します。念のため確認してみたところ、tcshは動的にlibiconvを
読み込んでいるようです。
試しに壊れたlibiconv.soを/usr/local/libに置いておいたら、tcshがsegmentation
faultで落ちるようになりました。
この時suでrootになろうとしたら、同じように何もおこらず元のユーザのプロンプトに
戻ったので、libiconvが壊れているというのもありえそうです。
この状況でも/bin/shは問題なく起動しました。
もしログインシェルを/bin/shに変更してログインできるようになったならば、
libiconv.soを別の名前に変更してからtcshが起動するか確認してみるといいかも
しれません。

-- 
いわもと こういち(s...@iwmt.org/s...@postfix.jp/s...@teraterm.net)
# なるようになれ、明日もイケイケ♪

メールによる返信