/etc フォルダの所有者が変更されたため、sudo が使用できなくなりました

/etc フォルダの所有者が変更されたため、sudo が使用できなくなりました

Web サーバーで作業中に誤って /etc フォルダーの所有者を変更してしまい、現在 /etc フォルダーとそのすべてのサブディレクトリの所有者は www-data になっています。sudo を一切使用できなくなり、リカバリ モードではコンソールが 30 秒ほど後に再起動してフリーズします。Ubuntu を再インストールせずにこれを修正する方法はありますか。

答え1

もう少し検索してみると:https://superuser.com/questions/501818/sudo コマンドなしで所有権を変更する#501824

再起動し、右シフトキーを押して grub2 ブート メニューを表示します。次に、次の手順に従ってシングル ユーザー モードに入ります。

GRUB からシングル ユーザー モードで起動するにはどうすればよいですか?

シングル ユーザー モードでは、自動的にルート ユーザーになるため、ファイルのアクセス許可を修正できます。

一般的に言えば、ファイルの所有権だけが変更された場合は、次のコマンドを実行できます。

chown -R root:root /etc

これにより、所有権とグループがデフォルトのルートに戻ります。

私は Ubuntu サーバー 12.04 LTS を使用していますが、/etc の下に異なるグループ所有権を持つ少数のファイル/ディレクトリがあります。これ以外のすべてのファイルは root によって所有されています。異なるグループ所有権を持つファイルは次のとおりです。

/etc:
-rw-r----- 1 root daemon   144 Oct 26  2011 at.deny
drwxr-s--- 2 root dip     4096 Aug 22 12:01 chatscripts
-rw-r----- 1 root shadow   697 Oct 31 12:58 gshadow
-rw-r----- 1 root shadow  1569 Oct 31 13:00 shadow

/etc/chatscripts:
-rw-r----- 1 root dip  656 Aug 22 12:01 provider

したがって、最初に chown を実行した後、それらのファイルに対して chgrp コマンドを実行できます。その後、すべてが元の状態に戻ります。平均的なユーザーであれば、10 分以上かかることはありません。

e.g. 
  chgrp shadow /etc/shadow

ああ、最後のステップです。変更が完了したら、再起動してください。

/> reboot

関連情報