Ubuntu20.04でユーザーを追加および削除する方法
序章
Linuxシステムでのユーザーの追加と削除は、慣れるための最も重要なシステム管理タスクの1つです。 新しいシステムを作成する場合、多くの場合、デフォルトではrootアカウントへのアクセスのみが許可されます。
root ユーザーとして実行している間、システムとそのユーザーを完全に制御できますが、危険であり、破壊的である可能性もあります。 一般的なシステム管理タスクの場合、非特権ユーザーを追加し、root特権なしでそれらのタスクを実行することをお勧めします。 システム上にいる可能性のある他のユーザーのために、追加の非特権アカウントを作成することもできます。 システム上の各ユーザーは、独自の個別のアカウントを持っている必要があります。
管理者権限を必要とするタスクのために、sudo
と呼ばれるUbuntuシステムにインストールされたツールがあります。 簡単に言うと、sudo
を使用すると、管理者権限を持つユーザーを含む別のユーザーとしてコマンドを実行できます。 このガイドでは、ユーザーアカウントの作成方法、sudo
権限の割り当て、およびユーザーの削除方法について学習します。
前提条件
このチュートリアルを完了するには、Ubuntu20.04を実行しているサーバーにアクセスする必要があります。 サーバーとファイアウォールへのrootアクセスが有効になっていることを確認してください。 これを設定するには、 Ubuntu20.04の初期サーバーセットアップガイドに従ってください。
または、ブラウザのインタラクティブ端末を使用して、このチュートリアルのコマンドを試すこともできます。 下のLaunch an Interactive Terminal!
ボタンをクリックすると起動できます。
ユーザーの追加
root ユーザーとしてサインインしている場合は、次のコマンドを実行することで、いつでも新しいユーザーを作成できます。
- adduser newuser
sudo
権限が付与されたroot以外のユーザーとしてサインインしている場合は、次のコマンドを使用して新しいユーザーを追加できます。
- sudo adduser newuser
いずれにせよ、一連の質問に答える必要があります。
- 新しいユーザーのパスワードを割り当てて確認します。
- 新しいユーザーに関する追加情報を入力します。 これはオプションであり、これらのフィールドを使用したくない場合は、
ENTER
を押すことでスキップできます。 - 最後に、提供した情報が正しいことを確認するよう求められます。
Y
を押して続行します。
これで、新しいユーザーを使用する準備が整い、入力したパスワードでログインできるようになりました。
新しいユーザーに管理者権限が必要な場合は、次のセクションに進んでください。
ユーザーにSudo権限を付与する
新しいユーザーがroot(管理)権限でコマンドを実行できるようにする必要がある場合は、新しいユーザーにsudo
へのアクセスを許可する必要があります。 このタスクへの2つのアプローチを調べてみましょう。1つは、事前定義された sudo ユーザーグループにユーザーを追加する方法、もう1つは、
Sudoグループへの新しいユーザーの追加
デフォルトでは、Ubuntu20.04システムのsudo
は、sudoグループのすべてのユーザーに完全な特権を拡張するように構成されています。
groups
コマンドを使用して、新しいユーザーがどのグループに属しているかを確認できます。
- groups newuser
Outputnewuser : newuser
デフォルトでは、adduser
がユーザープロファイルに加えてこれを作成するため、新しいユーザーは自分のグループにのみ属します。 ユーザーとそのグループは同じ名前を共有します。 ユーザーを新しいグループに追加するには、usermod
コマンドを使用できます。
- usermod -aG sudo newuser
-aG
オプションは、usermod
にリストされたグループにユーザーを追加するように指示します。
usermod
コマンド自体にはsudo
権限が必要であることに注意してください。 つまり、 root ユーザーとして、またはsudo
グループ。 後者の場合、次の例のように、このコマンドの前にsudo
を付ける必要があります。
- sudo usermod -aG sudo newuser
/etc/sudoers
での明示的なユーザー権限の指定
ユーザーをsudoグループに入れる代わりに、visudo
コマンドを使用して、システムのデフォルトエディターで/etc/sudoers
という構成ファイルを明示的に開くことができます。ユーザーごとに特権を指定します。
visudo
を使用することは、/etc/sudoers
に変更を加えるための唯一の推奨される方法です。これは、ファイルを複数の同時編集に対してロックし、ファイルを上書きする前にその内容の検証チェックを実行するためです。 これは、sudo
の構成を誤って、sudo
特権を失ったために問題を修正できない状況を防ぐのに役立ちます。
現在rootとしてサインインしている場合は、次を実行します。
- visudo
sudo
権限を持つroot以外のユーザーとしてサインインしている場合は、sudo
プレフィックスを付けて同じコマンドを実行します。
- sudo visudo
従来、visudo
はvi
エディターで/etc/sudoers
を開いていましたが、これは経験の浅いユーザーを混乱させる可能性があります。 デフォルトでは、Ubuntuの新規インストールでは、visudo
はnano
テキストエディターを使用します。これにより、より便利でアクセスしやすいテキスト編集エクスペリエンスが提供されます。 矢印キーを使用してカーソルを移動し、次のような行を検索します。
root ALL=(ALL:ALL) ALL
この行の下に、次の強調表示された行を追加します。 newuser
を、sudo
権限を付与するユーザープロファイルの名前に変更してください。
root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL
完全なsudo
特権を付与する必要があるユーザーごとに、このような新しい行を追加します。 終了したら、CTRL + X
、Y
、ENTER
の順に押して、ファイルを保存して閉じます。
ユーザーのSudo権限のテスト
これで、新しいユーザーは管理者権限でコマンドを実行できるようになります。
新しいユーザーとしてサインインすると、通常どおりコマンドを入力して、通常のユーザーとしてコマンドを実行できます。
- some_command
コマンドの前にsudo
と入力すると、管理者権限で同じコマンドを実行できます。
- sudo some_command
これを行うと、サインインしている通常のユーザーアカウントのパスワードを入力するように求められます。
ユーザーの削除
ユーザーが不要になった場合は、古いアカウントを削除することをお勧めします。
root として次のコマンドを実行することにより、ファイルを削除せずにユーザー自体を削除できます。
- deluser newuser
sudo
権限を持つ別の非rootユーザーとしてサインインしている場合は、次を使用します。
- sudo deluser newuser
代わりに、ユーザーが削除されたときにユーザーのホームディレクトリを削除する場合は、rootとして次のコマンドを発行できます。
- deluser --remove-home newuser
これをsudo
権限を持つroot以外のユーザーとして実行している場合は、sudo
プレフィックスを使用して同じコマンドを実行します。
- sudo deluser --remove-home newuser
削除したユーザーに対して以前にsudo
特権を構成した場合は、関連する行を再度削除することをお勧めします。
- visudo
または、sudo
権限を持つroot 以外のユーザーの場合は、次のコマンドを使用します。
- sudo visudo
root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL # DELETE THIS LINE
これにより、同じ名前で作成された新しいユーザーに誤ってsudo
特権が与えられるのを防ぐことができます。
結論
これで、Ubuntu20.04システムにユーザーを追加および削除する方法をかなりうまく理解できるはずです。 効果的なユーザー管理により、ユーザーを分離し、ユーザーが仕事をするために必要なアクセスのみをユーザーに与えることができます。
sudo
の構成方法の詳細については、sudoersファイルの編集方法に関するガイドをご覧ください。