はじめに
この実験では、Linux システムにおけるユーザーアカウントの管理方法、特にユーザーの削除方法について学びます。ユーザーアカウントの管理は、Linux システム管理者にとって基本的なスキルです。適切にユーザーアカウントを削除する方法を学ぶことで、必要なユーザーのみがシステムリソースにアクセスできるようにし、システムのセキュリティを維持することができます。
既存のユーザーアカウントを確認し、userdel コマンドを使用して安全に削除する方法を探ります。このスキルは、Linux 環境におけるシステムセキュリティの維持とユーザーアクセスの効果的な管理に不可欠です。
Linux ユーザーアカウントの理解
ユーザーアカウントを削除する前に、Linux でのユーザーアカウントの管理方法と、その存在を確認する方法を理解することが重要です。Linux では、ユーザーアカウント情報は /etc/passwd ファイルに保存されています。
まず、Linux システムに存在するユーザーを表示する方法を見てみましょう。
Linux デスクトップのターミナルアイコンをクリックして、ターミナルを開きます。
システム上のすべてのユーザーを表示するには、次のコマンドを実行します。
cat /etc/passwdこのコマンドは、
/etc/passwdファイルの内容を表示します。このファイルには、システム上のすべてのユーザーアカウントに関する情報が含まれています。各行がユーザーアカウントを表し、フィールドはコロンで区切られています。出力は次のようになります。
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin ... labex:x:1000:1000::/home/labex:/bin/zsh次に、後で削除するテストユーザーアカウントを作成しましょう。
testという名前の新しいユーザーを作成するには、次のコマンドを実行します。sudo adduser testパスワードとその他の情報の入力を求められます。パスワードを入力して確認する必要があります。その他の情報(氏名、部屋番号など)については、これはテストユーザーであるため、Enter キーを押してデフォルト値を受け入れることができます。
次に、
/etc/passwdファイルでtestユーザーを検索して、testユーザーが作成されたことを確認しましょう。cat /etc/passwd | grep 'test'出力には、テストユーザーの詳細が表示され、正常に作成されたことが確認されます。
ユーザーアカウント詳細の調査
テスト用のユーザーを作成したので、Linux のユーザーアカウントについてもっと調べ、各ユーザーに関する情報がどのように保存されているかを理解しましょう。
/etc/passwdファイルには、各ユーザーに関する 7 つのフィールドがコロンで区切られて格納されています。- ユーザー名:ユーザーのログイン名
- パスワード:'x' は暗号化されたパスワードが
/etc/shadowに保存されていることを示します - UID: ユーザー ID 番号
- GID: 主要グループ ID 番号
- コメント:ユーザー情報(多くの場合、フルネーム)
- ホームディレクトリ:ユーザーのホームディレクトリへのパス
- シェル:ユーザーのデフォルトシェルへのパス
次のコマンドを実行して、テストユーザーの詳細を調べましょう。
grep 'test' /etc/passwd次のような出力が表示されます。
test:x:1001:1001:,,,:/home/test:/bin/bashLinux の各ユーザーには通常、ホームディレクトリがあります。テストユーザーのホームディレクトリが存在するかどうかを確認しましょう。
ls -la /home/出力に
testという名前のディレクトリが表示されるはずです。これがテストユーザーのホームディレクトリです。テストユーザーが所属するグループも確認できます。
groups test出力には、テストユーザーがメンバーとなっているグループが表示されます。
これらのユーザーアカウントの詳細を理解することは重要です。なぜなら、ユーザーを削除する際に、ユーザーのファイルやその他のリソースを保持するか削除するかを決定する必要があるからです。
ユーザーアカウントの削除
Linux のユーザーアカウントについて理解したので、ユーザーアカウントを安全に削除する方法を学びましょう。Linux ではこの目的のために userdel コマンドが用意されています。
userdelコマンドの基本的な構文は次の通りです。sudo userdel usernameこれによりユーザーアカウントが削除されますが、ユーザーのホームディレクトリとメールスプールはそのまま残ります。
次のコマンドを実行して、テストユーザーを削除しましょう。
sudo userdel testこの操作が成功すると、このコマンドは何も出力しません。
次に、テストユーザーが
/etc/passwdファイルにまだ存在するかどうかを確認して、ユーザーアカウントが削除されたことを検証しましょう。grep 'test' /etc/passwdユーザーが正常に削除された場合、このコマンドは何も返さず、テストユーザーがシステム内に存在しなくなったことを示します。
ただし、ユーザーのホームディレクトリはまだ存在します。次のコマンドを実行してこれを確認しましょう。
ls -la /home//homeディレクトリ内にtestディレクトリがまだ存在することに気づくでしょう。userdelコマンドはユーザーアカウントのみを削除し、デフォルトではユーザーのホームディレクトリを削除しません。
単にユーザーアカウントを削除するだけでは、ユーザーのファイルやディレクトリは削除されないことに注意することが重要です。次のステップでは、ユーザーのホームディレクトリとメールスプールを含めてユーザーアカウントを完全に削除する方法を学びます。
-r オプションを使用したユーザーの完全削除
前のステップでは、ユーザーアカウントを削除しましたが、ユーザーのホームディレクトリはそのまま残しました。多くの場合、ホームディレクトリやメールスプールを含め、ユーザーを完全に削除したい場合があります。userdel コマンドには、このための -r オプションが用意されています。
まず、別のテストユーザーを作成しましょう。
sudo adduser testuserパスワードの入力と確認を求められます。その他の情報については、Enter キーを押してデフォルト値を受け入れることができます。
ユーザーのホームディレクトリにテストファイルを作成しましょう。
sudo -u testuser touch /home/testuser/testfile.txtこれにより、
testuserのホームディレクトリにtestfile.txtという名前の空のファイルが作成されます。次に、
-rオプションを使用して、ホームディレクトリを含め、testuserを完全に削除しましょう。sudo userdel -r testuser-rオプションは、userdelにユーザーのホームディレクトリとメールスプールを削除するように指示します。ユーザーアカウントが削除されたことを確認しましょう。
grep 'testuser' /etc/passwdユーザーが正常に削除された場合、コマンドは何も出力しません。
次に、ユーザーのホームディレクトリが削除されたかどうかを確認しましょう。
ls -la /home//homeディレクトリにtestuserディレクトリが存在しなくなったことがわかります。これは、-rオプションがユーザーアカウントとホームディレクトリの両方を正常に削除したことを確認するものです。
-r オプションは強力であり、ユーザーが所有するすべてのファイルとディレクトリを完全に削除することに注意してください。特に本番環境(プロダクションシステム)では、誤ったデータ損失を避けるために、このオプションを使用する際は常に注意してください。
まとめ
この実験では、Linux システムでユーザーアカウントを管理するための重要なスキルを学びました。
Linux のユーザーアカウント情報を調査し、ユーザーの詳細が
/etc/passwdファイルにどのように保存されているかを理解しました。adduserコマンドを使用してテスト用のユーザーアカウントを作成しました。/etc/passwdファイルを確認することで、ユーザーアカウントの存在を検証する方法を学びました。userdelコマンドを使用してユーザーアカウントを削除し、ユーザーのホームディレクトリはそのまま残しました。userdelと-rオプションを使用して、ユーザーのホームディレクトリを含めてユーザーアカウントを完全に削除しました。
これらのユーザー管理スキルは、システムのセキュリティを維持し、Linux 環境でのリソースへのアクセスを効果的に管理するために重要です。ユーザーアカウントを適切に管理することで、システムとそのリソースには承認されたユーザーのみがアクセスできるようにすることができます。
ユーザーアカウントを削除する際には、特に -r オプションを使用する場合は常に注意するようにしてください。このオプションはユーザーが所有するすべてのファイルとディレクトリを永久に削除します。



