Linux オペレーティングシステムはサーバーで広く使用されています。ほとんどの Linux オペレーティングシステムは GUI を提供していません。この場合、管理者は CLI を使用して Linux サーバーと対話する必要があります。このトピックでは、Linux オペレーティングシステムでよく使用するコマンドについて説明します。
プロセスを管理するために使用するコマンド
ps
コマンド
ps は Process Status の略です。 ps コマンドは、システム上の現在のプロセスのスナップショットを提供するために使用されます。
よく使用するオプション
オプション | 説明 |
-A | すべてのプロセスを表示します。 |
-a | 現在の制御端末上のすべてのプロセスを表示します。 |
-e | すべてのプロセスを表示します。このオプションは、-A オプションと同様に機能します。 |
-f | UID、PPIP、C、STIME 列を含む、完全な形式のプロセスリストを表示します。 |
-u | 実効ユーザーのプロセスを表示します。 |
-U | 実ユーザーのプロセスを表示します。 |
-x | 制御端末のないすべてのプロセスを表示します。 |
その他のオプションについては、man ps コマンドを実行してください。
例
すべてのプロセスをクエリします。
ps -ef特定のキーワードに一致するすべてのプロセスの完全な形式のリストをクエリします。
ps -ef | grep <key_word>上記のコマンドの
<key_word>を実際のキーワードに置き換えてください。制御端末のない、特定のキーワードに一致する実効ユーザーのすべてのプロセスをクエリします。
ps -aux | grep <key_word>上記のコマンドの
<key_word>を実際のキーワードに置き換えてください。プロセツリーをクエリします。
ps -ejHスレッド情報を含む、すべてのプロセスに関する情報をクエリします。
ps -eLfユーザー定義フィールドに基づいてスレッド情報をクエリします。
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,commプロセス ID(PID)でプロセスの特定のメトリックをクエリします。この例では、PID は 1 に設定され、コマンドを示す comm= メトリックが指定されています。
ps -q 1 -o comm=
top
コマンド
top コマンドは、Linux で実行中のプロセスのリアルタイムの動的表示、システム情報の概要、および Linux カーネルによって管理されるプロセスを提供します。
よく使用するオプション
オプション | 説明 |
-d | 更新頻度を指定します。 |
-p | PID でプロセスのステータスを監視します。 |
-s | top にセキュアモードで実行するように指示し、潜在的に危険なインタラクティブコマンドを無効にします。 |
-i | アイドルプロセスとゾンビプロセスを無視します。 |
-c | コマンド名だけでなく、コマンドラインを表示します。 |
top コマンド出力のフィールド
次の図は、top コマンド出力の特定のフィールドと対応する値を示しています。フィールドの値はサンプリング期間によって異なります。次の図は参考用です。

