QA@IT

sudoがうてなくなった。

4010 PV

前任者が作成した桜VPS上動くlinuxにrvmをインストールしようとしたところ、色々手順を間違ってしまいsudoがうてなくなってしまいました。以下に具体的な内容を書かせていただきます。ユーザ名はlainとします。

環境:
OS:CentOS release 5.8

エラー内容:
$ sudo hogehoge
sudo: must be setuid root

エラー原因(推測):
/usr/bin/sudoの所有者がrootではない

エラー環境構築手順:
sudo chown -R lain /usr/

ls -l /usr/bin/sudo:
-r-s--x--x 2 lain root

エラーに対して取った対策:

$ chown root /usr/bin/sudo
chown: `/usr/bin/sudo' の所有権を変更中: 許可されていない操作です

$ su root
パスワード:
su:パスワードが違います。

所感:
馬鹿な事をしたと思っております。/usr/localを変えればよかったんですが、無知のため/usr/を丸々変えてしまいました。
なぜこんなことをしたかというと、なぜか/usr/localの全ファイルの所有者がrootだったため、それをlainに変えてrvmをインストールする際にsudoをうたなくていいようにしたかったのです。
なんとか/usr/以下の所有者を全てrootに戻し、その後/usr/local以下のみ変更を加えたいのですが、上記の通りなかなかうまくいきません。
また「エラーに対して取った対策:」の②で要求されるパスワードはsudoを実行する際のパスワードとは違うようで、rootでログインするのもままならないという状況です。

何かお気づきの点があればご指摘いただけると幸いです。

回答

su コマンドは /usr 配下ではなく /bin 配下にあると思うので、無事だと思います。
ls -l /bin/su してみてください。-rwsr-xr-x 1 root root となっていれば問題ありません。
su コマンドが無事なのであれば、su で root になれないのは単純にパスワードが間違っているためだと思います。前任者に root のパスワードを教えてもらうのが良いと思います。

編集 履歴 (1)
  • 前任者に聞いてみようと思います。
    ありがとうございました。
    -

ユーザーを変更する su コマンドに入力するパスワードは変更先のユーザーのパスワードです。‘su root` ならば root のパスワードを入力してください。ファイル所有者を変更してしまったのが /usr 以下だけなら、CentOS 5 では su コマンドは /bin/su にあり無事なはずなので、問題なく root になれるはずです。

編集 履歴 (0)
  • 前任者に聞いてみようと思います。
    ありがとうございました。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。