sudo
は、信頼できるユーザーがrootまたは別のユーザーとしてコマンドを実行できるようにするコマンドラインプログラムです。
この記事では、ユーザーにsudo権限を付与する2つの方法を紹介します。 1つ目は、ユーザーをsudoersファイルに追加することです。このファイルには、sudo権限が付与されるユーザーとグループ、および権限のレベルを制御する情報が含まれています。
2番目のオプションは、sudoers
で指定されたsudoグループにユーザーを追加することです。 ファイル。デフォルトでは、UbuntuやLinux MintなどのDebianベースのディストリビューションでは、「sudo」グループのメンバーにsudoアクセスが許可されます。
sudoグループへのユーザーの追加#
Ubuntuでは、ユーザーにsudo権限を付与する最も簡単な方法は、ユーザーを「sudo」グループに追加することです。このグループのメンバーは、sudo
を介してrootとして任意のコマンドを実行できます。 sudo
を使用すると、パスワードで自分自身を認証するように求められます 。
ユーザーがすでに存在していることを前提としています。新しいユーザーを作成する場合は、このガイドを確認してください。
ユーザーをグループに追加するには、rootまたは別のsudoユーザーとして以下のコマンドを実行します。 「username」を、アクセス許可を付与するユーザーの名前に変更してください。
usermod -aG sudo username
ほとんどのユースケースでは、この方法を使用してsudoアクセスを許可するだけで十分です。
ユーザーがsudo権限を持っていることを確認するには、whoami
を実行します コマンド:
sudo whoami
パスワードの入力を求められます。ユーザーがsudoアクセス権を持っている場合、コマンドは「root」を出力します:
root
「ユーザーがsudoersファイルに含まれていません」というエラーが表示された場合は、ユーザーにsudo権限がないことを意味します。
sudoersファイルへのユーザーの追加#
ユーザーとグループのsudo権限は、/etc/sudoers
で定義されています。 ファイル。このファイルにユーザーを追加すると、コマンドへのカスタマイズされたアクセスを許可し、カスタムセキュリティポリシーを構成できます。
ユーザーのsudoアクセスを構成するには、sudoersファイルを変更するか、/etc/sudoers.d
に新しい構成ファイルを作成します。 ディレクトリ。このディレクトリ内のファイルはsudoersファイルに含まれています。
常にvisudo
を使用してください /etc/sudoers
を編集するには ファイル。このコマンドは、ファイルを保存するときに構文エラーがないかファイルをチェックします。エラーがある場合、ファイルは保存されません。テキストエディタでファイルを開くと、構文エラーによってsudoアクセスが失われる可能性があります。
通常、visudo
vimを使用して/etc/sudoers
を開きます 。 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特権の管理がより保守しやすくなります。ファイルの名前は重要ではありません。ファイルの名前はユーザー名と同じにするのが一般的な方法です。