はじめに
マルチユーザーオペレーティングシステム(Linux など)において、ユーザーアカウントの管理は基本的な管理タスクです。これには、新規ユーザーのアカウント作成、パスワードの設定、適切な権限の付与、そして不要になった際のアカウント削除などが含まれます。
この実験(Lab)では、ユーザーアカウントのライフサイクル全体について実践的な経験を積みます。以下の必須コマンドを学習し、使用します。
useradd: 新しいユーザーアカウントを作成するために使用します。passwd: ユーザーのパスワードを設定または変更するために使用します。usermod: 既存のユーザーアカウントを変更するために使用します(例:グループへの追加)。su: 別のユーザーアカウントに切り替えるために使用します。userdel: ユーザーアカウントを削除するために使用します。
この実験の終わりまでに、Linux システム上で基本的なユーザー管理タスクを実行する能力を習得しているでしょう。
useradd -m newuser コマンドを使用したユーザーの作成
このステップでは、newuser という名前の新しいユーザーアカウントを作成します。Linux システムでユーザーを追加するための標準的なユーティリティである useradd コマンドを使用します。
ここで -m オプションは非常に重要です。これは useradd に対して、通常 /home/username となるユーザーのホームディレクトリを作成するように指示します。このオプションがないと、ユーザーはホームディレクトリなしで作成され、問題を引き起こす可能性があります。
ユーザーの作成は管理者権限を必要とする操作であるため、コマンドの前に sudo を付ける必要があります。この LabEx 環境では、パスワードなしで sudo を使用できます。
ユーザーを作成するには、ターミナルで以下のコマンドを実行してください。
sudo useradd -m newuser
コマンド実行後、成功した場合は出力は表示されません。ユーザーのホームディレクトリが作成されたことを確認するには、/home ディレクトリの内容を一覧表示できます。
ls /home
出力には、デフォルトの labex ユーザーのホームディレクトリと並んで、newuser ディレクトリが表示されるはずです。
labex newuser
passwd newuser コマンドを使用したパスワードの設定
newuser アカウントが作成されたので、パスワードを設定する必要があります。パスワードがないと、ユーザーはログインできません。パスワードを設定するために passwd コマンドを使用します。
useradd と同様に、他のユーザーのパスワードを設定するには管理者権限が必要なため、sudo を使用する必要があります。
以下のコマンドを実行してください。新しいパスワードを入力するように求められ、その後再入力が求められます。この実験では、password のような簡単なパスワードを使用できます。セキュリティ上の理由から、パスワードを入力しても画面には何も表示されないことに注意してください。
sudo passwd newuser
ターミナルはパスワードを 2 回入力するように求めます。両方とも正しく入力すると、確認メッセージが表示されます。
New password:
Retype new password:
passwd: password updated successfully
これで newuser アカウントはパスワードで保護され、ログインの準備が整いました。
usermod -aG sudo newuser を使用した sudo グループへの追加
このステップでは、newuser に管理者権限を付与します。Ubuntu およびその他の Debian ベースのシステムでは、これは通常、ユーザーを sudo グループに追加することで行われます。このグループのメンバーは sudo を使用してコマンドを実行できます。
ユーザーアカウントの詳細を変更するために使用される usermod コマンドを使用します。
-a(append: 追加) オプションは、ユーザーを他のグループから削除することなくグループに追加するために使用されます。-G(groups: グループ) オプションは、ユーザーを追加するグループを指定します。この場合はsudoです。
newuser を sudo グループに追加するには、以下のコマンドを実行します。
sudo usermod -aG sudo newuser
newuser が sudo グループのメンバーになったことを確認するには、groups コマンドを使用できます。
groups newuser
出力には、newuser が所属するすべてのグループが表示されます。リストの中に sudo が表示されるはずです。
newuser : newuser sudo
su - newuser コマンドを使用したユーザー切り替え
これで新しいアカウントをテストする時が来ました。su (substitute user: ユーザーの切り替え) コマンドを使用して、現在の labex ユーザーから newuser に切り替えることができます。
- フラグは重要です。これは新しいユーザーのログインシェルを起動するため、newuser が直接ログインしたかのように環境が設定されます。これには、カレントディレクトリがユーザーのホームディレクトリ (/home/newuser) に変更されることや、シェルのプロファイルが読み込まれることが含まれます。
newuser に切り替えるには、以下のコマンドを実行します。ステップ 2 で設定したパスワードの入力を求められます。
su - newuser
パスワードを入力すると、ターミナルのプロンプトが変わり、現在 newuser としてログインしていることを示します(ホスト名にコンテナ ID が表示される場合があります)。whoami コマンドでこれを検証できます。
whoami
出力は以下のようになるはずです。
newuser
付与した sudo 権限をテストするには、sudo を付けてコマンドを実行してみてください。ユーザーのパスワードの入力を求められます。
sudo whoami
パスワードを入力した後、このコマンドは root を出力し、newuser が管理者タスクを実行できることを確認します。
[sudo] password for newuser:
root
作業が完了したら、exit と入力して元の labex ユーザーセッションに戻ります。
exit
userdel -r newuser コマンドを使用したユーザーの削除
ユーザーアカウントのライフサイクルの最終ステップは削除です。アカウントが不要になった場合は、システムのセキュリティとクリーンさを維持するために削除する必要があります。この目的には userdel コマンドが使用されます。
userdel と共に -r オプションを使用することが推奨されます。このオプションは、ユーザーアカウント自体と共に、ユーザーのホームディレクトリとメールスプールを削除します。-r を省略すると、ユーザーのファイルがシステム上に残ってしまいます。
これは管理者タスクであるため、sudo を使用する必要があります。newuser とそれに関連するすべてのファイルを完全に削除するには、以下のコマンドを実行します。
sudo userdel -r newuser
このコマンドは、メールスプールが見つからないという警告メッセージを出す場合があります(これはコンテナ化された環境では正常です)。ユーザーが削除されたことを確認するには、再度 /home ディレクトリの内容を確認できます。
ls /home
newuser ディレクトリが既になくなっていることがわかります。
labex
これにより、ユーザーアカウントとそのホームディレクトリが正常に削除されたことが確認できました。
まとめ
この実験(Lab)の完了、おめでとうございます!Linux のユーザーアカウント管理における必須タスクをすべて正常に実行できました。
この実験(Lab)では、以下の方法を学びました。
- ホームディレクトリも作成されるように、
useradd -mを使用して新しいユーザーを作成する方法。 - ログインを可能にするために
passwdコマンドを使用してユーザーのパスワードを設定する方法。 usermod -aGを使用してユーザーをsudoグループに追加することで管理者権限を付与する方法。- アカウントとその権限をテストするために
su -を使用して別のユーザーのセッションに切り替える方法。 userdel -rを使用してユーザーとそのホームディレクトリを完全に削除する方法。
これらのコマンドは、あらゆる Linux システムにおけるユーザー管理の基礎となります。これらを習得することは、熟練した Linux 管理者になるための重要なステップです。



