- - PR -
passwdコマンドが消えました。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-11-13 11:16
こんにちは、いつも参考にさせていただいています。
昨日メールサーバに、ユーザを作成しパスワードを変更しようとした ところpasswdコマンドがなくなっていました。 ひと月前には確かにあり、その後とくにパッケージのインストールや アンインストールを行なった記憶もありません。 historyコマンドで最近のコマンドも調べてみましたが、直近の1000件 には該当のコマンド(rm/mv/unlink)を実行した形跡はありませんでした。 findなどで検索しても見つからないので、どこかに移動してしまったと いうよりは削除したか、何らかの原因で消えてしまったようです。 ほかに消えてしまったコマンドがあるかはわかりません。 rpm や yum で復活できる、方法はあるのでしょうか? その場合どのパッケージを入れればいいのでしょうか? ソースからのビルドでなら復帰は可能でしょうか? その場合どこからどのファイルをダウンロードすればいいのでしょうか? # uname -a Linux XXXXX 2.6.9-42.0.10.EL #1 Tue Feb 27 09:24:42 EST 2007 i686 athlon i386 GNU/Linux # cat /etc/issue CentOS release 4.4 (Final) Kernel \r on an \m # cat /proc/version Linux version 2.6.9-42.0.10.EL (mockbuild@builder7.centos.org) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)) #1 Tue Feb 27 09:24:42 EST 2007 ほかにも情報が必要でしょうか? メールアカウントのパスワードが設定できず、非常に困っております。 よろしくお願いいたします。 | ||||
|
投稿日時: 2007-11-13 11:55
システムのセキュリティに関わる重要なコマンドなんですから、
見つからない、無くなったから戻せばいいや、 という単純な問題なのか疑問ですが。
CentOS5での実行例ですが、CentOS4でも多分変わらないとは思います。 というわけで、passwdパッケージに入ってます。 パッケージがあるかどうかと、/usr/binに存在しているか、 /usr/binがPATHに含まれてるかの確認ですかね。 | ||||
|
投稿日時: 2007-11-13 11:56
こんにちは。
仮にpasswdコマンドだけが消えたのでしたら、RPMパッケージからpasswdコマンドを取り出して、/usr/binディレクトリに置いてあげるのが良いと思います。ご存知かもしれませんが、私が試した取り出し方法を記述しておきます(RHEL4)。 --- # rpm -qf /usr/bin/passwd passwd-0.68-10.1 # cp -p passwd-0.68-10.1.i386.rpm /TEST ←2枚目のCD-ROMにある # cd /TEST # mkdir -p ./usr/bin # rpm2cpio ./passwd-0.68-10.1.i386.rpm | cpio -i cpio: ./etc/pam.d/passwd: そのようなファイルやディレクトリはありません cpio: ./usr/share/man/man1/passwd.1.gz: そのようなファイルやディレクトリはありません 44 blocks # cd ./usr/bin/ # ls passwd # cp -p ./passwd /usr/bin/ --- passwdコマンドが消えた理由は必ずあるので、原因を追求することが大切だと思います。もしまだでしたら、近くの上司、同僚、後輩にも相談してみては如何でしょうか? お役に立ちそうですか? | ||||
|
投稿日時: 2007-11-13 11:59
お世話になっております。
rpmパッケージに含まれています。 [root@**** bin]# rpm -ql passwd-***.***.** /etc/pam.d/passwd /usr/bin/passwd /usr/share/man/man1/passwd.1.gz テスト環境などでテストして本番機で作業されてみてはいかがでしょうか。 | ||||
|
投稿日時: 2007-11-13 12:27
ご回答いただいた皆様ありがとうございます。
解決しました。 passwd は passwdパッケージに入っていたのですね。 rpm -qa | grep passwd の結果passwd パッケージが見つけられなかったので 何らかのパッケージをアンインストールしたときに依存関係で消えてしまった のかも知れません。アンインストールを行なった記憶も記録も無いのですが... パッケージごと見つからなかったので yumコマンドでインストールしてみました。
Mattun様のおっしゃるとおり、消えたから入れましたで解決できる問題か? といわれると、そうではないと思います。 なので、折りをみて再構築を行ないたいと思います。 [ メッセージ編集済み 編集者: 来紀人 編集日時 2007-11-13 13:03 ] | ||||
|
投稿日時: 2007-11-13 13:01
もう少し調べてみました。
yumコマンドを実行すると /var/log/yum.logが吐き出されている ことがわかりました。 yum.logを見てみたら、sendmailまわりのupdateの際に passwd パッケージとlibuserパッケージが削除されていました。 ウィルスや侵入による改ざんではないことがわかり一安心です。 yum使用後は yum.logを確認するように心がけます。 | ||||
|
投稿日時: 2007-11-14 00:18
logwatchのレポートメールで出てきませんか? yumのアップデートを自動でやっている場合とか…… # といいつつ、自宅サーバでやっていませんが。 # i810なので、kernelはリビルドしないと高解像度モードが使えない……。 # CentOS5.0です。月末には5.1かな? | ||||
|
投稿日時: 2007-11-14 02:36
"yum.logを見てみたら、sendmailまわりのupdateの際に passwd
パッケージとlibuserパッケージが削除されていました。" これ、本当ですか? 私もCentOS 5使ってますけどほんとなら怖すぎますね。 yum remove パッケージ名 で依存するもの全部引っこ抜いていくことはありますが、 sendmailのアップデートでpasswdを消し去る理由は分からないです。 できれば詳細なyum.logをご教示いただきたいのですが。 |
1