sudo
は、信頼できるユーザーが別のユーザーとしてコマンドを実行できるようにするコマンドラインユーティリティです。デフォルトではrootです。
このチュートリアルでは、ユーザーにsudo権限を付与する2つの方法を示します。 1つ目は、ユーザーをsudoersファイルに追加することです。このファイルには、sudo特権が付与されるユーザーまたはグループと、特権のレベルを決定する一連のルールが含まれています。 2番目のオプションは、sudoers
で指定されたsudoグループにユーザーを追加することです。 ファイル。デフォルトでは、Debianとその派生物では、「sudo」グループのメンバーにsudoアクセスが許可されています。
sudoグループへのユーザーの追加#
ユーザーにsudo特権を付与する最も速くて簡単な方法は、ユーザーを「sudo」グループに追加することです。このグループのメンバーは、sudo
を介してrootとして任意のコマンドを実行できます。 sudo
を使用すると、パスワードで自分自身を認証するように求められます 。
グループに割り当てたいユーザーはすでに存在していると想定しています。
rootまたは別のsudoユーザーとして以下のコマンドを実行して、ユーザーをsudoグループに追加します
usermod -aG sudo username
「username」は、アクセスを許可するユーザーの名前に変更してください。
ほとんどのユースケースでは、この方法を使用してsudoアクセスを許可するだけで十分です。
ユーザーがグループに追加されていることを確認するには、次のように入力します。
sudo whoami
パスワードの入力を求められます。ユーザーがsudoアクセス権を持っている場合、コマンドは「root」を出力します。そうしないと、「ユーザーはsudoersファイルにありません」というエラーが表示されます。
sudoersファイルへのユーザーの追加#
ユーザーとグループのsudo権限は、/etc/sudoers
で定義されています。 ファイル。このファイルを使用すると、コマンドへのカスタマイズされたアクセスを許可し、カスタムセキュリティポリシーを設定できます。
sudoersファイルを編集するか、/etc/sudoers.d
に新しい構成ファイルを作成することで、ユーザーアクセスを構成できます。 ディレクトリ。このディレクトリ内のファイルはsudoersファイルに含まれています。
常にvisudo
を使用してください /etc/sudoers
を編集するコマンド ファイル。このコマンドは、ファイルを保存するときに構文エラーがないかファイルをチェックします。エラーがある場合、ファイルは保存されません。通常のテキストエディタでファイルを編集すると、構文エラーによってsudoアクセスが失われる可能性があります。
visudo
EDITOR
で指定されたエディタを使用します 環境変数。デフォルトではvimに設定されています。 nanoでファイルを編集する場合は、次のコマンドを実行して変数を変更します。
EDITOR=nano visudo
ユーザーがパスワードを要求されることなくsudoコマンドを実行できるようにしたいとします。これを行うには、/etc/sudoers
を開きます ファイル:
visudo
ファイルの最後までスクロールして、次の行を追加します。
/ etc / sudoersusername ALL=(ALL) NOPASSWD:ALL
ファイルを保存して、エディターを終了します。アクセスを許可するユーザー名で「username」を変更することを忘れないでください。
もう1つの典型的な例は、ユーザーがsudo
を介して特定のコマンドのみを実行できるようにすることです。 。たとえば、mkdir
のみを許可するには およびrmdir
使用するコマンド:
username ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir
sudoersファイルを編集する代わりに、/etc/sudoers.d
の認証ルールを使用して新しいファイルを作成することで同じことを実現できます。 ディレクトリ。 sudoersファイルに追加するのと同じルールを追加します:
echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
このアプローチにより、sudo特権の管理がより保守しやすくなります。ファイルの名前は重要ではありませんが、ユーザー名に従ってファイルに名前を付けるのが一般的な方法です。