中村です。
マルチの返信で失礼します。

岩本様、神部様、鶴谷様、高津様、ありがとうございます。

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

> また、この時他のコマンドの実行で問題が出ていませんでしたか?
suに失敗して勘違いしてexitしてしまったので、他のコマ
ンドは実行できていません。ただ、設定ファイルの間違い
の可能性もありますが、現在ネームサーバが正常に引けな
い状態になっているようです。そのため、bindが落ちてい
るかもしれません。

> この状況だと、ログインシェルが正しく実行できていないっぽいですね。
> 他のコマンドの実行に問題が無かったならば、tcshに何らかの問題が
> 発生しているのだと思います。
> 
> suでrootになれなかったのも、おそらく同じ原因のような気がします。
> かなり前から/bin/cshと/bin/tcshの実体は同じ物になっていますので。
> 
> | s...@mikasa% ls -li =tcsh =csh
> | 70800 -r-xr-xr-x  2 root  wheel  350440 Jul 15 03:11 /bin/csh
> | 70800 -r-xr-xr-x  2 root  wheel  350440 Jul 15 03:11 /bin/tcsh
> 
> sshでのリモートからのコマンド実行は、ログインシェルを利用してコマンドが
> 実行されますので、ログインシェルがまともに動かない場合は利用できません。
cshもtcshも実体は同じなのですか。では、cshを使って
いる他のユーザがいたとしてもログインできないですね。

> ログインシェルの起動を迂回してログインシェルを変更する事はできません。
> もしできたら、それはセキュリティホールという事になります。
> まあ、アカウント情報が外にあったり(NIS等)、ログインシェルを変更する
> インターフェースが外に向けて開いていたり(Webmin等)する場合は別ですが、
> そういう場合ではないですよね?
そうですね。大きなセキュリティホールですね。アカウ
ント情報が外にあるという事もありませんし、Webminな
ども使っていません。

> tcshの問題だとすると、普通ならばコンソールからrootでログインしてもらい、
> ユーザのログインシェルを/bin/sh辺りに変更してもらうのでしょうが、今回の
> 場合はコンソールからもrootでログインできなさそうに思います。
> その場合、シングルユーザモードで起動してログインシェルを変更する必要が
> あると思います。
> なんにしても、業者の手助けは必要になると思います。
わかりました。コンソールからもログインできない可能
性があるとすれば、どうにもなりませんね。/bin/shも
共有ライブラリを使っているかと思いますが、/rescue
のshを使うなどした方がいいのでしょうか?

> 前述したように、/bin/cshと/bin/tcshの実体は同じ物なので、tcshに
> 問題が起きた時にsuでrootになれないというのは十分ありえます。
> # 他の問題である可能性は否定しませんが
了解いたしました。

> portsからbashやzshを入れて使っていたのならばlibiconvを変に入れてしまい
> 起動しなくなるというのも考えられますが、tcshだと関係なさそうですね。
> 
> | s...@mikasa% ldd =tcsh =bash =zsh
> | /bin/tcsh:
> |         libncurses.so.7 => /lib/libncurses.so.7 (0x80067d000)
> |         libcrypt.so.4 => /lib/libcrypt.so.4 (0x8007c9000)
> |         libc.so.7 => /lib/libc.so.7 (0x8008e2000)
> | /usr/local/bin/bash:
> |         libncurses.so.7 => /lib/libncurses.so.7 (0x8006ce000)
> |         libintl.so.8 => /usr/local/lib/libintl.so.8 (0x80081a000)
> |         libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x800923000)
> |         libc.so.7 => /lib/libc.so.7 (0x800b20000)
> | /usr/local/bin/zsh:
> |         libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x8006b3000)
> |         libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x8007e0000)
> |         libncursesw.so.7 => /lib/libncursesw.so.7 (0x8009dd000)
> |         libm.so.5 => /lib/libm.so.5 (0x800b36000)
> |         libc.so.7 => /lib/libc.so.7 (0x800c51000)
> 
> どちらかというと、libiconvの前に行った作業が関係しているように思います。
> libiconvのインストールの前に何をしていましたか?
bashもzshも使っておりません。libiconvの導入前にはgettextを
インストールしていました。これに何か原因があるでしょうか?

鶴谷様
ログインできないユーザは複数です。どちらもtcshを使用してい
ます。sftpもダメです。接続が切られます。

高津様
わざわざ試していただいてありがとうございます。
ftpdは使わない設定にしてありますし、inetdも起動していません。

このため、ftpで入る事もできません。

どうやら、業者に助けを求めるのが最短ルートでしょうか?

業者に助けを求めるとして、シングルユーザモードに落ちて、
シェルを/bin/shあるいは、/rescue/shに切り替えて、再起動
それでうまくいったら、再構成という事になるでしょうか?

ライブラリが破損している場合の再構成についても、ご助言
いただければ幸いです。

どうぞよろしくお願いします。

----------------------------------------------------
 中村 光洋 (Mitsuhiro Nakamura)
  mailto:chiauz...@mbd.nifty.com

メールによる返信