OpenWindows ユーザーズガイド (上級編)

第 5 章 パスワード、プロセス、ディスク記憶装置

SunOS には、コマンド行からシステムに対して実行するコマンドが豊富にあります。この章では、パスワードの設定方法、マシン上で実行されているプロセスの表示方法、不要なプロセスの終了方法、使用中のディスク容量の表示方法について説明します。

パスワードの使い方

システムのセキュリティ保護のため、SunOS ではシステム用のパスワードを設定する必要があります。1 年に何度かパスワードを変更するようにすれば、アカウントに簡単にアクセスできるユーザを確実に 1 人だけに制限できます。自分のアカウントを許可なく使ったユーザがいるようであれば、即座にパスワードを変更してください。

パスワードは次の点を考慮して選択します。

パスワードの変更方法

各ユーザのパスワードを変更するには、passwd コマンドを使います。

$ passwd
Changing password for hankw on worker
Old password:
New password:
Retype new password:
$

  1. Old Password: というプロンプトが表示されたら、現在のパスワードを入力します。

    (現在、パスワードがアカウントに割り当てられていない場合は、Old Password: プロンプトは表示されません。) パスワードは画面上にエコー (表示) されません。そのため、パスワードを他のユーザに知られなくてすみます。

  2. New Password: というプロンプトが表示されたら、新たに設定するパスワードを入力します。

    このときも、入力したパスワードは画面上に表示されません。

  3. 最後に Retype new password: というプロンプトに対して、新しいパスワードをもう一度入力します。

    これは、意図したパスワードを正確に入力できたかどうかを確認するためです。

    New Password: に対して入力したのと同じパスワードを入力しないと、パスワードの変更は拒否され、Sorry という応答が返されます。何度もこのような状況になる場合は、システム管理者に問い合わせて新しいパスワードを設定してください。


    注 -

    6 文字未満のパスワードは使えません。また、新しいパスワードは古いパスワードと比較して 3 文字以上は異なっていなければなりません。


パスワードの有効期限を設定する

パスワードの有効期限を設定 (passwd コマンドのオプションを使うと設定できる) している場合、パスワードには最長有効期限のみ、または最長有効期限と最短有効期限の両方を持つものがあります。パスワードの有効期限は、システム管理者が設定します。

パスワードの満期日 (最長有効期限) に到達すると、パスワードを変更するようプロンプトが出力されます。このプロンプトはログイン時に出力され、次のようなメッセージが表示されます。

Your password has expired. Choose a new one.

次に、自動的に passwd プログラムが実行され、新しいパスワードを入力するよう要求されます。

また、たとえば、パスワードの最短有効期限が 2 週間と設定されている場合、その期間が経過する前にパスワードを変更しようとすると、次のような警告が表示されます。

Sorry, less than 2 weeks since the last change.

パスワードの有効期限の設定に関する情報を参照する場合は、passwd コマンドの -s オプションを使います。

$ passwd -s
username ps 2-14-92 1 90 7

上記の表示内容は、左から順に、ユーザ名、パスワードの状態 ( デフォルトは PS )、現在のパスワードが設定された日付、最短有効期限 ( パスワードを変更できるようになるまでの時間 )、最長有効期限 ( パスワードが無効になるまでの時間 )、パスワードの有効期限が経過する前の警告期間となっています。時間はすべて日単位で示しています。

passwd と、パスワードの有効期限の設定についての詳細は、『SunOS リファレンスマニュアル (1): ユーザーコマンド』を参照してください。

プロセスと PID

各コマンドがシステムによって解釈されると、一意のプロセス識別番号 (PID) を持つ独立したプロセスが生成され、そのコマンドが実行されます。システムは PID を使って各プロセスの現在の状態を追跡します。

現在実行されているコマンドの表示 (ps)

現在実行されているプロセスを調べるには、ps コマンドを使います。ps コマンドでは、ユーザが所有する各プロセスのプロセス識別番号 (PID の下に表示される) の他に、プロセスが起動された端末 (TTY)、現在までにプロセスが使った CPU 時間 (TIME)、プロセスが実行しているコマンド (COMMAND) などが表示されます。

ps コマンドに -l オプションを追加すると、現在実行されているプロセスに関するさまざまな詳細情報 (S の下に表示される各プロセスの状態など) が表示されます。プロセスの状態を示すコードの意味は次のとおりです。

ps コマンドの実行中でもプロセスの状態は変化します。ps で取得できる情報は特定時点の実行状態のスナップショットのため、その出力結果は、ps を入力した直後のほんの僅かの時間にしか適用できません。したがって、状態情報が表示された時点で、すでに変わっている可能性もあります。

ps コマンドにはこの節で説明している以外に多数のオプションがあります。詳細については、『SunOS リファレンスマニュアル (1): ユーザーコマンド』を参照してください。

プロセスの終了方法 (kill)

kill コマンドを使うと、不要になったコマンドプロセスを直接終了できます。このコマンドは、実行に長時間かかるコマンドを誤って入力した場合に特に便利です。

プロセスを終了するには、次の手順を実行します。

  1. ps コマンドを入力して終了したいプロセスの PID を検索します。

  2. PID を指定して kill コマンドを入力します。

次の例は、上記の手順を示しています。

$ ps
PID    TTY    TIME    COMMAND
1291   co     0:12    -bin/csh (csh)
3250   p0     0:00    ps
1286   p1     0:05    -bin/csh (csh)
3248   p1     0:05    vi commands
$ kill 1291
[1}  Terminated       -bin/csh/ (csh)
$

ps の出力結果を grep コマンドを通じてパイプすると、適切な PID を簡単に見つけることができます。

$ ps | grep commandname

commandname は、終了させたいコマンドプロセス名です。

プロセスを強制終了する場合は、次に示すように ps コマンドの -9 オプションを使えます。

$ kill -9 PID#

PID# は、強制終了させたいプロセスのプロセス識別番号です。

ディスク記憶容量の管理

ディスク容量は限られた資源であるため、現在使用中のディスク容量を追跡管理することを強くお勧めします。

ディスクの使用状況を表示する (df -k)

df -k を入力すると、システムにマウントされている (直接アクセスできる) 各ディスクの全容量、利用可能な容量、使用中の割合が表示されます。

$ df -k

ファイルシステムの全容量の 90 % 以上が使用中になった場合は、不要なファイルを削除する必要があります。このためには、不要なファイルを空きの多いディスクやテープに移動したり (cp でコピーしてから rm で削除する)、あるいはそれらのファイルを単に削除したりします。これらの作業は、自分で所有しているファイルについてだけ実行します。

ディレクトリの使用状況を表示する (du)

ディレクトリとそのサブディレクトリの使用状況を 512 バイト単位のブロック数で表示するには、du コマンドを使います。

du コマンドは、各サブディレクトリ内でのディスク使用状況を表示します。ファイルシステム内のサブディレクトリのリストを作成する場合は、cd コマンドでそのファイルシステムに関連するパスに移動し、次のパイプラインを実行します。

$ du | sort -r -n

sort コマンドの -r (reverse、逆順にソート) オプションと -n (numeric、数字の順にソート) オプションを使った上記のパイプラインによって、各ディレクトリがサイズの大きい順に表示されます。各ディレクトリにあるファイルの大きさ (バイト単位) と更新日付を調べるには、ls -l を実行します。古いファイルや 100 キロバイト以上のテキストファイルは、ディスク容量不足の原因となることがよくあります。