私は問題があります:
Macにrootパスワードがありません。管理者アカウントを持っているだけで、Sudo
を使用して処理を実行できます。ここで、通常のユーザーを/etc/sudoers
ファイルにも追加したいと思いました。そのファイルへの書き込み(Sudoを使用した書き込みでも)ができなかったため、次のようにしました。
Sudo chmod u+w /etc/sudoers
それはうまくいった。しかし、それ以降、システムでSudo
コマンドを実行できなくなりました。 /etc/sudoers
のモードが間違っていると文句を言います。
$ Sudo touch /etc/sudoers
Sudo: /etc/sudoers is mode 0740, should be 0440
Segmentation fault
モードを0440
に戻すことすらできないので、それは悪い冗談のように聞こえます。
$ Sudo chmod 0440 /etc/sudoers
Sudo: /etc/sudoers is mode 0740, should be 0440
Segmentation fault
この状況を修正する方法はありますか? Sudo
の能力を取り戻す必要があります。
これは、ディスクユーティリティから「ディスクパーミッションの修復」を実行することが実際に保証されるまれなケースの1つである可能性があります。
それが機能しない場合は、@ slhckのシングルユーザーモードで起動するという提案に従って、修正してください。
Command-Sを押しながら再起動してシングルユーザーモードに入ります。 Bluetoothキーボードを使用している場合は、ブートチャイムがトレーリングオフであるため、これを押す必要があることに注意してください。すぐに押すと、Bluetooth無線がリセットされ、キーボードが接続を失い、キー押下を通信しなくなります。遅すぎると、起動プロセスはマルチユーザー起動に移行します。
画面の指示に従って、ルートドライブを読み取り/書き込みで再マウントします。正常に再起動した場合は、おそらくfsck
ステップをスキップできます。したがって、おそらく次のように入力できます。
mount -uw /
/etc/sudoers
の権限を修正します。シングルユーザーモードでは、すでにroot
になっているため、これをSudo
する必要はありません。
chmod 0440 /etc/sudoers
次のように入力するだけで、再起動してシングルユーザーモードを終了します。
reboot
別のアプローチはAutomator.appを使用することです
次のようなものを含む新しいワークフローを作成します。
do Shell script "chmod 0440 /etc/sudoers" with administrator privileges
あなたがそれを実行するとき、それはあなたのパスワードを尋ね、そして(あなたが管理者であると仮定して)それはそれを修正するでしょう。
これは、親ディレクトリのアクセス許可を台無しにした場合にも機能します(たとえば、/ 755以外のものを作成する)。