コマンド - みる会図書館


検索対象: UNIX MAGAZINE 1999年3月号
64件見つかりました。

1. UNIX MAGAZINE 1999年3月号

UN Ⅸへの招待@) い場合、接続先のホストで kterm が /usr/X11R6/bin に置かれているのなら、 /usr/X11R6/bin/kterm と指定します。 糸寸パス名ではなく、 kterm オプション . のように、コマンド名の指定だけで起動できることもあ ります。ただし、選択した、、起動方式 " の種類や、ある いは接続先ホストのホーム・ディレクトリに置かれた . log ⅲ、 . cshrc 、 . profile といったログインファイルの記 述などによっては、かならすしも起動できるとはかぎりま せん。多少面倒でも、糸寸パス名で指定したほうがいいで しよう。 前回もとりあげましたが、この欄では特定の情報に置 き換えられる文字列が 2 つあります。 1 つは、、 %IP#%" で、ホストの IP アドレスとディスプレイ番号に自重加勺に 置き換えられます。 X のクライアントを起動するコマン ドでは、ディスプレイを指定する—display オフションの 引数でこの文字列カ硬えます。 /usr/X11R6/bin/kterm —display %IP#% X のクライアント・コマンドでは、ディスプレイ番号 を環竟変数 DISPLAY から得ることもできます。この機 能を利用するのなら、たとえば次のようにコマンドを入力 してもいいでしよう。 ・ sh 系のシェルを使っている場合 DISPLAY=%IP#% /usr/X11R6/bin/kterm ・ csh 系のシェルを使っている場合 /usr/X11R6/bin/kterm setenv DISPLAY %IP#% もう 1 つは、、 % T % " という文字列です。これは、、、接 続の種類 " の、、説明 " て指定した文字列に置き換えられま す。 X のクライアント・コマンドでは、ウインドウのタ イトル文字列を指定する一Ⅱ arne オプションが使えます。 この場合、次のように指定することかできます。 -name % 174 こで、、、コマンド " 欄に入力するうえでの制限と注意 事項を説明しておきます。 この欄に入力できるコマンド文字列は最大 256 文字で す。クライアント・コマンドの末尾には、、 & " を付け、バッ クグラウンドで実行するようにします ( さもないと、クラ イアントがすぐに終了してしまったり、ホスト接続の監 視機能を利用している場合はそのダイアログ・ポックス を閉じた時点で終了してしまいます ) 。さらに、 こで入 力した文字列は接続先ホストのログインシェルに送られ るので、シェルで有効なコマンド列を記述しなけれはな りません。注意が必要なのは、、、 ( ) " ( 丸括弧 ) の利用法 です。 Reflection X があらかじ是供しているクライア ント・ファイルやドキュメントなどでは、コマンドが次 のようにメけ舌弧で囲まれています。 ( /usr/X11R6/bin/xterm オプション ... ) これらの例を見ると、、、 Reflection X では、コマンド を丸括弧で囲んで指定しなけれはいけないのかしら " と思 うかもしれませんが、かならすしもそうではありません。 このメは舌弧は、 Reflection X ではなくシェル側で必と されるものです。したがって、たとえは xcl 。 ck だけを実 行するときは、次のどちらの言当ガ去でもクライアントを 実行することができます。 (/usr/X11R6/bin/xc10ck —display %IP#% & ) /usr/X11R6/bin/xc10ck —display %IP#% & 別の例を考えてみましよう。図 5 では、環竟変数 DIS ー PLAY を設定し、そのディスプレイに対して xlogo と xclock を実行しようとしています ( ューサーが csh を使 っている場合です ) 。 結論からいうと、この場合は xlogo しか実行できませ ん。なぜなら、図 5 に例示したコマンド行の 2 つのメ ・ " よりも タキャラクタ ( ; と & ) には優先頂位があり、 、、 & " カイ憂先されるからです ( 言岩田は、シェルのマニュアル などを参照してください ) 。したがって、最初に setenv と xlogo の 2 つのコマンドカ斗斤たなシェルによってバックグ ラウンドで実行さ続いて xcl 。 ck か夫行されます。し かし、 xclock を実行するシェルには工竟変数 DISPLAY の値が定されないので、、、ディスプレイをオープンでき UNIX MAGAZINE 1999.3

2. UNIX MAGAZINE 1999年3月号