フィールド
例
特定のサンプリング頻度でシステムメトリックをクエリする
サンプリング頻度 3 秒でシステムメトリックをクエリするには、次のコマンドを実行します。
top 3説明top コマンドを実行してシステムメトリックをクエリする場合、デフォルトのサンプリング頻度は 5 秒です。
top コマンドインターフェースをカスタマイズする
デフォルトでは、このトピックの「システム情報サマリーとプロセスリストのフィールド」セクションで説明されているフィールドが top コマンド出力に表示されます。 top コマンドインターフェースをカスタマイズするには、インターフェース内で
fキーを押して、表示する列を指定し、列の順序を変更します。
次の表は、top コマンドインターフェースの管理に使用できるキーについて説明しています。
キー
説明
↑ and ↓
上下にスクロールしてフィールドを選択します。
→
列全体を選択します。上矢印キーまたは下矢印キーを押して、選択した列を移動できます。
Space
フィールドを表示または非表示にします。アスタリスク(*)は、フィールドが表示されていることを示します。
s
カーソルが置かれている列をソート列として設定します。
q
top コマンドインターフェースを閉じて、コマンドラインに戻ります。
インタラクティブモードで top コマンドを使用する
top コマンドを実行すると、システムはインタラクティブモードになります。インタラクティブモードでは、キーを押してコマンドをインタラクティブに使用できます。次の表に、キーについて説明します。
キー
説明
1
各論理 CPU のステータスを表示します。
u
ユーザーのプロセスを表示します。
E
top コマンドのメモリ値に使用する単位を選択します。有効な単位:KiB、MiB、GiB、TiB、PiB、EiB。
x
ソート列を表示します。
y
実行中のプロセスを表示します。
?
top コマンドのヘルプ情報を表示します。
PID でプロセスの名前とディレクトリをクエリする
topコマンドを実行して、プロセス情報をクエリします。この例では、aliyun-service プロセスが使用されます。 top コマンド出力は、aliyun-service プロセスの PID が 1325 であることを示しています。
aliyun-service プロセスのディレクトリをクエリするには、次のコマンドを実行します。
cd /proc/1352 ls -ail
PID でプロセスを終了する
top コマンドを実行します。インタラクティブモードで、
kキーを押し、PID を入力して、Enterキーを押してプロセスを終了します。
kill
コマンド
kill コマンドは、Linux でプロセスを終了するために使用されます。
よく使用するオプション
オプション | 説明 |
-l | 使用可能なすべてのシグナル名を表示します。 |
-L | すべてのシグナル名と対応する番号を表示します。 |
例
すべてのプロセスを終了します。
sudo kill -9 -1番号が 11 のシグナルの名前を表示します。
sudo kill -l 11すべてのシグナル名と対応する番号を表示します。
sudo kill -LPID でプロセスを終了します。
sudo kill -9 <PID>上記のコマンドの
<PID>を実際の PID に置き換えてください。
killall
コマンド
killall コマンドは、名前で複数のプロセスを終了するために使用されます。
よく使用するオプション
オプション | 説明 |
-g | プロセスグループのプロセスを終了します。 |
-i | プロセスを終了する前にユーザー確認をリクエストします。 |
-v | シグナルが送信されたかどうかを報告します。 |
例
top プロセスを終了します。
sudo killall topシステム情報をクエリするために使用するコマンド
Linux インスタンスを使用する場合、uname コマンドを実行してシステム情報をクエリできます。
uname
コマンド
uname コマンドは、システム情報を表示するために使用されます。
よく使用するオプション
オプション | 説明 |
-a | すべてのシステム情報を表示します。 |
-s | カーネル名を表示します。 |
-n | ネットワークノードのホスト名を表示します。 |
-r | カーネルリリースを表示します。 |
-v | カーネルバージョンを表示します。 |
-m | マシンハードウェアの名前を表示します。 |
-P | プロセッサタイプを表示します。 |
-i | ハードウェアプラットフォーム情報を表示します。 |
-o | オペレーティングシステム情報を表示します。 |
例
すべてのシステム情報をクエリします。
uname -auname -mまたはarchコマンドを実行して、CPU アーキテクチャをクエリします。コマンド出力はアーキテクチャによって異なります。Arm アーキテクチャのコマンド出力

x86 アーキテクチャのコマンド出力

dmidecode
dmidecode コマンドは、Linux システムの BIOS からハードウェア情報を抽出して表示するために使用されます。 dmidecode コマンドは、Desktop Management Interface(DMI)テーブルを読み取り、ハードウェア情報を人間が読める形式で表示します。 dmidecode コマンドは、以下を含むがこれらに限定されないさまざまなハードウェアの詳細を提供します。
システム情報: システムのベンダー、名前、バージョン、シリアル番号 (SN)、およびモデルが含まれます。
<app_name> は一意のアプリ名に置き換えます。 <mysql_name>、<mysql_username>、<mysql_password> は、任意の MySQL サーバー名、ユーザー名、パスワードに置き換えます。
メモリ情報: メモリ スロット数、メモリ サイズ、メモリ タイプ、およびメモリ 速度が含まれます。
マザーボード情報:マザーボードのベンダー、バージョン、およびシリアル番号 (SN) が含まれます。
BIOS 情報:BIOS のバージョンとリリース日が含まれます。
電源情報:電源の仕様とモデルが含まれます。
デバイス情報: ネットワークアダプターなどのさまざまなハードウェアコンポーネントに関する情報が含まれます。
DMI テーブルからすべてのハードウェア情報を表示します。
sudo dmidecodeDMI テーブルから特定の種類のエントリのみを表示するには、コマンドで
-tオプションを使用します。たとえば、DMI テーブルからメモリに関するエントリのみを表示するには、次のコマンドを実行します。sudo dmidecode -t memory
物理 CPU とメモリの情報をクエリする
コアの総数 = 物理 CPU の数 × 物理 CPU あたりのコア数
論理 CPU の総数 = 物理 CPU の数 × 物理 CPU あたりのコア数 × ハイパースレッディング係数
次のコマンドを実行して、物理 CPU とメモリ情報をクエリできます。
物理 CPU の数をクエリします。
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l物理 CPU あたりのコア数をクエリします。
cat /proc/cpuinfo| grep "cpu cores"| uniq論理 CPU の数をクエリします。
cat /proc/cpuinfo| grep "processor"| wc -lCPU モデルをクエリします。
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -cメモリ情報をクエリします。
cat /proc/meminfo
CPU 詳細のクエリ
lscpu コマンドを実行して、CPU 詳細をクエリします。コマンド出力はアーキテクチャによって異なります。
Arm アーキテクチャのコマンド出力

