Kali Linux におけるユーザーとシステムの管理

Kali LinuxBeginner
オンラインで実践に進む

はじめに

この実験では、サイバーセキュリティやペネトレーションテスト(侵入テスト)で広く利用されているプラットフォームである Kali Linux を使用して、ユーザーとシステムを管理する方法を学びます。ハンズオン形式の実習を通じて、現在のユーザーの確認、root 権限への切り替え、新規ユーザーの作成、システムプロセスの監視、およびシステムログの閲覧といった基本的なコマンドを習得します。これらのスキルは、LabEx の仮想マシン(VM)環境において、効果的なシステム管理やトラブルシューティングを行うために不可欠です。ターミナルを開くと、自動的に Kali Linux コンテナのシェルに接続され、すぐに実習を開始できる状態になります。

whoami による現在のユーザーの確認

最初のステップでは、whoami コマンドを使用して、システムにログインしている現在のユーザーを特定する方法を学びます。これは Kali Linux のような Linux システムにおける基本的かつ重要なスキルです。どのユーザーアカウントで操作しているかを把握することは、権限の範囲やコマンドの実行結果に影響するためです。

LabEx VM 環境でターミナルを開くと、自動的に Kali Linux コンテナのシェルに接続されます。手動でコンテナを起動したりシェルに入ったりする必要はありません。環境はすでに整っています。

ターミナルに以下のコマンドを入力し、Enter キーを押してください。

whoami

このコマンドは、現在のユーザーのユーザー名を表示します。次のような出力が表示されるはずです。

root

この出力は、現在 Kali Linux コンテナ内に root ユーザーとしてログインしていることを示しています。この環境では、root であることは、デフォルトで完全な管理者権限を持っていることを意味します。特定の権限を必要とするタスクを実行する前に、自分のユーザー識別子を確認しておくことは非常に重要です。

このシンプルなコマンドは、ユーザー管理の基礎となります。次のステップでは、権限の管理や追加ユーザーの作成方法を探索し、この基礎を発展させていきます。次へ進む前に、期待通りの出力が表示されていることを確認してください。

ツールインストールに向けたパッケージリストの更新

ユーザー管理やシステム監視のタスクに進む前に、Kali Linux コンテナ内のパッケージリストが最新であることを確認する必要があります。このステップは、後のステップでツールやソフトウェアをスムーズにインストールするために不可欠です。

Kali Linux コンテナのターミナルで、以下のコマンドを入力して Enter キーを押してください。

apt update

このコマンドは、設定されたリポジトリからパッケージリストを更新し、最新バージョンのソフトウェアパッケージにアクセスできるようにします。次のような出力が表示されるはずです(具体的な内容は異なる場合があります)。

Get:1 http://mirrors.cloud.aliyuncs.com/kali kali-rolling InRelease [41.2 kB]
Get:2 http://mirrors.cloud.aliyuncs.com/kali kali-rolling/main amd64 Packages [19.1 MB]
...
Fetched 19.5 MB in 5s (3,912 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

この出力は、システムが最新のパッケージ情報をダウンロードしていることを示しています。コマンドが完了すると、古いパッケージデータに起因する問題を起こすことなく、必要なツールをインストールする準備が整います。このステップは、今後のタスクでソフトウェアをインストールするための前提条件であり、学習を円滑に進めるための重要なプロセスです。

adduser による新規ユーザーの追加

パッケージリストが更新されたので、次は adduser コマンドを使用して Kali Linux コンテナに新しいユーザーを作成する方法を学びます。新しいユーザーの作成は、システム上の異なる個人や役割に対してアクセス権や権限を管理するための主要な管理タスクです。

adduser コマンドは、Linux で新しいユーザーアカウントをセットアップするための使いやすいツールです。対話形式でユーザーのパスワードやその他の詳細設定を案内してくれるため、初心者にとって理想的です。このコンテナではすでに root ユーザーとしてログインしているため、このタスクを実行するために必要な権限を持っています。

まず、adduser がインストールされていない場合に備えてインストールします。

apt install -y adduser

ターミナルに以下のコマンドを入力して Enter キーを押し、testuser という名前の新しいユーザーを追加するプロセスを開始します。

adduser testuser

以下の説明に従って、対話形式のプロンプトに応答してください。簡略化のため最小限の入力で構いませんが、各ステップを確実に完了させてください。

  • Enter new UNIX password: test123 のような簡単なパスワードを入力して Enter を押します。セキュリティ上の理由から、入力した文字は表示されません。
  • Retype new UNIX password: 同じパスワード test123 を再度入力して Enter を押します。
  • Full Name, Room Number, Work Phone, Home Phone, Other: これらはすべて Enter を押してスキップしてください。
  • Is the information correct? [Y/n]: Y と入力して Enter を押し、確定します。

次のような出力が表示されるはずです(詳細は若干異なる場合があります)。

Adding user 'testuser' ...
Adding new group 'testuser' (1000) ...
Adding new user 'testuser' (1000) with group 'testuser' ...
Creating home directory '/home/testuser' ...
Copying files from '/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for testuser
Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n] Y