連載 / UN Ⅸの玉手箱ー⑨ たとえは、さきはど増設した wdl の c パーティション を /project にマウントしたければ、図 10 のように実行 します ( もちろん、マウントボイントとなるディレクトリ はあらかじめ作っておかなければなりません ) 。いったん マウントしてしまえば、あとは既存のパーティションと同 様にファイルの読み書きができるようになります。 umount コマンド あるパーティションをアンマウントするには (/sbin/) umount コマンドを使います。いすれかのパーティショ ン 1 つをアンマウントする場合、引数として対応するテパ イスファイルかマウントボイントを指定します。 bash# umount /proj ect bash# ■ ただし、アンマウントしようとしているファイルシス テムが ( 吏用中だと、、 Device busy" というエラーメッセ ージか表示さファイルシステムはアンマウントされま せん。 bash# umount /proj ect bash# 1 加 ou Ⅱ t : /proj ect : Device busy bash# ■ アンマウントできない原因としては、以下のような状況 が考えられます。 ・アンマウントしようとするファイルシステム上のディレ クトリで作業しているユーサーがいる 11 ・アンマウントしようとするファイルシステムに置かれて いるプログラムカ躾行中である。 実行中のプログラムが、アンマウントしようとするファ イルシステムにあるデータファイルなどをオープンして いる。 mount や umount を実行するには、スーパーユーサー su コマンドを実行し になる必要があります。その際に たときのディレクトリがアンマウントしたいファイルシス テムにあった " というのはけっこうありがちなミスです。 また、 X ウインドウ・システムでたくさんのウインドウ を開いていると、アンマウントしようとしているファイル システムのディレクトリで作業しているシェルを見落とす 11 シェノレの cwd (current working directory) カゞ、該当するファ イルシステムにあるディレクトリとなっている場合てす。 132 こともあります。アンマウントできないからといって慌て す、落ち着いて調べれば原因はすぐにみつかるはずです。 以 E は UFS の場合ですが、その他のファイルシステム (MSDOSFS 、 IS09660 および MFS) をマウントする 去も簡単に紹介しておきます。 MSDOSFS のマウント MSDOSFS 、つまり DOS や Windows のファイル システムをマウントするには、 mount コマンドの -t オ プションの値として、、 msdos" を指定します。実際には、 mount-msdos コマンドカ印平び出されます。 FreeBSD で は、前述のように FAT16 、 VFAT および FAT32 ファ イルシステムを扱うことができます (BSD/OS か扱える のは FAT16 と VFAT のみです ) 。 独自のオプションについてはオンライン・マニュアル mount-msdos(8) を参照していただくとして、知ってい るとイ甦リなオプションとして一 u と -g があります。それぞ れ、値として UID と GID を与えます ( ューサー名やグ ループ名を指定することもできます ) 。これらのオプショ ンを指定すると、マウントされたファイルシステムにある ファイルの所有者とグルーフ。が、すべて指定したユーサー やグループになります。指定しなければ、ファイルの所有 者やグループはマウントボイントとなるディレクトリの所 有者およびグループに設定されます。 たとえば、 wdO の 1 番目のスライスに Windows 95 がインストールされていたとしましよう。これを /msdos というディレクトリにマウントしたけれは、以下のように 実行します。 bash# mount ー 0 —u=null , —g=user /dev/wdOsl /msdos bash# ■ この場合、 /msdos ディレクトリ以下にあるすべての ファイルの所有者はユーサー null に、グループは user になります。 MSDOSFS にかぎらす、ファイルシステムに独自のオ フションを mount コマンドて指定する場合、値をもっオ プションに関しては、以下のような形式で rn 。 unt コマン ドの - 。オプションに与えます。 オプション名 = 値 上記の例では、 -u=null" や -g=user" の部分か相当 UNIX MAGAZINE 1999.3

3. UNIX MAGAZINE 1999年3月号

