/usr/bin/* の所有者が非 root に変更された場合はどうすればよいですか?

/usr/bin/* の所有者が非 root に変更された場合はどうすればよいですか?

失敗したと言った方が正しいでしょう!

誤って、/usr/bin 内のすべてのファイルの所有者を 'root' から 'dev' に変更しました。これで、sudo が機能しなくなりました。任意のコマンドで sudo を使用すると、次のメッセージが表示されます。

sudo: effective uid is not 0, is sudo installed setuid root?

コマンドを使用して所有者を「root」に戻すことができませんchown。これは大きな障害です。

これは仮想マシンなので、回復コンソールにアクセスできません。実際、rebootコマンドを実行するには、ユーザーが「ルート」アクセス権を持っている必要があります。

専門家の皆様、イメージを再作成せずに OS を制御する方法についてご助言ください。

ありがとう!

PS - おそらく重複しかし、彼の解決策は新たに始めることだったので、再投稿しました。

より詳しい情報 -

su - root常にパスワードが間違っています。残念ながら、の所有者suも「dev」です。

GUI を使用して新しいユーザーを作成できます。ルート パスワードが受け入れられました。visudo を使用せずに新しいユーザーにルート アクセスを付与するにはどうすればよいですか。

答え1

物理的なセキュリティはセキュリティです。3 つのオプションがあります。

  1. コンソールまたは ssh から root としてログインします。
  2. シングルユーザー モードで起動します。このモードでは、従来は root パスワードは必要ありません (ただし、システムによっては必要になる場合があります)。
  3. 別の OS からディスク イメージをマウントします。

これらのいずれかを使用すると、ディスク上の任意のファイルの所有権を変更できます。 いずれもオプションでない場合は運が悪いですが、制御もできません。コンソール アクセスを必要とする、ミスではない他のことが発生する場合があります。

答え2

VM を起動して状況を真似してみないと確かなことは言えませんが、VM の外部メディアとしてファイルを用意できる場合は、Live CD/USB ディストリビューション (Knoppix、デフォルトの archiso、Gentoo インストール CD、Porteus) を起動して、壊れた /usr/bin でファイルシステムをマウントする (おそらく を使用しcd /; mkdir /backup; cp /mnt/centos/usr/bin /backup、保存したいバイナリファイルをコピーして、chown -hR 0 /backup; chmod 755/usr/bin に選択した権限でコピーする) などの操作を行い、/usr/bin を削除します。のみ壊れたもの(修復するファイルシステムが/mnt/centosにマウントされている場合、最後の命令に使用するコマンドはrm -r /mnt/centos/usr/bin)の行の間に何かcp /backup /mnt/centos/usr/binそして、それはうまくいくかもしれません。ただし、まだこれを実行しないでください。これをテストするためのVMをまだ起動していないためです。できないファイルを外部の起動可能なメディアとして機能させる場合は、保存したいすべてのファイルのバックアップを作成した後、再インストールする必要があると思います。この回答がお役に立てば幸いです。

関連情報