タイトル大津真=XはUNIXでサーバで》SSHの使い方(3)カテゴリー暗合化, ネットワーク管理, 大津真=XはUNIXでサーバで
作成日2001/10/25 17:0:4作成者新居雅行
――――付録
■■デーモン
システムに常駐しバックグラウンドでもくもくと仕事をこなすプログラムをデーモンと呼ぶ。デーモンには、sshdやhttpdのようなネットワークサービスのほかに、指定した日時に指定したプログラムを実行するcron、ディスクのオートマウントを行うautodiskmountなどがある。

■■psコマンド
プロセスリストを表示する。すべてのプロセスを表示するには「ax」オプションを指定する。

■■grep
指定した文字列(パターン)を含む行を表示する。基本的な書式は次の通り

grep 文字列 ファイル

■■パイプ
パイプとはコマンド同士の入出力を接続する機能。
たとえば、
ps ax | grep sshd〈return〉
とすると、psコマンドの標準出力がgrepコマンドの標準入力に接続され、プロセスリストの中で「sshd」を含む行が表示される。

■■kill
killコマンドはプロセスにシグナルと呼ばれるメッセージを送る。単に

kill プロセス番号

とするとTERMシグナルが送られプロセスが停止する。なお、暴走状態のプロセスを殺したい場合にはKILLシグナルを送る。

kill -KILL プロセス番号

また、多くのサーバプロセスではHUPシグナルを送ることにより設定ファイルを再読込させることができる。たとえば、SSHサーバの設定ファイル/etc/sshd_configを修正した場合には、次のようにしてsshdのプロセス番号を調べてHUPシグナルを送れば設定が反映される。

% ps ax | grep sshd 〈return〉
428 ?? Ss 0:00.90 /usr/sbin/sshd ←428がsshdのプロセス番号
1016 std R+ 0:00.00 grep sshd
% sudo kill -HUP 428 〈return〉

■■動作中のデーモンのプロセス番号
動作中のデーモンの多くは、プロセス番号を/var/runディレクトリに保存している。

% ls /var/run/ 〈return〉
autodiskmount.pid inetd.pid niconfig_local.xml proxy syslog
automount.pid lookupd.pid ntp.drift resolv.conf syslog.pid
cron.pid mountd.pid ntpd.pid sshd.pid utmp
httpd.pid netinfo_local.pid pppconfd sudo

% cat /var/run/sshd.pid 〈return〉
1886 ←プロセス番号

したがって、sshdに設定ファイルを読み込ませたい場合には次のようにしてもよい。

% sudo kill -HUP `cat /var/run/sshd.pid` 〈return〉

「cat /var/run/sshd.pid」がバッククォーテーション「`」で囲まれていることに注意しよう。これはシェルのコマンド置換と呼ばれる機能で、バッククォーテーション「`」で囲まれた部分が、そのコマンド実行結果に置き換わる。つまり「 `cat /var/run/sshd.pid`」が、/var/run/sshd.pidファイルの中身、つまりsshdのプロセス番号に置き換わるわけだ。

■■スタントアローンサーバとスーパーサーバ
Mac OS Xでは、httpd(Apache)やsshd(OpenSSH)など多くのネットワークサーバを動作させることが可能だ。サーバは起動方法により2種類に分けられる。1つはhttpdやsshdのように独自に起動するもの、もう一つはスーパーサーバinetdにより管理されるタイプだ。ftpdやtelnetdなどは後者になる。スーパーサーバinetdはポートを監視し接続要求があった時点でサーバを起動する。つまり必要のないプロセスを常時立ち上げておく必要がないためリソースの節約ができるわけだ。inetdの設定ファイルは/etc/inetd.confになる。初期状態ではtelnetの行がコメントになっているが「#」を外せばtelnetによるリモートログインが可能になる。またinetdから起動されるプロセスのアクセス制御はtcp_wrappersが担当する。/etc/hosts.allow、/etc/hosts.denyの2つのファイルを使用して、システム全体、あるいはサービス単位で接続を許可するホスト、しないホストを設定できる。
[大津真]
関連リンクhttp://www.o2-m.com/