mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-12-30 15:38:06 +01:00
a785ce7ee3
all $Id$ changed to $FreeBSD$.
528 lines
22 KiB
Plaintext
528 lines
22 KiB
Plaintext
<!-- $FreeBSD$ -->
|
|
<!-- The FreeBSD Japanese Documentation Project -->
|
|
<!-- Original revision: 1.6 -->
|
|
|
|
<!-- This is an SGML document in the linuxdoc DTD describing
|
|
hardwired terminals with FreeBSD. By Sean Kelly, (c) 1996.
|
|
|
|
|
|
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
|
|
|
|
<linuxdoc>
|
|
<article>
|
|
<title> 端末
|
|
<author> Sean Kelly <tt/kelly@fsl.noaa.gov/
|
|
<date> 24 June 1996, (c) 1996
|
|
|
|
<abstract> このドキュメントでは, FreeBSD が動作しているコンピュー
|
|
タに接続されたシリアル端末の利用について説明します. 配線も含めたシリア
|
|
ル端末のハードウェアの設定, FreeBSD に接続されたシリアル端末に対してロ
|
|
グイン セッションを可能にするための設定方法, シリアル端末関連のト
|
|
ラブルシューティングについてまとめています.
|
|
</abstract>
|
|
|
|
<toc>
|
|
-->
|
|
|
|
<sect><heading>シリアル端末<label id="term"></heading>
|
|
|
|
<p><em>原作: &a.kelly;<newline>28 July 1996</em>
|
|
<p><em>訳: &a.max;</em>
|
|
|
|
シリアル端末を利用することで, コンピュータのコンソールのそばにいないと
|
|
きや, 手近にネットワーク接続されているコンピュータがないときでも,
|
|
FreeBSD の機能を便利に, かつ安価に利用することができます. ここでは,
|
|
FreeBSD にシリアル端末を接続する方法を解説します.
|
|
|
|
<sect1><heading>端末の種類と利用方法<label
|
|
id="term:uses"></heading>
|
|
|
|
<p>もともと Unix システムにはコンソールがありませんでした. ユー
|
|
ザはコンピュータのシリアル ポートに接続された端末からログインして
|
|
プログラムを利用していました. ちょうどモデムと通信ソフトを使ってリモート
|
|
のコンピュータにログインし, テキスト ベースのプログラムを利用するのと
|
|
よく似ています.
|
|
|
|
最近の PC は, 高品質の画像を表示できるコンソールを搭載していま
|
|
すが, ほとんどすべての Unix 系 OS には未だにシリアル ポートを使ってログ
|
|
インするための機能があり, FreeBSD でもこの機能がサポートされています.
|
|
現在使用されていないシリアル ポートに端末を接続することでシステムに
|
|
ログインし, 通常はコンソールや Xウィンドウ システムの <tt/xterm/ のウィ
|
|
ンドウ上で起動しているテキスト ベースのプログラムであれば何
|
|
でも利用することができます.
|
|
|
|
職場での利用ということで考えるならば, FreeBSDが動作しているコンピュー
|
|
タに接続された何台ものシリアル端末を各社員の机に配置するというようなこ
|
|
とが可能です. また, 家庭での利用方法としては, 余っている古い IBM PC や
|
|
Macintosh を FreeBSD が動いているパワフルなコンピュータの端末として利
|
|
用することができます. 普通ならシングルユーザのコンピュータを, パワフ
|
|
ルなマルチユーザのシステムに変えることができるのです.
|
|
|
|
FreeBSD では, 以下に挙げる3種類の端末が利用できます.
|
|
|
|
<itemize>
|
|
<item><ref name="ダム (dumb) 端末" id="term:dumb">
|
|
<item><ref name="PCを利用した端末" id="term:pcs">
|
|
<item><ref name="X 端末" id="term:x">
|
|
</itemize>
|
|
|
|
以下は, それぞれについての解説です.
|
|
|
|
<sect2><heading>ダム端末<label id="term:dumb"></heading>
|
|
|
|
<p>ダム端末は, シリアルライン経由でのコンピュータとの接続専
|
|
用のハードウェアです. ダム端末は, テキストの送受信および表示ができる
|
|
程度の計算能力しかもっていないので, ``dumb'' (間抜け) というように呼ば
|
|
れています. この端末上でプログラムを実行することはできません. テキスト
|
|
エディタ, コンパイラ, E-mail, ゲームなどなどのプログラムを実行するのは,
|
|
ダム端末を接続しているコンピュータの方です.
|
|
|
|
Digital Equipment社の VT-100 や, Wyse社の WY-75 を初めとして,
|
|
多くのメーカが何百種類もの ダム端末を作っています. ほとんどどんな種
|
|
類のダム端末でも FreeBSD に接続して使用できます. さらに, 高性能の端
|
|
末の中には画像を取り扱えるものもありますが, 限られた数のソフトウェア
|
|
パッケージしかこういった機能には対応していません.
|
|
|
|
ダム端末は, X ウィンドウ システムで提供されるようなグラ
|
|
フィックアプリケーションを必要としない職場で広く用いられています.
|
|
|
|
<sect2><heading>PC を端末として利用する<label
|
|
id="term:pcs"></heading>
|
|
|
|
<p><ref name="ダム端末" id="term:dumb"> がテキストの表示およ
|
|
び送受信の機能をそなえただけのものならば, 言うまでもなく, どんなPC
|
|
もダム端末になり得ます. 必要なものは適切なケーブルと, そのPCの上
|
|
で動作する<em/端末エミュレーション/ を行うソフトウェアのみです.
|
|
|
|
このような環境は, 家庭においてよく利用されます. たとえば, あなたの同居
|
|
人が FreeBSD のコンソールを専有している時などに, あまりパワーのないコ
|
|
ンピュータを FreeBSD システムにシリアル端末として接続し, その端末上で
|
|
テキストだけを用いる作業をおこなうことができます.
|
|
|
|
<sect2><heading>X 端末<label id="term:x"></heading>
|
|
|
|
<p>X 端末は, 既存のものの中で最も洗練された種類の端末といえ
|
|
ます. X 端末は, たいていの場合シリアル ポートで゜はなく, イーサネッ
|
|
トのようなネットワークを利用した接続をおこないます. また, アプリケーション
|
|
の利用においても, テキストベースのものだけでなく, X アプリケーション
|
|
の利用が可能です.
|
|
|
|
ここでは, 参考までに 端末について紹介しただけで, X 端
|
|
末の設定や利用についての解説は<em/おこないません/.
|
|
|
|
<sect1><heading>ケーブルとポート<label
|
|
id="term:cables-ports"></heading>
|
|
|
|
<p>シリアル端末を FreeBSD システムに接続するためには, 適切なケー
|
|
ブルと, 端末を接続するためのシリアルポートが必要です. ここでは, これ
|
|
らについて説明します. もし既にあなたの利用したい端末と, その端末
|
|
を接続するためのケーブルについてよく理解していれば, <ref name="設定"
|
|
id="term:config"> の章まで読み飛ばしてください.
|
|
|
|
<sect2><heading>ケーブル<label id="term:cables"></heading>
|
|
|
|
<p>端末の接続は, シリアルポートを利用します. そこで, 端末を
|
|
FreeBSD システムに接続するためには, シリアルケーブル (RS-232C ケーブ
|
|
ルとも呼ばれています) が必要となります.
|
|
|
|
シリアルケーブルには2種類のケーブルがあります. どちらの種類の
|
|
ケーブルを使わなければいけないかは, どんな端末を接続したいかによります.
|
|
|
|
<itemize>
|
|
<item>もし, PC を端末として利用したい場合は, <ref
|
|
name="ヌルモデム" id="term:null"> ケーブル (リバースケーブルもしくは
|
|
クロスケーブルと呼ばれることもしばしばあります) を使用してください.
|
|
ヌルモデムケーブルは, コンピュータ同士や端末同士を接続するために用い
|
|
られるケーブルです.
|
|
|
|
<item>もし, 本物の端末を接続するのであれば, その端末につい
|
|
てきたドキュメントからどのようなケーブルを使うべきか調べてください. も
|
|
しドキュメントがない場合は, まず <ref name="ヌルモデム"
|
|
id="term:null"> ケーブルを試してみて, うまくいかない場合は <ref name="
|
|
スタンダード" id="term:std"> ケーブル (しばしばストレートケーブルと呼
|
|
ばれます) を試してみてください.
|
|
</itemize>
|
|
|
|
また, 端末側と FreeBSD 側の <em/両方の/ シリア ポート
|
|
の形状が, あなたが使用しようとしているケーブルについているコネクタの形
|
|
状と一致していなければなりません.
|
|
|
|
<sect3><heading>ヌルモデムケーブル<label id="term:null"></heading>
|
|
|
|
<p>ヌルモデムケーブル (またはリバースケーブルあるいはクロ
|
|
スケーブル) は, たとえば ``signal ground'' 信号のように, いくつかの信
|
|
号はそのまま通しますが, 他の信号は途中で入れ替えて通します. たとえば,
|
|
``send data'' 信号のピンは, 反対側のコネクタの ``receive data'' 信号の
|
|
ピンと繋がっています.
|
|
|
|
自分で使うケーブルは自分で作りたいということであれば, 以下にター
|
|
ミナルを接続する際に推奨されるヌルモデムケーブルの結線を示しておきま
|
|
す. この表では, RS-232C の信号線の名前と, DB-25 コネクタ上のピンの番
|
|
号を示しています.
|
|
<tscreen><verb>
|
|
Signal Pin# Pin# Signal
|
|
TxD 2 ----------------------- 3 RxD
|
|
RxD 3 ----------------------- 2 TxD
|
|
DTR 20 ----------------------- 6 DSR
|
|
DSR 6 ----------------------- 20 DTR
|
|
SG 7 ----------------------- 7 SG
|
|
DCD 8 ----------------------+ 4 RTS*
|
|
*RTS 4 + + 5 CTS*
|
|
*CTS 5 +---------------------- 8 DCD
|
|
|
|
* まず, コネクタ内部でピン4を5に接続し, そして逆側のコネクタのピン8と接
|
|
続します.
|
|
</verb></tscreen>
|
|
|
|
<sect3><heading>スタンダード RS-232C ケーブル<label
|
|
id="term:std"></heading>
|
|
|
|
<p>スタンダードシリアルケーブル (またはストレートケーブル)
|
|
の場合は, すべての RS-232C 信号をそのまま通します. つまり, 片方の ``send
|
|
data'' 信号のピンは, 逆側の ``send data'' 信号のピンと繋がっています.
|
|
モデムを FreeBSD に接続するときや, 一部の端末を接続するときにこのタイプの
|
|
ケーブルを使用します.
|
|
|
|
<sect2><heading>ポート<label id="term:ports"></heading>
|
|
|
|
<p>シリアルポートは, FreeBSDが動作しているホスト コンピュータと端
|
|
末の間でデータのやりとりを行うために用いるデバイスです. ここでは,
|
|
現在存在するポートの種類と FreeBSD でのポートのアクセス方法について解
|
|
説します.
|
|
|
|
<sect3><heading>ポートの種類<label
|
|
id="term:portkinds"></heading>
|
|
|
|
<p>シリアルポートには何種類かのものがあります. ケーブルを購
|
|
入したり自作したりする前に, そのケーブルのコネクタの形状が端末および FreeBSD
|
|
システムのポートの形状と一致していることを確認してください.
|
|
|
|
ほとんどの端末は DB25 ポートを搭載しています. FreeBSDが動作しているも
|
|
のを含めて, PCは DB25 または DB9 ポートを搭載しています. マルチポート
|
|
のシリアルカードの場合は, RJ-12 や RJ-45 のポートを搭載しているかもし
|
|
れません.
|
|
|
|
利用されているポートの種類に関しては, ハードウェアについてきたドキュメ
|
|
ントを参照してください. また, 多くの場合, ポートの形状から判断すること
|
|
もできるでしょう.
|
|
|
|
<sect3><heading>ポートの名前<label
|
|
id="term:portnames"></heading>
|
|
|
|
<p>FreeBSDでは, <tt>/dev</tt> ディレクトリ内のエントリを介
|
|
してシリアルポートへのアクセスがおこなわれます. 2種類の異なったエン
|
|
トリがあります.
|
|
<itemize>
|
|
<item>着信用のポートの名前は, <tt>/dev/ttyd<it/x/</tt>
|
|
(<it/x/ は 0から始まるポート番号) となっています. 一般に端末の接続には
|
|
着信用ポートを用います. 着信用のポートでは, シリアルラインのデータ
|
|
キャリア検出 (DCD) 信号がオンになっている必要があります.
|
|
|
|
<item>発信用のポートの名前は, <tt>/dev/cuaa<it/x/</tt>
|
|
となっています. 発信用のポートは普通モデムの接続に用い, 端末の接続には
|
|
利用しません. ただ, ケーブルまたは端末がキャリア検出信号を使えない
|
|
タイプのものの場合は, 発信用のポートを使うとよいでしょう.
|
|
</itemize>
|
|
|
|
詳しくは, sio(4) のマニュアルをご覧ください.
|
|
|
|
たとえば, 端末を一つ目のシリアルポート (DOS でいうところの COM1) に接
|
|
続したとすると, <tt>/dev/ttyd0</tt> がこの端末を指すことになります.
|
|
また, 二つ目のシリアルポート (COM2) ならば <tt>/dev/ttyd1</tt> となり,
|
|
以下この形式のデバイスエントリを使います.
|
|
|
|
各シリアルポート, 特にマルチポートのシリアルカードを利用する
|
|
ために, kernel の設定をおこなう必要がある場合がありますので, 注意してくだ
|
|
さい. 詳しくは, <ref name="FreeBSDカーネルのコンフィグレーション"
|
|
id="kernelconfig"> をご覧ください.
|
|
|
|
<sect1><heading>設定<label id="term:config"></heading>
|
|
|
|
<p>ここでは, 端末からのログインを可能にするために必要な FreeBSD
|
|
側の設定について解説します. 既に端末を接続するポートが利用できるように
|
|
kernel の設定をおこない, 端末が接続されているものと考えて, 解説を進め
|
|
ます.
|
|
|
|
簡単に言えば, プロセス管理や初期化をおこなっている <tt/init/ プロセス
|
|
に対して, ログイン名を読み込み <tt/login/ プログラムを起動している
|
|
<tt/getty/ を実行するように指示します.
|
|
|
|
これをおこなうには, <tt>/etc/ttys</tt> の内容を編集する必要があります.
|
|
まず, <tt/su/ コマンドで root になって, <tt>/etc/ttys</tt> に以下の
|
|
変更を加えてください.
|
|
<enum>
|
|
<item>端末を接続するポートの <tt>/dev</tt> のエントリが含ま
|
|
れている行がまだ存在しなければ, これを <tt>/etc/ttys</tt> に追加してく
|
|
ださい.
|
|
|
|
<item><tt>/usr/libexec/getty</tt> が対象となるポートに対して
|
|
実行されるように指定してください. また, <tt>/etc/gettytab</tt> ファイ
|
|
ル内の適切な <tt/getty/ タイプのエントリを指定してください.
|
|
|
|
<item>デフォルトのターミナルタイプを指定してください.
|
|
|
|
<item>対象となるポートを ``on'' に設定してください.
|
|
|
|
<item>そのポートが ``secure'' であるかどうかを指定してくださ
|
|
い.
|
|
|
|
<item><tt/init/ に <tt>/etc/ttys</tt> を読み込みなおさせてく
|
|
ださい.
|
|
</enum>
|
|
|
|
また, 必要に応じて <tt>/etc/gettytab</tt> を変更し, 上の 2で使用する
|
|
<tt/getty/ のエントリを追加してください. このドキュメントではこの方
|
|
法については特に解説しませんので, gettytab(5) および getty(8) のマニュ
|
|
アルをご覧ください.
|
|
|
|
以下では, 上のステップについて詳しく解説します. 実例を用いて, 何をす
|
|
べきかを解説していきます. Wyse-50 と, 古い IBM の 286 マシン上で通信
|
|
ソフト Procomm を使って VT-100 エミュレーションをおこなっているものを端
|
|
末の例として紹介します. また, Wyse は 2番目のポートに, 286マシンは 6
|
|
番目のポート (マルチポートのシリアルカード上のポート) に接続します.
|
|
|
|
<tt>/etc/ttys</tt> について, より詳しくは, ttys(5) のマニュアルをご覧
|
|
ください.
|
|
|
|
<sect2><heading> <tt>/etc/ttys</tt> へのエントリの追加<label
|
|
id="term:etcttys"></heading>
|
|
<p>既にエントリがある場合を除いて, まず初めに
|
|
<tt>/etc/ttys</tt> にエントリを追加しなければいけません.
|
|
|
|
<tt>/etc/ttys</tt> には, FreeBSDシステム上のログインを許可するすべての
|
|
ポートを記述します. たとえば, 一つ目の仮想コンソール <tt/ttyv0/ のエン
|
|
トリもこのファイルにあります. このエントリのおかげで, コンソールからの
|
|
ログインが可能になっています. このファイルには, 他の仮想コンソール, シ
|
|
リアルポートおよび仮想端末のエントリも含まれています. 端末を接続する
|
|
場合は, そのポートの <tt>/dev</tt> のエントリを, <tt>/dev</tt> の部分
|
|
を省略して記述します.
|
|
|
|
FreeBSD のインストール当初の状態では, <tt/ttyd0/ から <tt/ttyd3/ までの,
|
|
初めの四つのシリアルポートのエントリが <tt>/etc/ttys</tt> に記述され
|
|
ています. これらのポートのいずれかに端末を接続する場合は, 新たなエント
|
|
リを追加する必要はありません.
|
|
|
|
ここで紹介している例では, 既にファイルにエントリが存在する 2番目のシリ
|
|
アルポート, <tt/ttyd0/ に Wyse-50 を接続しています. 一方, 6番目のシ
|
|
リアルポートに接続する 286マシン用のエントリは, 新たに追加してやらな
|
|
ければなりません. 以下に, エントリを追加した後の <tt>/etc/ttys</tt> か
|
|
ら抜粋して示します.
|
|
<tscreen><verb>
|
|
ttyd1 "/usr/libexec/getty std.9600" unknown off secure
|
|
ttyd5
|
|
</verb></tscreen>
|
|
|
|
<sect2><heading><tt/getty/ タイプの指定<label
|
|
id="term:getty"></heading>
|
|
<p>次に, 端末からのログインを処理するプログラムの指定をおこな
|
|
います. FreeBSDでは, 標準的には <tt>/usr/libexec/getty</tt> をこの目的
|
|
で利用しています. <tt/login:/ プロンプトを送り出しているのは, このプロ
|
|
グラムです.
|
|
|
|
<tt/getty/ プログラムは, コマンドラインパラメータとして,
|
|
<em/<tt/getty/ タイプ/ をとります. ただし, このパラメータは必須ではあ
|
|
りません. <tt/getty/ タイプは, ボーレートやパリティといった, 接続され
|
|
た端末の特徴を表すものです. <tt/getty/ プログラムは, 与えられた
|
|
<tt/getty/ タイプに対応したこれらの特徴を <tt>/etc/gettytab</tt> から
|
|
読み込みます.
|
|
|
|
ファイル <tt>/etc/gettytab</tt> には, 新旧の端末に関する多数のエントリ
|
|
が記述されています. ほとんどの場合, <tt/std/ という文字列で始まる名前
|
|
のエントリを使えば, 接続された端末に対してログインセッションを提供す
|
|
ることができます. これらのエントリを利用した場合, パリティは無視されま
|
|
す. 110 bps から 115200 bps までのボーレートに対応した <tt/std/ のエン
|
|
トリがあります. 当然, 新たなエントリを追加することも可能です.
|
|
gettytab(5) のマニュアルに, さらに詳しく解説されています.
|
|
|
|
<tt>/etc/ttys</tt> の <tt/getty/ タイプの設定をする際は, 端末側の通信
|
|
パラメータの設定が, <tt/getty/ タイプのものと一致していることを確認し
|
|
てください.
|
|
|
|
紹介している実例では, Wyse50 はパリティなし 38400 bps で接続していま
|
|
す. また, 286 マシンの方は, パリティなし 19200 bps の接続です. 以下は,
|
|
この段階でのこの二つの端末に関する <tt>/etc/ttys</tt> の設定です.
|
|
<tscreen><verb>
|
|
ttyd1 "/usr/libexec/getty std.38400" unknown off secure
|
|
ttyd5 "/usr/libexec/getty std.19200"
|
|
</verb></tscreen>
|
|
ここで, 実行するプログラムを指定している 2番目のフィールドが, ダブルクォー
|
|
テーションに囲まれていることに注意してください. こうしないと,
|
|
<tt/getty/ のタイプの指定が, つぎのフィールドとして判断されてしまう可
|
|
能性があるので, 十分注意することが必要です.
|
|
|
|
<sect2><heading>デフォルトのターミナルタイプの指定<label
|
|
id="term:deftermtype"></heading>
|
|
|
|
<p><tt>/etc/ttys</tt> の 3番目のフィールドには, そのポートのター
|
|
ミナルタイプのデフォルトを指定します. ダイアルアップ用のポートの場合
|
|
は, ユーザがどのタイプの端末あるいは通信ソフトを利用してダイアルアップ
|
|
してくるかは分からないので, <tt/unknown/ や <tt/dialup/ を記述するの
|
|
が一般的です. 一方, 直結された端末の場合, ターミナルタイプが変わるこ
|
|
とはありませんから, このフィールドには実際のターミナルタイプを記述し
|
|
ます.
|
|
|
|
一般に, ユーザは <tt/.login/ や <tt/.profile/ などのファイル内で
|
|
<tt/tset/ コマンドを使って, ターミナルタイプをチェックし, 必要ならば
|
|
ターミナルタイプの入力を求めるプロンプトを表示するようにします. この
|
|
とき, <tt>/etc/ttys</tt> の中でターミナルタイプが指定されていれば,
|
|
このプロンプトを表示せずに先に進むことが可能です.
|
|
|
|
FreeBSD 上で, どのターミナルタイプを利用できるかは,
|
|
<tt>/usr/share/misc/termcap</tt> をご覧ください. このファイルには, お
|
|
よそ 600 のターミナルタイプが定義されています. 必要ならば, 新たなエン
|
|
トリを追加することも可能です. 詳しくは termcap(5) のマニュアルをご覧く
|
|
ださい.
|
|
|
|
紹介している例では, Wyse-50 のターミナルタイプは Wyse-50 です (もっ
|
|
とも他のタイプをエミュレートすることも可能ですが, ここでは Wyse-50 モー
|
|
ドで使用します. ). また, 286マシン上では Procomm が VT-100 エミュレー
|
|
ションをおこなうように設定されています. 以下が, まだ未完成の
|
|
<tt>/etc/ttys</tt> の関連部分です.
|
|
<tscreen><verb>
|
|
ttyd1 "/usr/libexec/getty std.38400" wy50 off secure
|
|
ttyd5 "/usr/libexec/getty std.19200" vt100
|
|
</verb></tscreen>
|
|
|
|
<sect2><heading>ポートを利用可能にする<label
|
|
id="term:enable"></heading>
|
|
<p><tt>/etc/ttys</tt> のつぎのフィールド, つまり 4番目のフィー
|
|
ルドは, そのポートをアクティブにするかどうかの設定です. このフィールド
|
|
に ``on'' を指定すると, <tt/init/ プロセスが2番目のフィールドに書かれ
|
|
たプログラム, <tt/getty/ を実行し, ログインのためのプロンプトを送り出
|
|
すようになります. このフィールドに ``off'' を記述すると, <tt/getty/
|
|
は起動されず, よってこのポートからのログインもできなくなります.
|
|
|
|
ということで, 当然このフィールドには <tt/on/ を指定します. 以下が
|
|
<tt>/etc/ttys</tt> です. それぞれのポートを <tt/on/ にしました.
|
|
<tscreen><verb>
|
|
ttyd1 "/usr/libexec/getty std.38400" wy50 on secure
|
|
ttyd5 "/usr/libexec/getty std.19200" vt100 on
|
|
</verb></tscreen>
|
|
|
|
|
|
<sect2><heading>``secure'' なポートの指定<label
|
|
id="term:secure"></heading>
|
|
<p>とうとう最後のフィールドの設定です. (実際にはここでは触れ
|
|
ませんが, オプショナルな<tt/window/ の設定のフィールドも存在するので,
|
|
ほぼ最後のフィールドといった方が正確かもしれません. ) 最後のフィールド
|
|
では, そのポートが安全かどうかを指定します.
|
|
|
|
ここで, 「安全」なポートとはどういうポートのことでしょう?
|
|
|
|
これは, root のアカウント (または, ユーザ ID が 0 のアカウント) がロ
|
|
グインしてもよいポートということです. 安全でないポートでは, root のロ
|
|
グインは許可されません.
|
|
|
|
では, どのように安全なポートとそうでないポートを使えばよいでしょう?
|
|
|
|
ポートを安全ではないとすることで, そのポートに接続された端末からは,
|
|
root のログインを禁止することができます. FreeBSDシステムの root のパス
|
|
ワードを知っている人は, まず一般ユーザとしてログインしなければなりませ
|
|
ん. スーパユーザの特権を得るためには, そのうえで <tt/su/ コマンドを
|
|
利用しなければいけません.
|
|
|
|
これによって, root アカウントが不正に利用された場合に, その経過を調査
|
|
する上で二つの記録を利用できるようになります. ユーザのログインと
|
|
<tt/su/ コマンドは, 共にシステムのログに記録を残します (また, ログイン
|
|
は wtmp にも記録を残します. ).
|
|
|
|
ポートを安全なものとして指定すると, その端末からの root のログインが可
|
|
能になります. root のパスワードを知っている人は, 単に root としてログ
|
|
インできます. この場合は, 当然ログインの記録や <tt/su/ コマンドのログ
|
|
は残りません.
|
|
|
|
では, どちらを使うべきでしょうか?
|
|
|
|
単純に ``insecure'' を使うのがよいでしょう. 公共の場所にある訳では<em/な
|
|
い/端末や, 鍵のかかったドアの内側にある端末<em/にも/ ``insecure'' を指
|
|
定する方がよいでしょう. スーパユーザの特権が必要な場合でも, ログイ
|
|
ンして <tt/su/ を実行するのは, ごく簡単なことなんですから.
|
|
|
|
以下に, ようやく完成した <tt>/etc/ttys</tt> のエントリに端末の場所を表
|
|
すコメントを追加したものを示します.
|
|
<tscreen><verb>
|
|
ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Kitchen
|
|
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom
|
|
</verb></tscreen>
|
|
|
|
<sect2><heading><tt/init/ にファイル <tt>/etc/ttys</tt> の再読み
|
|
込みをさせる<label id="term:hup">
|
|
</heading>
|
|
<p>FreeBSD をブートすると, 最初に起動されるプロセス, <tt/init/が
|
|
<tt>/etc/ttys</tt> を読み込んで, 記述されているプログラムを利用可能な
|
|
ポートに対して実行し, ログインプロンプトを送り出させます.
|
|
|
|
<tt>/etc/ttys</tt> の編集が終わった後, <tt/init/ に変更を認識させるた
|
|
めに, わざわざ FreeBSD をブートしなおしたくはないでしょう. このような
|
|
場合のために, <tt/init/ は, SIGHUP (hangup) シグナルを受信すると,
|
|
<tt>/etc/ttys</tt> を読み込みなおすようになっています.
|
|
|
|
<tt>/etc/ttys</tt> の変更を保存したら, 以下のようなコマンドを実行して,
|
|
<tt/init/ に対して SIGHUP を送信します.
|
|
<tscreen><verb>
|
|
kill -HUP 1
|
|
</verb></tscreen>
|
|
(<tt/init/ プロセスのプロセス ID は <em/常に/ 1です. )
|
|
|
|
すべての設定が正しくおこなわれ, すべてのケーブルがただしく接続されてい
|
|
て, かつ端末の電源が入っていれば, 端末にはログインプロンプトが表示され
|
|
ているはずです. これで, これらの端末からの最初のログインの準備が完了で
|
|
す!
|
|
|
|
<sect1><heading>トラブルシューティング<label
|
|
id="term:debug"></heading>
|
|
<p>細心の注意を払って設定をおこなっても, ときには端末の接続がう
|
|
まくいかない場合があるでしょう. 以下に, よく見られる問題とその解決方法
|
|
を示します.
|
|
|
|
<descrip>
|
|
<tag/ログインプロンプトが表示されない/
|
|
|
|
端末の電源が接続され, スイッチが入っていることを確認してください. もし,
|
|
PC を端末として利用している場合は, 通信ソフトが適切なシリアルポー
|
|
トを利用する設定になっているかどうか確かめてください.
|
|
|
|
ケーブルがしっかりと端末と FreeBSDが動作しているコンピュータの両方に接続され
|
|
ていることを確認してください. また, 正しい種類のケーブルを利用している
|
|
か確かめてください.
|
|
|
|
端末と FreeBSD の間の通信速度とパリティの設定が一致していることを確認
|
|
してください. 出力をモニタに表示するタイプの端末の場合は, モニタ
|
|
のコントラストと明るさの設定を確認してください. また, 出力が印刷
|
|
されるタイプの端末の場合は, 紙とインクが十分にあるかどうかを確かめてく
|
|
ださい.
|
|
|
|
<tt/getty/ が動いていて, 端末を認識していることを確認してください. 以
|
|
下のコマンドで動作中の <tt/getty/ プロセスのリストを得ることができます。
|
|
<tscreen><verb>
|
|
ps -axww|grep getty
|
|
</verb></tscreen>
|
|
その端末に対する <tt/getty/ の情報が表示されるはずです. たとえば, 以下
|
|
の表示例は, <tt/getty/ は 2番目のシリアルポート (<tt/ttyd1/) に対し
|
|
て <tt>/etc/gettytab</tt> 中の <tt/std.38400/ のエントリを使って動作し
|
|
ているということを示しています.
|
|
<tscreen><verb>
|
|
22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1
|
|
</verb></tscreen>
|
|
|
|
もし, <tt/getty/ プロセスが一つも動いていないようであれば,
|
|
<tt>/etc/ttys</tt> の中で, そのポートを利用可能にする設定をしたかどう
|
|
か確かめてください. また, <tt/kill -HUP 1/ を確実に実行してください.
|
|
|
|
<tag/ログインプロンプトの代わりにゴミが表示される/
|
|
|
|
端末と FreeBSDの間の通信速度およびパリティの設定が一致していることを確
|
|
かめてください. また, <tt/getty/ プロセスの情報を調べて, 適切な
|
|
<tt/getty/ のタイプが使用されていることを確認してください. 間違った
|
|
<tt/getty/ タイプが使用されている場合は, <tt>/etc/ttys</tt> を修正し
|
|
てから, <tt/kill -HUP 1/ を実行してください.
|
|
|
|
<tag/文字が重複して表示される, 入力したパスワードが表示され
|
|
る/
|
|
|
|
端末または通信ソフトの設定で, 「半二重 (half duplex)」あるいは「ローカ
|
|
ルエコー」となっているところを, 「全二重 (full duplex)」に変更してく
|
|
ださい.
|
|
|
|
</descrip>
|