, けつま 3 びっ u ド 図 3 >1s brw brw 図 4 /dev にできてしまったファイル dd コマンド度 —rw—rw— 3 root operator —rw—rw— 3 root operator 1 root wheel ー 1 /dev/fl* 1474560 Jan 16 19 : 49 /dev/f100pyO 9 , 0 , 2 Jan 16 20 : 04 /dev/f10ppyO 9 , 1 , 2 Ju1 31 04 : 20 /dev/floppyl ・プロックサイズをオ諚しなかった場合 2880 + 0 records in 2880 + 0 records out 1474560 bytes transferred in 192 secs ( 7680 bytes/sec) ・プロックサイズを 12k にした場合 120 + 0 records 土Ⅱ 120 + 0 records out 1474560 bytes transferred in 1 secs ( 1474560 bytes/sec) プロックサイズを 12k に指定した場合としなかった場 合の上師交か図 4 です。最後の行を見くらべ川ま一目瞭然、 プロックサイズを指定すると 1 秒あたりの中幻医量が 20 倍 近くになります。 dd のマニュアルページを見ても、プロックサイズに関 しては bs 、 ibs 、 obs といろいろな指定方法があり、私 にはどう使えばいいのか分かりませんでした。マニュアル ページを読んでも使い方カ吩からす教わるしかなかったの ですが、なんだか釈然としないものが残りました。 NetBSD のインストールと設定 インストール用のプートフロッピーが用意できたので、 次は NetBSD 本体のインストールです。この作業は前回 書いたのと同しように進めることができ、問題なく終りま 、 -0 FreeBSD とは異なり、 NetBSD ではインストーラで root のパスワードを設定したり、 root 以外のユーサーを 作ったりはしないようです。そこで、いったんインストー ラを終了し、計算機を再起動します。 ます root のパスワードを設定して、それからふだんの 自分用にユーザーを作ります。マニュアルには adduser というコマンドカっていますが、なぜか使えません。格 納されているはすの場所を探しても見当たらなかったた め、 vipw コマンドを用いてユーサーを追加しました。同 時に、 /etc/groups を編集して、ホーム・ディレクトリ を作っておきます。さすがに、この作業は FreeBSD で も何度もおこなっているので、問題なく終りました。 UNIX MAGAZINE 1999.3 ◎ NetBSD のアプリケーション いよいよアプリケーションを入れます。 FreeBSD では、基本的なアプリケーションは pack- age を利用してインストールできました。インストール方 法も簡単で、システム疋用のユーティリティ (/stand/ sysinstall) のメニューから package に関する項目を選 び、表示されたリストからインストールしたいアプリケー ションを選ぶだけです。 package はバイナリ形式でもま とめられているので、時間もとくにかかりません。場合 によっては、ソースから構築する ports を利用すること もあります。とはいえ、 FreeBSD で必要な手順や修正を すべてまとめてあるのが ports の特徴ですから、付属の README ファイルを読み、 make 、 make install の 2 つのコマンドを入力するだけでインストールできます。 私はいままで FreeBSD しか使ったことがないので、 FreeBSD 以外のシステムでの、、普通 " がどういう感じな のかが分かりません。さしあたって必要なのは、使い慣れ たシェルである tcsh をインストールして今後の作業を楽 にすることです。 どうすればよいのかを知るために、最寄りの FTP サイ トに接続して NetBSD 聞系のファイルを見ることにしま した。 FTP サイトの NetBSD ディレクトリのなかを見 ると、 packages ディレクトリがあります。 「パッケージ ! 私に必要なのはこれにちがいない」 と、そのなか ( 図 5 ) を眺めてみます。 117

4. UNIX MAGAZINE 1999年3月号

連載 / IJN Ⅸの玉手箱ー⑨ 図 10 mount コマンドの実彳デ列 bash# mkdir /project bash# mount /dev/wdlc /project bash# df /proj ect Fi1esystem 1024 ー blocks Used 1 Avai1 Capacity 0 % 2234724 /dev/wdlc bash# ■ 2429048 Mounted on /project 表 2 mount コマンドて寸諚できるおもなファイルシステム ファイルシステムをマウントして使えるようになります。 ま行では、ハードディスク以外のデバイスも含めたマウン ト設定について説明します。 なお、 FreeBSD の sysinstall を用いてノヾーティショ ン設定をおこなう ( 図 3 の、、 Label " メニュー ) と、ディ スクラベルを書き込んだあとで newfs を自第勺に実行し、 言置したパーティションの初期化も同時におこなうことか できます。 sysintall のノヾーティション設定では c ノヾー ティションを指定することはできませんが、代わりにパー ティションを 1 つだけ作成し、そのパーティションのサイ ズをスライス本と同じ容量に設定すれは、手動で newfs ファイルシステムのマウント を実行する手間が省けます。 UNIX MAGAZINE 1999.3 イルシステムと切に指定するキーワードとの対応を表 はいくつもの不軽頁がありますが、これまでに紹介したファ 指定します。 FreeBSD て利用できるファイルシステムに -t オプションでは、ファイルシステムの不頁をに す。なるべ <* 寸パスてオ旨定したほうがいいでしよう。 前のディレクトリがあった場合に間違える可能がありま マウントボイントは相対パスでも指定できますが、同し名 テムをマウントする場所 ( ディレクトリ ) を指定します。 mo 社れた〃 ( マウントボイント ) には、ファイルシス デバイスファイルを糸寸パスで指定します。 device には、マウントするファイルシステムに対応する mount [—t type] [ ー 0 0 を t 〃 s ] device mo 社れた 0 朝 窈青報が表示されます。 定しなければ、現在マウントされているファイルシステム ウントする場合の書式は以下のとおりです。引数を何も指 すが、 1 つのローカルテンヾイス上のファイルシステムをマ mount コマンドを用います。何通りかの使い方がありま ファイルツリーのある部分にマウントするには、 (/sbin/) ローカルなデバイス上に構築されたファイルシステムを type ufs msdOS Cd9660 mfs ファイノレシステム UFS (FFS) MSDOSFS IS09660 MFS 2 に示します。 -t オプションを省略すると、 UFS (FFS) として扱われます。 ファイルシステムの種類として UFS 以外を指定した 場合、実際には mount-type という名則のコマンドが実 行されます ( サポートしているファイルシステムに違い はありますが、 BSD/OS 、 SoIaris 2. x も似たような構 成になっています ) 。これらのコマンドは m 。 u Ⅱ t と同し /sbin ディレクトリにあり、たとえ XMSDOSFS であれ ば mount-msdos 、 IS09660 であれは mount-cd9660 のように、各ファイルシステム専用のマウントコマンドが 実行されます。 ー。オプションにはマウント時のオプション成疋を指定 します。 rnount コマンド自体がもっているオプションだ けでなく、ファイルシステムごとのマウントコマンドに特 有のオプションを与えることもできます。複数のオプショ ンを指定する場合は、カンマで区切って並べます。 mount コマンド自体がもっているオプションのうち、 おもなものを以下に挙げます。 マウントしようとするファイルシステム上のバイナリフ ァイルを実行できないようにします。 ・ nosuid マウントしようとするファイルシステムのファイルに対 し、 SetUID および SetGID ピットを無効にします。 ・ rdonly mount コマンドの一 r オプションと同し意味で、ファイ ルシステムを読出し専用 (read-only) でマウントしま す。指定しなけれは読み書き可能てマウントします。 131

