このチュートリアルでは、UbuntuLinuxおよびLinuxmint、PopOSオペレーティングシステムなどのその派生物のリカバリモードからユーザーにsudo特権を復元する方法について説明します。このガイドをUbuntu18.04LTSシステムでテストしました。ただし、他のLinuxディストリビューションでも機能するはずです。
はじめに
先日、通常のユーザーをsudoグループに追加し、指定された権限を削除する方法をテストしていました。 彼をUbuntuで再び通常のユーザーにするためです。
テスト中に、管理ユーザーを'sudo'
から削除しました グループ。すでにご存知のように、管理タスクを実行するには、ユーザーはsudoグループに属している必要があります。しかし、私にはスーパーユーザーが1人しかいなかったので、彼のsudo特権をすでに取得しました。
sudoプレフィックスを付けてコマンドを実行するたびに、「skがsudoersファイルにありません。このインシデントが報告されます」というエラーが発生しました。 "。
管理タスクを実行できません。 'sudosu'コマンドを使用してrootユーザーに切り替えることができませんでした。ご存知のように、Ubuntuではrootユーザーがデフォルトで無効になっているため、rootユーザーとしてログインすることもできません。
このような状況になったことがありますか?心配ない!今日は、UbuntuLinuxシステムのユーザーに対して壊れたsudo権限を修正する方法を紹介します。
sudo権限を復元する
ステップ1: Linuxシステムをリカバリモードで起動します。
これを行うには、システムを再起動し、 SHIFTを押し続けます 起動中のキー。 grubブートメニューが表示されます。 「Ubuntuの詳細オプション」を選択します ブートメニューリストから。
次の画面で、「リカバリモード」を選択します オプションを選択してEnterキーを押します:
次に、[ルートシェルプロンプトにドロップ]を選択します オプションを選択してEnterキーを押します:
これで、rootユーザーとしてリカバリモードになります。
ステップ2: ルートファイルシステムを読み取り/書き込みモードでマウントします。これを行うには、次のコマンドを入力してルートをマウントします( /
)読み取り/書き込みモードのファイルシステム。
mount -o remount,rw /
ステップ3: 次に、sudo
から削除したユーザーを追加します グループ。
私の場合、 'sk'
というユーザーを追加しています sudo
へ 次のコマンドを使用してグループ化します:
adduser sk sudo
ステップ4: 次に、 exitと入力します リカバリメニューに戻ります。 再開を選択します Ubuntuシステムを起動します。
ENTERを押して、通常モードでのログインを続行します。
ステップ5: 次に、sudo権限が復元されたかどうかを確認します。
これを行うには、ターミナルから次のコマンドを入力します。
$ sudo -l -U sk
出力例:
[sudo] password for sk: Matching Defaults entries for sk on ubuntuserver: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User sk may run the following commands on ubuntuserver: (ALL : ALL) ALL
上記のメッセージにあるように、ユーザーは sk sudoプレフィックスを使用してすべてのコマンドを実行できるようになりました。おめでとう!これで、sudo権限がユーザーに正常に復元されました。
sudoの破損を引き起こす可能性は他にもあります
これは、壊れたsudo特権を復元する方法を示すために実際に行ったことに注意してください。 ユーザーに。 sudo
から自分を削除しました 上記のように、壊れたsudo権限をグループ化して修正しました。
sudoユーザーが1人だけの場合は、これを行わないでください。また、この方法は、物理的なアクセスがあるシステムでのみ機能します。 。リモートサーバーまたはvpsの場合、修正するのは非常に困難です。ホスティングプロバイダーの支援が必要になる場合があります。
また、sudoの破損を引き起こす可能性は他に2つあります。
-
/etc/sudoers
ファイルが変更された可能性があります。 - あなたまたは誰かが
/etc/sudoers
の権限を変更した可能性があります ファイル。
Ubuntuで壊れたsudoを修正
上記のいずれかまたはすべてを実行して、sudoが壊れてしまった場合は、次の解決策を試してください。
ソリューション1:
/etc/sudoers
の内容を変更した場合 ファイルの場合は、前述のようにリカバリモードに移動します。
既存の/etc/sudoers
をバックアップします 変更を加える前にファイルしてください。
cp /etc/sudoers /etc/sudoers.bak
次に、/etc/sudoers
を開きます ファイル:
visudo
次のようにファイルを変更します。
# # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d
このように内容を変更したら、 CTRL+X
を押します。 およびy
ファイルを保存して閉じます。
最後に、exit
再開を選択します Ubuntuシステムを起動してリカバリモードを終了し、通常のユーザーとして起動を続行します。
次に、sudoプレフィックスを付けてrun anyコマンドを使用して、sudo権限が復元されているかどうかを確認してください。
ソリューション2:
/etc/sudoers
の権限を変更した場合 ファイルの場合、このメソッドは壊れたsudoの問題を修正します。
リカバリモードから、次のコマンドを実行して、/etc/sudoers
に正しい権限を設定します ファイル:
chmod 0440 /etc/sudoers
ファイルに適切な権限を設定したら、exit
再開を選択します Ubuntuシステムを通常モードで起動します。最後に、sudoコマンドを実行できるかどうかを確認します。
結論
このガイドでは、sudoが破損する原因と、Ubuntuおよびその派生物のリカバリモードからユーザーにsudo特権を復元する方法について説明しました。
推奨される読み物:
- LinuxでデフォルトのSudoログファイルを変更する方法
- LinuxシステムですべてのSudoユーザーを検索する方法
- LinuxでSudoパスワードなしで特定のコマンドを実行する方法