Kali でのユーザーとシステムの管理

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

はじめに

この実験では、サイバーセキュリティやペネトレーションテストで広く使われている Kali Linux で、ユーザーとシステムを管理する方法を学びます。実際にコマンドを実行しながら、現在のユーザーの確認、root 権限への切り替え、新しいユーザーの作成、システムプロセスの監視、システムログの確認といった基本操作を体験します。これらのスキルは、LabEx VM 環境でシステムを効率的に管理し、トラブルシューティングを行うために欠かせません。ターミナルを開くと、Kali Linux コンテナの shell に自動的に接続されるため、すぐに操作を始められます。

whoami で現在のユーザーを確認する

このステップでは、whoami コマンドを使って、システムにログインしている現在のユーザーを確認します。Kali Linux などの Linux システムでは、どのユーザーアカウントで操作しているかによって、実行できるコマンドやアクセスできるリソースが変わります。そのため、これは基本的ですが重要な操作です。

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

ターミナルに次のコマンドを入力し、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 NameRoom NumberWork PhoneHome PhoneOther: それぞれ何も入力せず、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 でシステムログを確認する

このステップでは、dmesgtail コマンドを使って Kali Linux コンテナのシステムログを確認します。ログにはシステムで発生したイベントの詳細が記録されているため、トラブルシューティングやシステムの動作確認に役立ちます。

ここでは Docker コンテナを使用しており、systemd を利用できないため、別の方法でシステムログを確認します。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 環境で効果的にシステムを管理し、トラブルシューティングを行うための土台になります。