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