序章

Linuxシステムでのユーザーの追加と削除は、慣れるための最も重要なシステム管理タスクの1つです。 新しいシステムを作成する場合、多くの場合、デフォルトではrootアカウントへのアクセスのみが許可されます。

root ユーザーとして実行している間、システムとそのユーザーを完全に制御できますが、危険であり、破壊的である可能性もあります。 一般的なシステム管理タスクの場合、非特権ユーザーを追加し、root特権なしでそれらのタスクを実行することをお勧めします。 システム上にいる可能性のある他のユーザーのために、追加の非特権アカウントを作成することもできます。 システム上の各ユーザーは、独自の個別のアカウントを持っている必要があります。

管理者権限を必要とするタスクのために、sudoと呼ばれるUbuntuシステムにインストールされたツールがあります。 簡単に言うと、sudoを使用すると、管理者権限を持つユーザーを含む別のユーザーとしてコマンドを実行できます。 このガイドでは、ユーザーアカウントの作成方法、sudo権限の割り当て、およびユーザーの削除方法について学習します。

前提条件

このチュートリアルを完了するには、Ubuntu20.04を実行しているサーバーにアクセスする必要があります。 サーバーとファイアウォールへのrootアクセスが有効になっていることを確認してください。 これを設定するには、 Ubuntu20.04の初期サーバーセットアップガイドに従ってください。

または、ブラウザのインタラクティブ端末を使用して、このチュートリアルのコマンドを試すこともできます。 下のLaunch an Interactive Terminal!ボタンをクリックすると起動できます。

ユーザーの追加

root ユーザーとしてサインインしている場合は、次のコマンドを実行することで、いつでも新しいユーザーを作成できます。

  1. adduser newuser

sudo権限が付与されたroot以外のユーザーとしてサインインしている場合は、次のコマンドを使用して新しいユーザーを追加できます。

  1. sudo adduser newuser

いずれにせよ、一連の質問に答える必要があります。

  • 新しいユーザーのパスワードを割り当てて確認します。
  • 新しいユーザーに関する追加情報を入力します。 これはオプションであり、これらのフィールドを使用したくない場合は、ENTERを押すことでスキップできます。
  • 最後に、提供した情報が正しいことを確認するよう求められます。 Yを押して続行します。

これで、新しいユーザーを使用する準備が整い、入力したパスワードでログインできるようになりました。

新しいユーザーに管理者権限が必要な場合は、次のセクションに進んでください。

ユーザーにSudo権限を付与する

新しいユーザーがroot(管理)権限でコマンドを実行できるようにする必要がある場合は、新しいユーザーにsudoへのアクセスを許可する必要があります。 このタスクへの2つのアプローチを調べてみましょう。1つは、事前定義された sudo ユーザーグループにユーザーを追加する方法、もう1つは、[でユーザーごとに特権を指定する方法です。 X179X]の構成。

Sudoグループへの新しいユーザーの追加

デフォルトでは、Ubuntu20.04システムのsudoは、sudoグループのすべてのユーザーに完全な特権を拡張するように構成されています。

groupsコマンドを使用して、新しいユーザーがどのグループに属しているかを確認できます。

  1. groups newuser
Output
newuser : newuser

デフォルトでは、adduserがユーザープロファイルに加えてこれを作成するため、新しいユーザーは自分のグループにのみ属します。 ユーザーとそのグループは同じ名前を共有します。 ユーザーを新しいグループに追加するには、usermodコマンドを使用できます。

  1. usermod -aG sudo newuser

-aGオプションは、usermodにリストされたグループにユーザーを追加するように指示します。

usermodコマンド自体にはsudo権限が必要であることに注意してください。 つまり、 root ユーザーとして、またはsudoグループ。 後者の場合、次の例のように、このコマンドの前にsudoを付ける必要があります。

  1. sudo usermod -aG sudo newuser

/etc/sudoersでの明示的なユーザー権限の指定

ユーザーをsudoグループに入れる代わりに、visudoコマンドを使用して、システムのデフォルトエディターで/etc/sudoersという構成ファイルを明示的に開くことができます。ユーザーごとに特権を指定します。

visudoを使用することは、/etc/sudoersに変更を加えるための唯一の推奨される方法です。これは、ファイルを複数の同時編集に対してロックし、ファイルを上書きする前にその内容の検証チェックを実行するためです。 これは、sudoの構成を誤って、sudo特権を失ったために問題を修正できない状況を防ぐのに役立ちます。

現在rootとしてサインインしている場合は、次を実行します。

  1. visudo

sudo権限を持つroot以外のユーザーとしてサインインしている場合は、sudoプレフィックスを付けて同じコマンドを実行します。

  1. sudo visudo

従来、visudoviエディターで/etc/sudoersを開いていましたが、これは経験の浅いユーザーを混乱させる可能性があります。 デフォルトでは、Ubuntuの新規インストールでは、visudonanoテキストエディターを使用します。これにより、より便利でアクセスしやすいテキスト編集エクスペリエンスが提供されます。 矢印キーを使用してカーソルを移動し、次のような行を検索します。

/ etc / sudoers
root    ALL=(ALL:ALL) ALL

この行の下に、次の強調表示された行を追加します。 newuserを、sudo権限を付与するユーザープロファイルの名前に変更してください。

/ etc / sudoers
root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL

完全なsudo特権を付与する必要があるユーザーごとに、このような新しい行を追加します。 終了したら、CTRL + XYENTERの順に押して、ファイルを保存して閉じます。

ユーザーのSudo権限のテスト

これで、新しいユーザーは管理者権限でコマンドを実行できるようになります。

新しいユーザーとしてサインインすると、通常どおりコマンドを入力して、通常のユーザーとしてコマンドを実行できます。

  1. some_command

コマンドの前にsudoと入力すると、管理者権限で同じコマンドを実行できます。

  1. sudo some_command

これを行うと、サインインしている通常のユーザーアカウントのパスワードを入力するように求められます。

ユーザーの削除

ユーザーが不要になった場合は、古いアカウントを削除することをお勧めします。

root として次のコマンドを実行することにより、ファイルを削除せずにユーザー自体を削除できます。

  1. deluser newuser

sudo権限を持つ別の非rootユーザーとしてサインインしている場合は、次を使用します。

  1. sudo deluser newuser

代わりに、ユーザーが削除されたときにユーザーのホームディレクトリを削除する場合は、rootとして次のコマンドを発行できます。

  1. deluser --remove-home newuser

これをsudo権限を持つroot以外のユーザーとして実行している場合は、sudoプレフィックスを使用して同じコマンドを実行します。

  1. sudo deluser --remove-home newuser

削除したユーザーに対して以前にsudo特権を構成した場合は、関連する行を再度削除することをお勧めします。

  1. visudo

または、sudo権限を持つroot 以外のユーザーの場合は、次のコマンドを使用します。

  1. sudo visudo
/ etc / sudoers
root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL   # DELETE THIS LINE

これにより、同じ名前で作成された新しいユーザーに誤ってsudo特権が与えられるのを防ぐことができます。

結論

これで、Ubuntu20.04システムにユーザーを追加および削除する方法をかなりうまく理解できるはずです。 効果的なユーザー管理により、ユーザーを分離し、ユーザーが仕事をするために必要なアクセスのみをユーザーに与えることができます。

sudoの構成方法の詳細については、sudoersファイルの編集方法に関するガイドをご覧ください。