/etc の所有権を自分のアカウントに変更しましたが、今は sudo からログアウトしていますか?

/etc の所有権を自分のアカウントに変更しましたが、今は sudo からログアウトしていますか?

私は、ROOT 経由で所有権を取得し、chown -R 'myusername' /etc を実行して、-R /etc のユーザー アカウントを chmod 777 して、FileZilla 経由で SFTP を実行し、ファイルのダウンロードと再アップロードを可能にしていました。

今、タイムアウトになり、ルートに再度ログインしようとしましたが、エラーが発生します。sudo:/etc/sudoers は uid 1000 によって所有されていますが、0 である必要があります。sudo:有効な sudoers ソースが見つかりません。終了します。sudo:ポリシー プラグインを初期化できません。私は /etc とすべてのファイルの 777 にアクセスでき、FTP 経由でもアクセスできます。したがって、ルート アカウントへのアクセスを復元する方法を提案してください。また、現時点ではルートにパスワードがないため、一般的な pkexec または visudo コマンドを実行できません。

解決策を提案してください。また、/etc/shadow または passwd ファイルを手動でリセットする方法があるかどうかも教えてください。

ファイルの権限も変更したため、示された重複とは少し異なると思います。また、chown root:root /etc/ を実行すると、chown root:root /etc chown: '/etc' の所有権を変更しています: 操作は許可されていません というメッセージが表示されます。

ありがとう!

答え1

おそらく、これを修正する最も簡単な方法は再起動です。思いつく解決策は次の 2 つです。

  1. Ubuntu LiveCD を起動し、 があるデバイスをマウントします/etc。次に、 を実行しますchown -R root:root /path/to/etc

  2. ライブ CD がない場合、またはライブ CD を起動する方法がない場合は、これを試してください。コンピュータを再起動します。grub プロンプトが表示されたら、コマンドの行のブート エントリを編集して追加しますlinux(break=bottom起動<shift>中に キーを押し続ける必要がある場合があります)。次に、<F10>キーを押して、変更したブート エントリを起動します。これにより、rootfs と が/devマウントされている initrd にルート シェルが作成されます。次に、 を実行し/bin/chroot /rootて rootfs に chroot します。/etcが rootfs 上にない場合は、たとえば にデバイスをマウントします/tmp。次に を実行できますchown -R root:root /path/to/etc。 をマウントした場合は/etc、完了したら必ずアンマウントし、chroot と initrd シェルを終了して、通常の起動を続行します。/etcファイルはすべて root 権限を持つ必要があります。

関連情報