Ubuntuまたはその他のLinuxディストリビューションでパスワードを入力せずに一部またはすべてのsudoコマンドを実行する方法を学びます。
Ubuntu、Debian、FedoraなどのほとんどのLinuxディストリビューションは、sudoメカニズムを使用して、管理者ユーザーがroot権限でコマンドを実行できるようにします。
sudoを使用してコマンドを実行すると、アカウントのパスワードを要求されます。パスワードのデフォルトのタイムアウトは15分です(Ubuntu Linuxの場合)。つまり、15分後にsudoを使用してコマンドを実行した場合は、パスワードを再入力する必要があります。
一部のユーザーは、パスワードを常に入力するのが面倒だと感じるかもしれません。これは特に、システム上の唯一のユーザーである場合、または一部のコマンドをパスワードなしで実行しても問題ないと思われる場合です。 。
Linuxでは、sudo構成を変更して、パスワードを入力せずにsudoを使用して一部またはすべてのコマンドを実行できます。
サーバーを使用している場合、SSHを有効にしている場合は特に注意する必要があります。たぶん、最初にパスワードでSSHアクセスを無効にする必要があります。
パスワードなしでsudoを使用する方法を見てみましょう。
ただし、最初に、予防措置としてsudoerファイルをバックアップします。
sudo cp /etc/sudoers ~/sudoers.bak
パスワードなしですべてのsudoコマンドを実行する[非推奨]
次のコマンドを使用して、/ etc/sudoersファイルを編集します。
sudo visudo
これにより、このファイルを編集するためのデフォルトのテキストエディタ(UbuntuではNano)が開きます。このファイルに次のような行を追加するだけです。
user_name ALL=(ALL) NOPASSWD:ALL
もちろん、上記のコマンドのuser_nameを自分のユーザー名に置き換える必要があります。
シェルを終了して再度入力すると、変更が反映されていることがわかります。
sudoerファイルの編集にvisudoを使用する理由
現在、Vimなどのテキストエディタで/ etc / sudoersファイルを手動で編集できますが、それはお勧めできません。
このファイルの編集中に構文エラーが発生すると、致命的な結果になる可能性があります。これが、visudoという専用ツールを使用してsudo構成ファイルを編集する理由です。
visudoツールは、デフォルトのテキストエディタを使用してsudoerファイルを編集できる新しい一時ファイルを作成します。変更を保存しようとすると、チェックが実行され、構文エラーがあるかどうかが通知されます。
>>> /etc/sudoers: syntax error near line 3 <<<
What now?
Options are:
(e)dit sudoers file again
e(x)it without saving changes to sudoers file
(Q)uit and save changes to sudoers file (DANGER!)
変更に対処するためのいくつかのオプションを提供します。
ただし、パスワードなしですべてのsudoコマンドを実行することはお勧めできません。ありがたいことに、そのための解決策もあります。
パスワードなしで選択したコマンドのみを実行できるようにsudoを構成できます。
たとえば、Ubuntuでsudoのパスワードを入力せずにaptupdateとaptupgradeを実行する場合は、次のことを行う必要があります。
編集用にファイルを開きます:
sudo visudo
次に、次のような行を追加します:
user_name ALL=(ALL) NOPASSWD:/usr/bin/apt update, /usr/bin/apt upgrade
変更を保存すれば、準備は完了です。
パスワードなしでsudoを使用する方法についてのこの簡単なチュートリアルが気に入っていただければ幸いです。質問や提案はいつでも歓迎します。