目次:
sudo
は、デフォルトのルートで、信頼できるユーザーが別のユーザーとしてコマンドを実行できるコマンドラインユーティリティです。
このチュートリアルでは、ユーザーにsudo特権を付与する2つの方法を示します。 最初の方法は、ユーザーを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 /
/etc/sudoers.d
ディレクトリに新しい構成ファイルを作成することにより、ユーザーアクセスを構成できます。 このディレクトリ内のファイルは、sudoersファイルに含まれています。
常に
visudo
コマンドを使用して
/etc/sudoers
ファイルを編集します。 このコマンドは、保存時にファイルの構文エラーをチェックします。 エラーがある場合、ファイルは保存されません。 通常のテキストエディタでファイルを編集すると、構文エラーによりsudoアクセスが失われる場合があります。
visudo
は、デフォルトでvimに設定されている
EDITOR
環境変数で指定されたエディターを使用します。 nanoでファイルを編集する場合は、次を実行して変数を変更します。
EDITOR=nano visudo
ユーザーがパスワードを要求されることなくsudoコマンドを実行できるようにしたいとします。 これを行うには、
/etc/sudoers
ファイルを開きます。
visudo
ファイルの最後までスクロールし、次の行を追加します。
/ etc / sudoers
username ALL=(ALL) NOPASSWD:ALL
ファイルを保存し、エディターを終了します。 「ユーザー名」を、アクセスを許可するユーザー名に変更することを忘れないでください。
別の典型的な例は、ユーザーが
sudo
を介して特定のコマンドのみを実行できるようにすることです。 たとえば、
mkdir
コマンドと
rmdir
コマンドのみを許可するには、次を使用します。
username ALL=(ALL) NOPASSWD:/bin/mkdir, /bin/rmdir
sudoersファイルを編集する代わりに、/ etc
/etc/sudoers.d
ディレクトリーに許可規則を使用して新しいファイルを作成することにより、同じことを実現できます。 sudoersファイルに追加するのと同じルールを追加します。
echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
このアプローチにより、sudo特権の管理がより維持しやすくなります。 ファイルの名前は重要ではありませんが、ユーザー名に従ってファイルに名前を付けることは一般的な習慣です。
結論
Debianのユーザーにsudoアクセスを許可するには、ユーザーを「sudo」グループに追加するだけです。
ターミナルsudo debian