5. UNIX MAGAZINE 1999年3月号

連載 / UN Ⅸの玉手箱 mtools FreeBSD や BSD/OS は MSDOSFS をサポートしてい るので、 DOS のフロッピーディスクをマウントして読み書き することかできます。しかし、ちょっとフロッピーディスクの 中身を見たいときにも、マウント / アンマウント窈巣作が必要に なります。そのような場合にイ甦リなのが、 mtools と呼ばれる フリーウェアです。 mtools はコマンド名ではなく、 DOS のファイル操作コマ ンド (copy や dir など ) を UNIX 向けに移植したもの全体 を表すソフトウェアの名称てす。 DOS コマンドの頁に、 m" を付けたコマンド名になっているため、 mtools という名前が 付いたようです。 BSD/OS では、 mtools が OS に伺属しています。べース になっている mtools のノヾージョンは 3.0 ですこし旧いので すが、基昀な機能は五斤版とさほど変わりません。 FreeBSD ではバイナリ・パッケージで提供されており、オリジナルの英語 版は mto 。 ls ー 3.9.1. tgz 、日本調阪は ja-mtools-3.6. tgz とな っています。日本言調阪の mtools は 1.2MB のフロッピーディ スクを読み書きできる ( もちろん、 PC のフロッピー・ドライプ が 3 モードに対応していなければなりません ) はか、漢字のファ イル名などがサホートされています。これらのバイナリ・パッ ケージは FreeBSD の CD-ROM に含まれていますが、国 内の FTP サーノヾー (ftp://ftp[1-6].jp.freebsd.org/pub/ FreeBSD/ports/i386/packages-2.2-stable/) などからも 入手することができます。いすれかをインストールすれはいい でしよう。 します。これに対し、直接 mount-msdos コマンドを実 行する場合は以下のように指定します。 bash# mount—msdos —u u11 —g user /dev/wd0s1 /msdos bash# ロ ファイルシステムをアンマウントする場合は、 UFS と 同様、 umount コマンドにデバイスファイル名かマウント ポイントのいずれかを指定します。 IS09660 のマウント IS09660 、つまり CD-ROM をマウントするには、 mount コマンドの一 t オプションの値として、、 Cd9660 " を 指定します 12 テンヾイスファイルとしては、 CD-ROM に対応するデ バイスの c パーティションを指定します。 FreeBSD では /dev/cd()c や /dev/wcd()c 、 BSD/OS では /dev/srOc などになります。 12 SoIaris 2. x では "hsfs" てす。 SoIaris 2. x では UFS 形式の CD- ROM もみかけますが、この場ま - t オプションは不要てす。 UNIX MAGAZINE 1999.3 BSD/OS では、 mtools のコマンド群 (mdir や mcopy な ど ) は /usr/contrib/bin の一ド、 FreeBSD のバイナリ・パッ ケージの場合は /usr/local/bin の下に置かれます。 DOS の コマンドと異なるのは、パスの区切りに、 \ " ( バックスラッシ ュ ) と、 / " ( スラッシュ ) の両方が使えることと、 DOS コマ ンドのオプション・スイッチが、 / " ではなく、 - " に変更されて いることてす。ただし、 UNIX のほとんどのシェルはバック スラッシュをエスケープ文字とみなすため、スラッシュを使っ たほうがいいでしよう。 ・ドライプにあるファイルなどを指定するには、 フロッヒー パスの頁に、、 a : " というドライプ文字を付けます。たとえば、 DOS フロッピーディスクの autoexec. bat というファイル をカレント・ディレクトリにコピーする場合、 DOS の copy に相当する mcopy コマンドを使って次のように実行・します。 bash# mcopy a: /autoexec . bat Copying autoexec . bat bash# ロ オンライン・マニュアル mtools ( 1 ) にはコマンド全般に関 する説明か書かれており、各コマンドに対するオンライン・マ ニュアルも用意されています。詳しい使い方についてはこれら をご覧ください。 FreeBSD ではバイナリ・パッケージとなっていますが、マ ウント操作を必要としないため、 DOS フロッピーディスクの ちょっとした読み書きにはたいへんイ叫リです。入れておいて損 はないでしよう。 bash# mount —t Cd9660 /dev/wcdOc /cdrom bash# ■ なお、 CD-ROM は読出し専用なので、 mount コマン ドのオプションに - r ( あるいは、、一。 rdonly") を付けなく ても read-only でマウントされます。 MFS のマウント MFS はメモリの一部を利用してファイルシステムを構 築します。メモリを利用するため、ハードディスクなど にくらべてアクセスが非常に高速である反面、アンマウン トしたりマシンをリプートすると内容が失われてしまいま す。したがって、 /tmp のように一日判勺なファイルの置 き場所に適用することが多いようです。 BSD/OS では、 /tmp に MFS を使うかどうかをインストール時に設定す ることかできます。 一時的なファイルを置くディレクトリとしては /var/ tmp もありますが、 ここにはⅵ工デイタか強匍了した 場合の彳己ファイルなどが置かれるため、 /var/tmp に対 133

