プロが教えるわが家の防犯対策術!

バックアップしてあった /usr 以下を新しい環境に上書きコピー
したところ、基本的なコマンド(passwd,chfn)が動かなくなりました。
通常、単体で動くプログラムであれば本体だけコピーして実行権を付ければ動作
しますが、passwdコマンドはコピーしただけでは下記のエラーが出て動きません。
shared libraries まで復元したいのですが、何を共有しているのか分かりま
せん。復元手段をご教授お願いできますでしょうか?


再インストールした環境
 Slack Ware 8 Fullインストール
 カーネル Linux 2.2.19
バックアップを取った環境
 Plamo 2.1
 カーネル Linux 2.2.18


# passwd
passwd: error while loading shared libraries: cannot open shared object file: cannot load shared object file: No such fi
le or directory
# which passwd
/usr/bin/passwd
# file /usr/bin/passwd
/usr/bin/passwd: setuid ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked, stripped

何度も何度も再インストールしてばかりで疲れました。ぜひ知恵を
お貸し下さい。

A 回答 (5件)

何を使ってどうバックアップした野でしょうか?


通常UNIXのバックアップといえばtarまたはddあたりを使うことが多いのですが、、、

まず、こういったバックアップの仕方は結構危険です。
LinuxでDistributionを変更するということは、Windowsのバージョンの変更に匹敵します。

多分、SetUIDを立ててあげれば復旧するでしょう。

この回答への補足

すみません。説明が足りませんでした。
/usr 以下のバックアップには tar cvf コマンドを使いました。
それを新しい環境の / にコピーして tar xvf コマンドで展開しました。

# ls -al /usr/bin/passwd
-r-s--x--x 1 root root 24252 Sep 17 2000 passwd

これは正常な状態でしょうか?

補足日時:2001/09/19 22:33
    • good
    • 0

私はslackもplamoも利用していないので詳細(shared libのバージョンの不一致等)は分かりませんが、



とりあえず、
ldd /usr/bin/passwd
の結果がないと何ともいえません。
たぶん、slackとplamoで利用しているライブラリのバージョンが違う等の問題
だと思います。

この回答への補足

# ldd /usr/bin/passwd
libshadow.so.0 => not found
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40021000)
libc.so.6 => /lib/libc.so.6 (0x4004f000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

こんなにでました。。。復旧手順はあるのでしょうか。

補足日時:2001/09/21 01:20
    • good
    • 0

横槍になっちゃいますが,日にちあいてるようなので…



そのメッセージで見つからない(not found)と出ている,

libshadow.so.0

という,共有ライブラリが必要です。
Slackwareのpasswd周りPackageを入れ直す,というのもひとつの手。

# 多分,Slackware8の方はPAM使ってるんだろうなぁ。
    • good
    • 0

Slackwareなんてなつかしいなぁ~



と思いを馳せつつ,ちょいと調べてみると。。

ftp.cdrom.comにSlackware見当たらず,ショッーーク!!

気を取り直し,別のところから shadow.tgz を入手。
中覗いてみると,いやぁPAMなんざ入ってないですね。
さすがというべきか,Slackware。

てなわけで(本題),passwd入れなおすなら,shadow.tgzです。
旦那。
    • good
    • 0

基本的にはonosukeさんの方法でいけるはずですが、問題は古いpasswdファイルが残ってたりしないかどうかだけです。



一番簡単なのは最新のslackwareのshadowののパッケージを上書きインストールすることですが、いまのパスワードコマンドを生かす方向で対応するならば、plamoからlibshadow.{a,so.1,soなど}をコピーする方法もあります。

特殊なことをしていないのであればslackので十分な気がします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!