Solaris 資料一覧
SAF(Servise Access Facility)の動作シーケンス
2007/11/27更新
対応バージョン: 8
SAFは以下の順番で動作し、対象となるポートを監視する。
1. initプロセスが/etc/inittabの記述に従ってSAFのマスタプロセスであるsac(service access controler)を起動する。
sc:234:respawn:/usr/lib/saf/sac -t 300
2. sacが/etc/saf/_sactabの記述に従ってポートモニタを起動する。
# VERSION=1 zsmon:ttymon::0:/usr/lib/saf/ttymon #
ポートモニタは監視するポートの種類毎に1つ起動される。
ポートにはシリアルポート(ttymonが管理)とネットワークポート(listenが管理)があるが、後者は通常inetdが管理するため上記の_sactabのように事実上ttymonのみが動作する。
# ps -ef|grep saf root 336 1 ... /usr/lib/saf/sac -t 300 root 8771 336 ... /usr/lib/saf/ttymon # sacadm -l PMTAG PMTYPE FLGS RCNT STATUS COMMAND zsmon ttymon - 0 ENABLED /usr/lib/saf/ttymon #
3. ttymonが/etc/saf/<ポートモニタタグ>/_pmtabの記述に従って必要なポートを監視する。
# VERSION=1 ttya:u:root:reserved:reserved:reserved:/dev/term/a:I::/usr/bin/login::9600:ldterm,ttcompat:ttya login\: ::tvi925:y:# ttyb:u:root:reserved:reserved:reserved:/dev/term/b:I::/usr/bin/login::9600:ldterm,ttcompat:ttyb login\: ::tvi925:y:#
SunのマシンにはRS-232Cポートが通常2個備わっているので以下のように2つのポートが監視対象となる。
# pmadm -l PMTAG PMTYPE SVCTAG FLGS ID <PMSPECIFIC> zsmon ttymon ttya u root /dev/term/a I - /usr/bin/login - 9600 ldterm,ttcompat ttya login: - tvi925 y # zsmon ttymon ttyb u root /dev/term/b I - /usr/bin/login - 9600 ldterm,ttcompat ttyb login: - tvi925 y #
4. /etc/inittabの記述に従ってinitプロセスがコンソール監視用プロセスとしてttymonを起動する。
co:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: " \ -T sun -d /dev/console -l console -m ldterm,ttcompat
5. 4.によりコンソールからのログインサービスが、inetdによりネットワークからのログインサービスがそれぞれ開始される。
関連資料・記事