FreeBSD ハンドブック : シリアル通信 : ダイアルインサービス : ディバイス スペシャル ファイル
Previous: Kernel の設定
Next: 設定ファイル

13.3.4. ディバイス スペシャル ファイル

kernel に組み込まれているほとんどのディバイスは, /dev ディレ クトリにある, 「ディバイス スペシャル ファイル」を介してアクセスされ ます. sio ディバイスの場合は, 着信用の /dev/ttyd? およ び, 発信用の /dev/cua0? が利用されます. さらに, FreeBSD の 1.1.5 以降では, 初期化ディバイス (/dev/ttyi?/dev/cuai0?)およびロッキング ディバイス (/dev/ttyld?/dev/cual0?) も合わせて利用されます. 初期化ディバイスは, 通信 ポートがオープンされる度に, そのポートの初期設定を行うために使われます. たとえば, CTS/RTS によるフロー制御を行うモデムが接続されてい る場合の crtscts などのパラメータの初期化が行われます. ロッキング ディバイスは, ポートの設定をロックし, 他のユーザやプログラムにこれらを 変更されることのないようにするために利用されます. 通信ポートの設定, 初 期化とロックおよび設定の変更に関しては, それぞれ termios(4), sio(4)stty(1) のマニュアルをご覧ください.

13.3.4.1. ディバイス スペシャル ファイルの作成

ディバイス スペシャル ファイルの管理は, ディレクトリ /dev にあるシェル スクリプト MAKEDEV によって行います. (FreeBSD 1.1.5 の MAKEDEV(8) のマニュアルの COM ポートに関する記述は, かなりいい加減なので無視してください. ) MAKEDEV を使って, COM1: (ポート 0) をダイアルアップのポートとして利用するためのディ バイス スペシャル ファイルを作るには, /devcd して から, MAKEDEV ttyd0 と実行してください. 同様に, MAKEDEV ttyd1 とすることで, COM2: (ポート 1) 用のディバイス スペシャル ファイル を作成することができます.

MAKEDEV は, /dev/ttyd? のディバイス ファイルだけでなく, /dev/cua0? (および FreeBSD 1.1.5 以降では総ての初期化ディバイ スとロッキング ディバイスのスペシャル ファイル) も作成します. さらに, もしシリアル端末用のスペシャル ファイル/dev/tty0? が存在すれ ば, それらの削除も行います.

ディバイス スペシャル ファイルの作成後, これらのファイルのパーミション が適切に設定されていて, これらのディバイスを利用してもよいユーザのみが 読み書きできるようになっていることを確認してください. (特に /dev/cua* のパーミションには注意を払ってください. ) この確認 を怠ると, 一般のユーザがあなたのモデムを使うことができるようなことにな りかねません. デフォルトの /dev/cua* のパーミションは, 以下の ようになっていて, たいていの場合適切なものだと思います.

crw-rw----    1 uucp     dialer    28, 129 Feb 15 14:38 /dev/cua01
crw-rw----    1 uucp     dialer    28, 161 Feb 15 14:38 /dev/cuai01
crw-rw----    1 uucp     dialer    28, 193 Feb 15 14:38 /dev/cual01

上の設定では, ユーザ uucp と, グループ dialer に属するユーザ が発信用のディバイスを利用できます.


FreeBSD ハンドブック : シリアル通信 : ダイアルインサービス : ディバイス スペシャル ファイル
Previous: Kernel の設定
Next: 設定ファイル