この出力は、ユーザー testuser がホームディレクトリや必要な設定とともに作成されたことを示しています。ユーザーが存在することを確認するために、以下のコマンドを入力して Enter を押してください。

id testuser

次のような出力が表示されるはずです。

uid=1000(testuser) gid=1000(testuser) groups=1000(testuser)

これにより、ユーザー testuser が一意のユーザー ID とグループ ID でセットアップされたことが確認できました。root アカウントだけに頼らずにアクセスを管理することは、システムのセキュリティを向上させるために不可欠です。ユーザーが作成されたことで、次のステップでさらなる管理タスクを探索する準備が整いました。

top によるシステムプロセスの監視

新しいユーザーを作成した後の次のステップは、top コマンドを使用して Kali Linux コンテナ内で実行されているプロセスを監視する方法を学ぶことです。このツールは、システムのパフォーマンスを把握し、リソースの使用状況を特定するために不可欠です。

top コマンドは、システムで実行されているプロセスのリアルタイムでインタラクティブなビューを提供します。CPU 使用率、メモリ使用率、プロセスのステータスなどの詳細が表示され、パフォーマンスの問題のトラブルシューティングに役立ちます。root ユーザーとして、追加の権限なしでこのコマンドを直接実行できます。

top を含むパッケージがインストールされていない場合に備えてインストールします。

apt install -y procps

ターミナルに以下のコマンドを入力して Enter キーを押し、プロセスの監視を開始します。

top

このコマンドを実行すると、ターミナルには継続的に更新される情報テーブルが表示されます。出力は以下のようになります(特定のプロセスや数値は状況により異なります)。

%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 98.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   2048.0 total,    512.3 used,   1535.7 free,     10.2 shared,    200.1 buff/cache
MiB Swap:    512.0 total,      0.0 used,    512.0 free

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    1 root      20   0   12345   2345   1234 S   0.0   0.1   0:01.23 init
  123 root      20   0   54321   9876   4321 S   0.0   0.5   0:00.45 bash

top の出力の主なセクションには、CPU 使用率の内訳を示す %Cpu(s)、メモリ使用率を示す MiB Mem、プロセス ID を示す PID、リソース使用率の割合を示す %CPU%MEM、そしてプロセス名を示す COMMAND が含まれます。この情報により、システムで何が実行されているかを確認し、リソースを大量に消費しているプロセスを特定できます。

top の表示を終了してターミナルのプロンプトに戻るには、キーボードの q キーを押してください。プロセスの監視は、システムの健全性を維持するためのシステム管理における重要なスキルです。この知識を身につけたところで、次のステップではシステムログを確認します。

dmesg と tail によるシステムログの閲覧

最後のステップでは、dmesg および tail コマンドを使用して Kali Linux コンテナ内のシステムログを表示する方法を学びます。ログにはシステムイベントに関する詳細な情報が含まれており、トラブルシューティングやシステムの挙動を理解する上で非常に貴重です。

今回は systemd が利用できない Docker コンテナ環境で作業しているため、システムログを表示するために代替の方法を使用します。dmesg コマンドはカーネル関連のメッセージを表示し、tail はさまざまなログファイルを直接表示するために使用できます。

まず、必要なツールをインストールします。

apt install -y util-linux

カーネルメッセージを表示するには、ターミナルに以下のコマンドを入力して Enter キーを押します。

dmesg

次のような出力が表示されます(正確な内容は異なります)。

[    0.000000] Linux version 5.10.0-18-amd64 ...
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.10.0-18-amd64 ...
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'

syslog から最新のシステムメッセージを確認するには、以下を使用します。

tail -f /var/log/syslog

もし syslog ファイルが存在しない場合は、他の一般的なログファイルを確認することもできます。

ls -l /var/log/

これにより、システム内で利用可能なログファイルが表示されます。その後、tail コマンドを使用して特定のログファイルを表示できます。

tail -n 20 /var/log/messages

-n 20 オプションは、ログファイルの最後の 20 行を表示します。tail -f コマンドを終了するには、Ctrl+C を押してください。

これらのコマンドは、システム活動に対して異なる視点を提供します。

  • dmesg はカーネルメッセージと起動時の情報に焦点を当てています。
  • ログファイルに対する tail は、進行中のシステムイベントやアプリケーションログを表示します。

systemd の journalctl ほど包括的ではありませんが、これらのツールはシステムの挙動に関する貴重な洞察を提供し、コンテナ環境に適しています。

まとめ

この実験では、Kali Linux におけるユーザーとシステムの管理に関する不可欠なスキルを学びました。まず whoami で現在のユーザーを特定し、apt update でパッケージリストを更新してインストールの準備を整え、adduser を使用してアクセス権と権限を管理するための新規ユーザーを作成しました。さらに、top を使用してシステムプロセスを監視しリソースの使用状況を把握したほか、dmesgtail を使用してシステムログを閲覧しシステムイベントを分析しました。これらの基礎的なスキルは、Linux 環境における効果的なシステム管理とトラブルシューティングを行うための土台となります。