6. UNIX MAGAZINE 1999年3月号

Linux でリラックス 大崎博之 フロッビーディスクで動く Linux はじめに 42 ・ FloppyFw ・ FIOPPIX ・ DLX 今回紹介するのは以下の 12 不頁てす。 実現するものであったりします。 あったり、フロッピー 1 枚でファイアウォールの機能を ムに間題が発生したときに使うレスキュー・ディスクで パッケージの用途は限定されています。たとえば、システ まいます。フロッピーの容量が小さいので、これらの配布 があると、どの配布パッケージを使えばいいのカ噬んでし と調べただけでも 10 不鶤頁以上ありました。これだけ不鶤頁 フロッピーだけて動く Linux 配布パッケージは、ざっ 更し、これらのフロッピーで動く Linux を紹介します。 スにはもうすこし時間がかかるようです。そこで予定を変 のインストールカ 1 去を説明する予定でしたが、正式リリー ば、なにかと便利です。今回は Debian GNU/Linux 2.1 うにしたものです。このようなフロッピーを用意しておけ コマンドをオ褓内し、基本的に RAM ディスク上で動くよ のもあります。フロッピーに Linux カーネルと最小限の ます。しかし、なかにはフロッピーディスクだけで動くも などを、すべてハードディスクにインストールして使用し パッケージでは、 Linux カーネルやコマンド、ライプラリ の Linux 配布パッケージがあります。ー殳の Linux 配布 などがひろく利用されていますが、このほかに数ート・不頁も Red Hat Linux 、 Debian GNU/Linux 、 TurboLinux ン ) パッケージがあります。日本国内では、 Slackware や Linux には、さまざまな配布 ( ディストリビューショ ・ ha191 ・ LOAF (Linux On A Floppy) ・ LRP (Linux Router Project) ・ /1Linux ・ Small Linux denu FloppyX mt1X ・ Tomsrtbt (Tom's Root/Boot) Linux (Traveller's Linux) UNIX MAGAZINE 1999.3 ンストールされている場合もあります ) 。なお、通常の ては、 superformat ではなく fdformat コマンドがイ るために利用するコマンドです ( 配布パッケージによっ superformat は、フロッピーを物理フォーマットす dd if= ファイル名 of=/dev/fd0 bs=36b superformat /dev/fdO ロッピーに書き込みます。 下のコマンドを使ってディスクイメージを 1.44MB のフ メージの形式て配布されています。 Linux 上であれは、以 ッピーの内容をそのままファイルに書き込んだディスクイ 今回とりあげる Linux 配布パッケージの多くは、フロ ティスクイメージの書込みとマウント としてマウントする去も紹介します。 デバイスを用いて、ディスクイメージをファイルシステム らフロッピーを作成するガ去について説明します。ループ ジ ( フロッピーの内容をそのままファイルにしたもの ) か 各配布パッケージの紹介を始める前に、ディスクイメー せん。 なお、これらはすべて IBM PC 互換機 -. [ : でしか動きま

7. UNIX MAGAZINE 1999年3月号

図 5 誤った言聢列 setenv DISPLAY %IP#% 図 6 正しい言聢」 setenv DISPLAY %IP#% UN Ⅸへの招待@ /usr/X11R6/bin/x10go & /usr/X11R6/bin/xc10ck & (/usr/X11R6/bin/x10go & /usr/X11R6/bin/xc10ck & ) ない " という理由でエラーになり、実行されません。 この間題は、丸括弧を使って図 6 のようにコマンドを 入力すれば解決できます。このように記述すると、 3 つ のコマンドは同しシェルによって実行されるため、 xlogo でも xclock でも竟変数 DISPLAY の値か有効になり ます。 接続の不頁 クライアントマネージャの標準の表示形式では、右上 に、、接続の種類 " という欄があり、そこに、、説明 " という 入力欄があります。これは、、、接続の言欄への入力に 応じて、自重加勺に次の形式て生成されます。 コマンド名 ( ホスト名 / IP アドレスー起動方法 ) これは以下の 4 カ所で使われます。自動成された内 容は、利用しやすいように変更してもかまいません。 1. 、、接続の設定 " の、、コマンド " 欄で指定する文字列 2. ( クライアントマネージャの則に表示される ) クライ アント・ファイルー一覧のうち、、、説明 " の部分 した場合のアイコンの下 4. クライアント・ファイルをショートカットとして保存 イトルバー 3. 、、ホスト応答 " ウインドウのステータス・ポックスのタ UNIX MAGAZINE 1999.3 が分かりやすいようにしておくとよいでしよう。 のファイルて起動できるクライアント名や接続先ホスト ルー - 覧の、、説明 " の部分に表示されます。したがって、そ ント・ファイルに保存したとき、クライアント・ファイ 2 は、、接続の設定 " で入力した各種の清報をクライア 指定したときに使われます。 オプションで % T % を使用し、ウインドウのタイトルを 1 は、前述のようにクライアント・コマンドの—name 3 は、、、ホスト応答 " ウインドウを表示しているとき、 そのなかて起動しているクライアントについての説明に 使われます。 4 は、クライアント・ファイルのショートカット・ア イコンを作成し、 Windows のデスクトップに置いた場合 に表示されます ( ショートカットの作成ガ去は、あとで説 明します ) 。 クライアント・ファイル一覧 クライアント・ファイルとは、 X のクライアントを実 行するための情報 ( ホスト名、ユーザー名、コマンド名な ど ) か書かれたファイルです。 Reflection X では、この ファイルを使ってクライアントを起動することができま す。このファイルの編集や表示、一一覧表示はクライアン トマネージャでおこないます 4 。このファイルは 3 不頁あ り、一覧表示では不頁ごとに違うアイコンが使われます。 Reflection X のインストール直彳刻こは、次のファイル が用意されています ( クライアント・ファイルの拡張子は . rxc" です ) 。初めて Reflection X を実行すると、クラ イアントマネージャにはこれらのファイルの一覧が表示 されるはずです。 ・標準 ( 普通の X クライアントを起動するためのファイ ル ) aix. rxc : RISCsystem/6000 用の aixterm hpux. rxc : HP-UX 用の hpterm osfl. rxc : DIGITAL UNIX 用の dxterm sco. rxc : SCO UNIX 用の scoterm sun. rxc : Sun 月」ク ) xterm unix. rxc : Xl 1 用の xterm X11r6. rxc : X11R6 用の xterm ・ XDMCP (xdm (X Display Manager) を起動する ためのファイル ) 4 、クライアント・ウィサード " でイ 1 城することもできます。 175

8. UNIX MAGAZINE 1999年3月号

連載 /UNIX Communication Notes—O グラム実彳丁時の実効 UID (Effective UID) と実効 GID (Effective GID) に設定される。 一方、 SetUID ビットと Set GID ビットが言殳定された プログラムは、プログラム夫行時の実効 UID と実効 GID を、それぞれプログラム・ファイルの所有者とグループに 設疋する。たとえば、所有者が root で Set UID ビット か設定されているプログラムでは、そのプログラムを誰が 実行しても、 root でプログラムを起動した場合と同様に 実効 UID が root で処理がおこなわれる。このように 実効 UID と実効 GID を指定どおりに設定できるため、 システム管理に使われるツールやいくつかのデーモンには Set UID ビットまたは Set GID ヒ、ツトが設定されて いる。 その一例が /usr/sbin/sendmail である。 sendmail では、電子メールを交換するために SMTP で使用するソ ケットで TCP の 25 番ポートを石呆する必要がある。さ らに、交換する電子メールを一日判勺に蓄積するためのバッ ファ ( キュー ) を安全な状態に保っために、所有者 root で SetUID ビットか設定されている。さらに、カーネル 内の情報 ( 具体的にはロードアベレージ ) を処理に利用す るため、グループ kmem で Set GID ピットか設定され ている。これによって、デーモンで起動される sendmail だけでなく、 /usr/ucb/Mail などの MUA (Mail User Agent) から起動された sendmail についても、そのプロ セスは、起動したユーサーにかかわりなく UID が root 、 GID が kmem で実行される。この機構により、罸ソ ケットボート (TCP/25) を使い、バッフアへの安全なア クセスを実現している。 これらのファイルにセキュリティ・ホールがあったり、 トロイの木馬が仕掛けられると大きな問題が発生する。 sendmail については、これまでに多くのセキュリティ ホールか発見されている。 たとえば、かなり以則のバージョンの sendmail には、 裏口 (back door) として DEBUG モードが用意されて いた。このバージョンでは、デーモンとして稼動してい る sendmail にアクセスして DEBUG モードにすると、 ューサーが入力した文字列をそのままシェルに渡すように なっていた。つまり、ネットワーク経由で外部から send- mail の DEBUG モードを使い、任意のコマンドが実行 できたのである。これは、明らかにセキュリティ・ホール 16 である。間題はこれだけではない。 sendmail は、所有者 root で Set UID ピットか、設定されていた。したがって、 DEBUG モードで実行されるコマンドはすべて root の 権限で実行されたのと同し状態になる。そのシステム上の すべてのファイルについて、読出し、書込み、消去が可能 だったのである。 この例からも分かるように、どの実行ファイルに Set UID ヒ、ツトと SetGID ビットが設定されているか、ど の実行ファイルがシステムで定常的に使われているかを把 握する必要がある。通常の定がなされているコマンドに 対して、不正に侵入した者が Set UID ピットや Set GID ピットを設定することもあるので、その点にも注意を怠っ てはならない。 これまで、 Set UID/GID ピットの利用について、セキ ュリティ保全の面からさまざまな言磊義がおこなわれてきた。現 在では、 Set UID/GID ビットの機能を利用しないようにプ ログラムを書くべきだという共通認識か得られている。やむを えす使わなければならない場合でも、できるかぎり Set UID ピットを設定しないようにする。これによって、セキュリテ ィ・ホールがあっても、無用な事故をある程度は防げる。事 実、最近の UNIX をみると、従来のバージョンと上交して Set UID/GID ビットを設定したプログラムは明らかに減っ ている。 設定変更 ファイル属性の設定変更には、 chown : 所有者の変更 chgrp : グループの変更 chmod : モードの変史 を使う。基本的には、これらのコマンドでファイルの属性 を適切に設定できる。各コマンドは OS ごとに拡張されて いることが多いので、システム管理者はマニュアルページ て市忍したほうがよい。 この 3 つのコマンドを用いてファイルの所有者、グル ープ、モードを変更できるのは、ファイルの所有者または スーパーユーザー (UID = 0 のユーサー ) だけである。 ノート 5 ファイルのモード設定のガ去と意日 chmod の利用ガ去 を正しく理解できるようにユーザーを教育する体制を整えるべ きである。 UNIX MAGAZINE 1999.3

9. UNIX MAGAZINE 1999年3月号

連載 UNIX Communication Notes ・ー0 各ファイルの属性を石忍するには、 ls コマンドを使う。 通常、 ls コマンドは、指定したディレクトリ ( 省田はカ レント・ディレクトリ ) に置かれているファイルの一覧を 表示させるために使う。ご存しのように、 ー 1 オプション を付けて実行するとファイルの属性を含む田表示か得ら れる。 ls の利用力 1 去については、マニュアルページを参照 してはしい。 umask ューサーが使用しているシェルでの umask の設定もフ ァイルのモード設定に大きな景を与えるので、各ューサ ーに正しく設定しているかを石薩忍してもらう必がある。 umask は、ファイルやディレクトリを生成するときに、 ファイル属性のモードの設定に一定の制限を設けるために ある。プログラムを実行した結果、なんらかのファイルが 生成されるとしよう。このプログラムでのファイル生成の モードを M とすると、生成されるファイルのモード rn は、 umask の各ビットを反転させたものと M との論理 和になる。たとえば、通常のファイル生成ではモードとし て 666 か設定される。しかし、 umask を 022 に設定し ておくと、生成されるファイルは 644 になる ( 所有者は 読み書きが可能、同しグループに属するユーザーとその他 のユーサーは読出しが可育 umask の疋は、 umask コマンドを以下のように実 行すれ ( 忍できる。 % umask 022 通常、 umask は各ユーサーのシェル起重加の成疋ファ イル (. 1 。 g ⅲ、・ cshrc 、 . profile など ) で指定する。これ らのファイルに、以下のように言当しておけばよい。 umask 022 ューザーごとではなく、システム全体に共通の umask を設定することもできる。多くの UNIX には、ユーザー がログインする際のデフォルトの設定を言当しているファ イルがある。たとえば、 BSD/OS 3. x では /etc/login. conf が、 SVR4 では /etc/defaults/login などがそうで ある。これらのファイルに、標準の umask を言当してお けばよい。当方去は OS ごとに違うので、システムのマ ニュアルで市忍してほしい。 UNIX MAGAZINE 1999.3 どのような値を設定すればよいかは、システムの利用環 境によって異なる。しかし、誰でも書き込めるファイル やディレクトリの作成を防ぐには各ューサーの umask を 022 に設定するとよい。事実、多くのシステムではデフォ ルトの umask を 022 にしているようだ。より厳しく設 定するのなら、 umask を 027 、あるいは 077 に設定して もよい。 ファイル検査 ファイル検査は、ファイル管理のなかでもっとも厄介 な問題である。ポイントは、次の 2 つである。 ・ファイルシステム全体で、問題のありそうなファイルを 自寉に発見する。 ・特定のファイルについて、意図しない更新やファイル属 性の変更がおこなわれていないかを調べる。 この作業には知恵と工夫が必要である。 ファイルの発見 間題のありそうなファイルは、 find コマンドでみつけ ることが多い。 find は、指定したディレクトリを項点とす るディレクトリ・ツリーを降下しながら再帰的にファイル を検索し、指定した条件に合致したものを表示する。 たとえば、図 2-a では、 /home 以下にある誰でも書き 込めるディレクトリを発見することができる。図 2 ー b で は、 Set UID ビットか、定されているファイルをみつけ ることができる。このように、 find はあるディレクトリ以 下の、指定した条件に合うファイルを効率的に探す場合に 便利である。 システム管理者は、 find の利用方法に習熟しておくべ きである。 find を使えば、ファイルシステムの構造に従っ て、牛に -- - ・致するファイルの有無を自重加勺にチェックし てくれる。侵入者が隠しディレクトリを作成してファイル を隠している場合も、容易に発見できる。ディレクトリご とに ls コマンドでファイルを探すより、明らかに効率が よく、しかも漏れがない。 ノート 6 隠しディレクトリにも各種あるが、代閹均なのは、 ( 1 ) ドット (. ) から始まるディレクトリ 17

10. UNIX MAGAZINE 1999年3月号

- けつま 3 びっド 図 7 NetBSD のパッケージ The NetBSD Packages CoIlection You 6 物 0 top Of the e The packages collection divded to categories of pækages. Here are the one-line descrptions fO ′ eæh of the categories: 襞窪 h. Ⅳ社ミ : 鹵 ! い聳を 釭ゑは 1 巉 地 p ] 旦ミ : 0 虹 0 睚」 : p 9 : 長リ ! 必 aud mboo ch ⅳ e 体 . d め tools. Benchmarkhg tobls. CAD tools. Oommunicatlon *. Ch&acter CO converters. Common Object e 圧 Oke 「 Architecture. and assoclated 升 e Text proceßing utilities (does not include desktop publishmg). System utilities. Shells. Security 扣 0 は 叩 b h Software inspwedby AT&Ts 円聞 9. T00 医扣ー use in the packages co io ル や ion & 引 g "ith p 引 m in computmg t'btworknews. t00 Misc 引 ous 猷ⅲ t 象 CO c を ions Of other pækages. M リはト cast backBone ぉ℃ lon Mathematics. Electromc mail utilities. Program m ing *. Packages with Japanee 一部鳴 u e su 叩 0「t Graphics tOOls and ー油 & Games. Emulators for Other systems. Editors. Development utilitles. D 8 s. Oron—platform devebpment utilities. を取得できたので、かなり速くイ乍業を進めることかできま コマンド / スの設定 120 だし、いまのところはユーサーか増える予定はないので、 ステム本で共通にしておくべきなのかもしれません。た しように利用するところは、 /etc/csh. cshrc に書いてシ でもよく考えたら、パスの言など、どのユーサーも同 レクトリにコピーすればもう大丈夫です。 bin を付け加えます。さらに、このファイルをホーム・ディ ているうちに、 /root/. cshrc の path 変数に /usr/pkg/ 憶えているあいだにパスの成疋をしました。 root になっ のに苦労しそうです。 ので、 ここでパスの成疋をしておかないとコマンドを探す /usr/pkg は FreeBSD でのディレクトリ構成と違う があります。 は、 /usr/pkg/bin をコマンド検索パスに加えておく必要 納されるので、シェルから簡単に使えるようにするために すべて /usr/pkg/bin ( および /usr/pkg/sbin) 以下に格 できるようになりました。パッケージで入れたコマンドは これで NetBSD のアプリケーションをインストール このままにしておくことにします。どの部分をシステム全 体用に設定し、どの部分を個人用に設定するのかを使い分 けるのは、どうも私にはまた難しい問題です。 ◎ SIJP を利用して最新版に パッケージをインストールできるようになったと師匠に 報告すると、 「カーネルソースやパッケージを簡単にアッフ。デートする 方去も、いまのうちに慮えておいたほうがいい」 と勧められました。師匠によると、 SUP は NetBSD で 利用できる配布ガ去の 1 つで、 ・ sup コマンドを使って SUP サーバーから必要なファイ ルを取得できる 一度取得すれば、次回から差分のみの更新ですむ という利点があるそうです。 日本 NetBSD ューザーグループのページを探すと、 SUP ミラーサイトを運営しているようです。そのなかで、 ミラーしているコレクションの一覧や、 SUP の使い方が UNIX MAGAZINE 1999.3