/etc/sudoers は Linux ssh では誰でも書き込み可能です

/etc/sudoers は Linux ssh では誰でも書き込み可能です

あらゆることを試しましたが、何も機能しません。

sudo次のように表示されるため動作しません:

/etc/sudoers is world writable

コマンドを入力してもルートユーザーとしてログインできないsudo -i

chmod: changing permissions of 'etc/sudoers': Operation not permitted

su: Authentication failure

/etcこのエラーが発生する前に、フォルダー内に新しいフォルダーを作成できるようにフォルダーの権限を変更しようとしました/etcが、翌日 ssh を開いた後、このエラーが発生しました。

フォルダーを作成するために私が覚えていた唯一のコマンドは、以下のコマンドです。

sudo chmod -R 777 /etc chmod a+w test mkdir /etc/backup

私は Linux コマンドを初めて使用するので、コマンドを検索して SSH で試してみたところ、このエラーが発生しました。

ターミナルのエラー

誰か助けてくれませんか?よろしくお願いします。

答え1

このエラーが発生する前に、/etcフォルダの権限を変更して、/etcフォルダ内に新しいフォルダを作成できるようにしました。

変更する正当な理由はありません/etc/。これは、パッケージ/パッケージ マネージャーによって管理されるシステム ディレクトリです。個人用ディレクトリが必要な場合は、 に配置するか/home/$USER、マルチユーザー サーバーの場合は に配置し/opt/etcます (ただし、これらも IMO では不快です ;))。

これを修正するには、grub rescueまたはライブセッションから再起動して、

chmod 440 /etc/sudoers

だから一致する

r--r----- 1 root root 1800 feb 20 18:38 /etc/sudoers

これは無駄な試みになる可能性があることに注意してください。全体に何かを行った場合、/etc/sudoers ファイルだけでなく、他のファイルも変更されている可能性があります。その場合は、フォーマットせずに再インストールすることが解決策になります。

答え2

システムを再起動して起動してくださいシングルユーザーモード、ルートシェルにドロップし、所有権を変更する/etc/sudoers:

再起動後、shfitGRUB メニューが表示されるまで を押し、eを押して編集します。その後、 で始まる行に移動してlinux /boot/vmlinuz、行末ro \ console=ttyS0 console=tty0を に置き換えますrw init=/bin/bash

指示イトガラ画像付き。

最後chmod 440 /etc/sudoersにsudoersファイルは次のようになります。

-r--r-----

visudoにさらに設定を追加するには、 とを使用して sudoers ファイルを編集することをお勧めします/etc/sudoers.d/my-sudoers

関連情報