x86 アーキテクチャのコマンド出力

オペレーティングシステム情報のクエリ
cat /proc/version コマンドを実行して、オペレーティングシステム情報とコンパイラバージョンをクエリします。コマンド出力はアーキテクチャによって異なります。
x86 アーキテクチャのコマンド出力

Arm アーキテクチャのコマンド出力

ディスクの管理に使用するコマンド
df
コマンド
df コマンドは、ディスク上のファイルシステムの容量使用率をレポートするために使用されます。
共通オプション
オプション | 説明 |
-a | 疑似、重複、およびアクセス不能なファイルシステムを含めます。 |
-B | 出力のために、指定されたサイズでブロックサイズをスケーリングします。 |
-h | 1,024 のスケールファクターを使用して、サイズを人間が判読できる形式で表示します。例:1023M。 |
-H | 1,000 のスケールファクターを使用して、サイズを人間が判読できる形式で表示します。例:1.1G。 |
-k | -- block-size=1K と同等です。 |
-l | ローカルファイルシステムのリストを表示します。 |
-t | 指定されたタイプのファイルシステムに関する情報を表示します。 |
例
ディスク容量の使用率をクエリし、ブロックサイズを MB 単位で表示します。
df -BM次のコマンド出力が返されます。
Filesystem 1M-blocks Used Available Use% Mounted on
tmpfs 742M 22M 721M 3% /run
/dev/vda3 39943M 2542M 35556M 7% /
tmpfs 3708M 0M 3708M 0% /dev/shm
tmpfs 5M 0M 5M 0% /run/lock
tmpfs 742M 1M 742M 1% /run/user/0lsblk
コマンド
lsblk コマンドは、ブロックデバイスの詳細を表示するために使用されます。
共通オプション
オプション | 説明 |
-a | 空のデバイスとメモリディスクデバイスを含む、すべてのデバイスを表示します。 |
-b | サイズをバイト単位で表示します。 |
-f | ファイルシステムに関する情報を含む、情報を表示します。 |
例
ファイルシステムに関する情報を含む、ブロックデバイスに関する情報をクエリします。
lsblk -f次のコマンド出力が返されます。
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS vda |-vda1 |-vda2 vfat FAT32 6175-F96E `-vda3 ext4 1.0 df02e0a1-d28d-41b1-99c2-58f2b684cc79 34.7G 6% /ディスクの SN をクエリします。
ディスクの SN をクエリする方法は、Linux ディストリビューションによって異なる場合があります。Alibaba Cloud Linux 3、CentOS 7、または Ubuntu 18 の場合、次の手順を実行してディスクの SN をクエリします。
オペレーティングシステムにマウントされているブロックストレージデバイスをクエリします。
lsblkブロックストレージデバイスの SN をクエリします。たとえば、次のコマンドを実行して /dev/vda ディスクの SN をクエリします。
udevadm info --query=all --name=/dev/vda | grep ID_SERIAL
blkid
コマンド
blkid コマンドは、ブロックデバイスの属性を表示するために使用されます。
例
ブロックデバイスの属性をクエリします。
blkid /dev/vda次のコマンド出力が返されます。
/dev/vda: PTUUID="bdee1c7f-46fc-4838-9a74-9exxxxxxxxaf" PTTYPE="gpt"fdisk
コマンド
fdisk コマンドは、Linux でディスクパーティションテーブルを管理するために使用されます。
共通オプション
オプション | 説明 |
-l | 指定されたデバイスのパーティションテーブルを表示します。 |
-u | パーティションテーブルのパーティション情報を、シリンダー数ではなくセクター数で表示します。 |
例
すべてのディスク上のパーティションテーブルと、セクター数で表されるパーティション情報をクエリします。
sudo fdisk -lu次のコマンド出力が返されます。
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BDEE1C7F-46FC-4838-9A74-9E57F8FD63AF
Device Start End Sectors Size Type
/dev/vda1 2048 4095 2048 1M BIOS boot
/dev/vda2 4096 413695 409600 200M EFI System
/dev/vda3 413696 83886046 83472351 39.8G Linux filesystemmount
コマンド
mount コマンドは、ファイルシステムをマウントするために使用されます。
共通オプション
オプション | 説明 |
-a |
|
-L | 指定されたラベルを持つパーティションをマウントします。 |
-r | ファイルシステムを読み取り専用でマウントします。 |
-w | ファイルシステムを読み書き可能でマウントします。 |
-U | 指定された |
例
/etc/fstab ファイルに設定されているすべてのファイルシステムをマウントします。
sudo mount -aファイルシステムを読み書き可能でマウントします。
sudo mount -w /dev/vdb1 /mnt
umount
コマンド
umount コマンドは、ファイルシステムをアンマウントするために使用されます。
共通オプション
オプション | 説明 |
-r | アンマウントに失敗したファイルシステムを読み取り専用で再マウントします。 |
-a |
|
-t | アンマウントするファイルシステムのタイプを指定します。複数のファイルシステムタイプを指定する場合は、タイプをカンマ (,) で区切ります。 |
-f | ファイルシステムを強制的にアンマウントします。 |
例
パーティションからファイルシステムを強制的にアンマウントします。
sudo umount -f /dev/vdb1サービスを管理するために使用するコマンド
systemctl
コマンド
systemctl コマンドは、サービスを管理するために使用されます。
共通オプション
オプション | 説明 |
-a | ロードされているすべてのユニットまたは属性を表示します。 |
共通ユニットコマンド
コマンド | 説明 |
start | 指定されたロード済みユニットを起動します。 |
stop | 指定されたロード済みユニットを停止します。 |
restart | 指定されたロード済みユニットを再起動します。 |
reload | 指定されたユニットの構成を再読み込みします。 |
status | 指定されたユニットの実行時ステータスを表示します。サービスの一般的な実行時ステータス:
|
共通ユニットファイルコマンド
コマンド | 説明 |
enable | 指定されたユニットまたはユニットインスタンスを有効にします。 |
disable | 指定されたユニットまたはユニットインスタンスを無効にします。 |
例
NGINXサービスを再起動します。sudo systemctl restart nginxNGINXサービスの実行時ステータスを確認します。sudo systemctl status nginxシステム起動時に
NGINXサービスが自動的に起動するように構成します。sudo systemctl enable nginxシステム起動時に自動的に起動するサービスをクエリします。
sudo systemctl list-unit-files --type=service --state=enabled
リソース使用量を管理するために使用するコマンド
lsof
コマンド
lsof コマンドは、開かれているファイルを表示するために使用されます。
lsof ツールが Linux ディストリビューションにプリインストールされていない場合は、パッケージ管理ツールを使用して Isof ツールをインストールできます。
Alibaba Cloud Linux、CentOS、および RHEL:
sudo yum install lsof。Ubuntu および Debian:
sudo apt install lsof。
共通オプション
オプション | 説明 |
-p | プロセスによって開かれているファイルを表示します。 |
-l | 出力のユーザー ID をユーザー名に置き換えます。 |
-u | ユーザーが開いたファイルを表示します。 |
-c |
|
-d | 特定のファイル記述子を含む開かれているファイルを表示します。 |
-i | 指定された条件に一致する開かれているファイルを表示します。オプションの -i オプション:
|
コマンド出力
次の図は、Isof コマンドの出力を示しています。

次の表は、コマンド出力のオプションについて説明しています。
オプション | 説明 |
COMMAND | コマンド名。 |
PID | PID。 |
TID | スレッド ID ( TID )。空白の TID はプロセスを示します。 |
TASKCMD | タスク名。ほとんどの場合、COMMAND 値と同じです。 |
USER | ユーザー ID またはログイン ユーザー名。 |
FD | ファイル記述子。 |
TYPE | ファイルに関連付けられているノードのタイプ。 |
DEVICE | デバイス番号。 |
SIZE/OFF | ファイルのサイズまたはファイル オフセット ( バイト単位 )。 |
NODE | ファイルのノード。 |
NAME | ファイルが置かれているマウント ポイントとファイルシステムの名前。 |
例
プロセスによって開かれているファイルをクエリします。
sudo lsof -p 1上記のコマンドの
1を実際の PID に置き換えます。ユーザーが開いたファイルをクエリします。
sudo lsof -u <user-name>上記のコマンドの
<user-name>を実際のユーザー名に置き換えます。特定のファイルを開くプロセスに関する情報をクエリします。
sudo lsof <file-name>上記のコマンドの
<file-name>を実際のファイル名に置き換えます。IPv4 ネットワーク接続に関連付けられている開かれているファイルをクエリします。
sudo lsof -i 4
netstat
コマンド
netstat コマンドは、TCP および UDP ポートやプロセスなど、ネットワークの状態とプロトコルの統計を表示するために使用されます。
共通オプション
オプション | 説明 |
-t | TCP オプションのみを表示します。 |
-u | UDP オプションのみを表示します。 |
-i | ネットワーク インターフェースのリストを表示します。 |
-n | 数値アドレスをホスト名に解決する代わりに、数値アドレスを表示します。 |
-l | リスニング ソケットのみを表示します。 |
-p | ネットワーク接続に関連付けられているプロセスを表示します。 |
-s | ネットワーク統計を表示します。 |
例
ポート 8000 に関するネットワーク統計をクエリします。
netstat -tunlp | grep 8000上記のコマンドの
8000を実際のポート番号に置き換えます。リスニング状態にあるすべての TCP ポートと、それらのポートを使用するプロセスをクエリします。
netstat -ntlp
vmstat
コマンド
仮想メモリ統計 (vmstat) コマンドは、仮想メモリの統計情報を報告するために使用されます。 オペレーティングシステムのメトリック(仮想メモリ、プロセス、CPU 使用率など)を表示するために使用できます。
一般的なオプション
vmstat の構文は次のとおりです。
vmstat [-n] [delay [count]] オプション | 説明 |
-n | 列ヘッダーを1回だけ表示します。 |
[delay] | 出力の更新間隔です。 このオプションを指定しない場合、レポートは1つだけ出力されます。 |
[count] | 出力の更新回数です。 [delay] オプションを指定し、このオプションを指定しない場合、コマンドは無期限に実行されます。 vmstat コマンドを停止するには、 |
例
1秒間隔で4回、各プロセスのCPU使用率を報告するには、次のコマンドを実行します。
vmstat -n 1 4次のようなコマンド出力が返されます。
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 2684984 310452 2364304 0 0 5 17 19 35 4 2 94 0 0
0 0 0 2687504 310452 2362268 0 0 0 252 1942 4326 5 2 93 0 0
0 0 0 2687356 310460 2362252 0 0 0 68 1891 4449 3 2 95 0 0
0 0 0 2687252 310460 2362256 0 0 0 0 1906 4616 4 1 95 0 0コマンド出力のフィールド:
r: CPU による処理を待機しているスレッドの数。 CPU は一度に1つのスレッドしか処理できません。 値が大きいほど、システムが遅いことを示します。
us: ユーザーモードで費やされた CPU 時間の割合。 値が高い場合は、ユーザープロセスが CPU 時間を大量に消費していることを示します。 値が 50% を超える場合は、プログラムのアルゴリズムまたはコードを最適化します。
sy: カーネルモードで費やされた CPU 時間の割合。
wa: I/O 待ちで費やされた CPU 時間の割合。 値が高い場合は、I/O 待ち時間が長いことを示しており、多数のランダムディスクアクセスまたはディスクパフォーマンスのボトルネックが原因である可能性があります。
id: アイドル状態で費やされた CPU 時間の割合。 値が 0 のままで、sy 値が us 値の2倍である場合、CPU リソース不足が発生しています。
ユーザーログイン情報の取得に使用されるコマンド
次のファイルは、ユーザーログインレコードに関連しています。
通常、ユーザーログイン情報は、
/var/run/utmp、/var/log/wtmp、/var/log/btmp、/var/log/lastlogなどのファイルに記録されます。who、w、およびusersコマンドを実行して、/var/run/utmpファイル内の現在のログインユーザーに関する情報をクエリできます。lastコマンドを実行して、/var/log/wtmpファイル内の現在および過去のログインユーザーに関する情報をクエリできます。lastbコマンドを実行して、/var/log/btmpファイル内のログインに失敗したすべてのユーザーに関する情報をクエリできます。lastlogコマンドを実行して、/var/log/lastlogファイル内のユーザーの最新のログインに関する情報をクエリできます。
who
who コマンドは、現在のログインユーザーに関する情報をクエリするために使用されます。 次のようなコマンド出力が返されます。

w
w コマンドは、現在のログインユーザーのユーザー名と、ユーザーが実行しているタスクをクエリするために使用されます。 次のようなコマンド出力が返されます。

users
users コマンドは、現在のログインユーザーのユーザー名をクエリするために使用されます。 次のようなコマンド出力が返されます。

last
last コマンドは、ログインしたすべてのユーザーに関する情報をクエリするために使用されます。 次のようなコマンド出力が返されます。

lastb
lastb コマンドは、ログインに失敗したすべてのユーザーに関する情報をクエリするために使用されます。 次のようなコマンド出力が返されます。

lastlog
lastlog コマンドは、ユーザーの最新のログインに関する情報をクエリするために使用されます。 次のようなコマンド出力が返されます。

cat /var/log/secure
cat /var/log/secure コマンドは、すべてのユーザーのログインレコードをクエリするために使用されます。 次のようなコマンド出力が返されます。

ユーザー管理に使用するコマンド
Linux では、useradd、wheel、passwd、userdel などのコマンドを実行して、システムユーザーとユーザーの権限を管理できます。
useradd
コマンド
useradd コマンドは、ユーザーを作成するために使用します。このコマンドは、adduser コマンドに似ています。ユーザーを作成した後、cat /etc/passwd | grep username コマンドを実行して、ユーザーに関する情報をクエリできます。
ルート権限または必要な sudo 権限を持っている場合にのみ、ユーザーを作成できます。
useraddコマンドを実行してユーザーを作成した後、ユーザーのパスワードを構成することをお勧めします。ユーザーを作成するときは、プライマリグループと補足グループが既に存在することを確認してください。存在しない場合、ユーザーを作成できません。
一般的なオプション
オプション | 説明 |
-d | ユーザーのホームディレクトリ。このオプションを指定しない場合、デフォルトの |
-m | ユーザーのホームディレクトリを作成します。このオプションと |
-s | ユーザーのログインシェル。デフォルト値: |
-g | ユーザーを割り当てるプライマリグループ。プライマリグループが存在しない場合は、最初にプライマリグループを作成します。 |
-G | ユーザーを割り当てる補足グループ。複数の補足グループを指定する場合は、グループをカンマ(,)で区切ります。 |
-p | ユーザーのパスワード。パスワードが暗号化されており、useradd コマンドでプレーンテキストで表示されないことを確認してください。暗号化されたパスワードを含む useradd コマンドの例: |
-u | ユーザー ID の数値。 |
-e | ユーザーアカウントが無効になる日付。YYYY-MM-DD 形式で値を指定します。 |
例
特定のホームディレクトリと特定のログインシェルを使用して、
jackという名前のユーザーを作成します。useradd -m -d /home/jack -s /bin/bash jackユーザーの作成後、
cat /etc/passwd | grep jackコマンドを実行して、ユーザーに関する情報をクエリします。次のコマンド出力が返されます。jack:x:1000:1000::/home/jack:/bin/bashユーザーの作成後、
passwdコマンドを実行して、ユーザーのパスワードを構成します。passwd jackaliceという名前のユーザーを作成し、developers補足グループに割り当てます。useradd -m -G developers alicebobという名前のユーザーを作成し、ユーザー ID を 1001 に設定します。useradd -m -u 1001 bobルート権限を持つユーザーを作成するには、次の手順を実行します。
重要セキュリティのベストプラクティスに従って、必要な場合にのみユーザーにルート権限を付与することをお勧めします。
useraddコマンドを実行して、johnという名前のユーザーを作成します。useradd john新しいユーザーのパスワードを構成します。
passwd john新しいユーザーを
wheelグループに追加します。ほとんどの場合、ユーザーをwheelグループに追加することで、ユーザーに sudo 権限を付与できます。grep '^wheel:' /etc/groupコマンドを実行して、wheel グループのメンバーをクエリします。sudo usermod -aG wheel john新しいユーザーの sudo 権限をテストします。新しいユーザーに切り替えて、
sudoコマンドを実行します。su - john sudo ls /rootsudo コマンドが想定どおりに実行されると、パスワードの入力を求められます。新しいユーザーの正しいパスワードを入力すると、
/rootディレクトリの内容が表示されます。これは、新しいユーザーが sudo 権限を持っており、リモートログインに使用できることを示します。(オプション)sudoers ファイルを変更します。sudoers ファイルでユーザーの特定の権限を追加します。
sudo visudo
userdel
コマンド
userdel コマンドは、ユーザーを削除するために使用します。
一般的なオプション
オプション | 説明 |
-r | ユーザーのホームディレクトリとホームディレクトリ内のファイルを削除します。 |
-f | ユーザーがまだログインしている場合でも、強制的にユーザーを削除します。 |
例
johnという名前のユーザーを削除します。ルートユーザーに切り替えて、
cat /etc/passwd | grep johnコマンドを実行し、john ユーザーのホームディレクトリをクエリします。次のコマンド出力が返されます。john:x:1001:1001::/home/john:/bin/bashjohnという名前のユーザーを削除し、ユーザーのホームディレクトリとホームディレクトリ内のファイルを保持します。userdel johnjohnという名前のユーザー、ユーザーのホームディレクトリ、およびホームディレクトリ内のファイルを削除します。userdel -r usernameユーザーを強制的に削除します。
userdel -f username
wheel
コマンド
wheel は、ユーザーがスーパーユーザーに切り替えることができる su コマンドへのアクセスを制御するユーザーグループです。ほとんどの場合、スーパーユーザーはルートユーザーです。
デフォルトでは、
wheelグループが存在します。wheel グループが存在しない場合は、sudo groupadd wheelコマンドを実行してグループを作成できます。デフォルトでは、一般ユーザーは su コマンドを実行し、正しいパスワードを入力してルートユーザーに切り替え、システムの管理と構成を実行できます。
システムのセキュリティを向上させるために、Linux の wheel グループを使用して、一般ユーザーがルートユーザーに切り替えるのを制限できます。ユーザーは、wheel グループのメンバーである場合にのみ、su コマンドを実行してルートユーザーに切り替えることができます。
例
ユーザーが wheel グループのメンバーであるかどうかを確認します。
groups usernameユーザーを wheel グループに追加します。
sudo usermod -aG wheel usernamevisudoコマンドを実行して、/etc/sudoersファイルを安全に編集します。%wheel ALL=(ALL) ALL行は、wheelグループのメンバーがsudoを使用してすべてのコマンドを実行できることを示します。wheelグループのメンバーがパスワードなしでsudoを使用できるようにするには、%wheel ALL=(ALL) ALL 行を次のように変更します。%wheel ALL=(ALL) NOPASSWD: ALL