オプション - みる会図書館


検索対象: UNIX MAGAZINE 1998年9月号
37件見つかりました。

1. UNIX MAGAZINE 1998年9月号

permit-hosts http-gw への接続を許可する計算機を指定します。 引数には、ホスト名や IP アドレスを言当します。その 文字列の一部にワイルドカードを使用し、計算機の集合を 指定することもできます。 permit-hosts で明示的に許可されていない計算機は、 ・—safejava オフ。ション ード自体は拒否しません。 PLET タグを削除するだけで、アプレットのダウンロ Java の使用を拒否します。 HTML 文書から AP- ・—nojava オフ。ション Java の使用を許可します。 ・—java オプション すべて、、拒否 " として扱われます。 から OBJECT タグを削除するだけなので、 ActiveX ActiveX の使用を拒否します。これも、 HTML 文書 ・—noactivex ガ・、アシーヨン ActiveX の使用を許可します。 ・—activex オフ。ション 除します ) 。 SCRIPT タグと、タグで囲まれたスクリプト部分を削 JavaScript の使用を拒否します (HTML 文書から その他の Web プラウザを用いてアクセスした場合は、 ます。 用いてアクセスした場合、 JavaScript の使用を許可し パラメータ属性 browser で定義した Web プラウサを ・—safejavascript オフ。ション 分を削除するだけです。 書から SCRIPT タグと、タグで囲まれたスクリプト部 JavaScript の使用を拒否します。これも、 HTML 文 ・一 no 」 avascript オフション JavaScript の使用を許可します。 ・—Javascript オフション ード自体は拒否しません。 PLET タグを削除するだけで、アプレットのダウンロ は、 Java の使用を拒否します。 HTML 文書から AP- その他の Web プラウザを用いてアクセスした場合 用いてアクセスした場合は、 Java の使用を許可します。 パラメータ属性 browser で定義した Web プラウサを 84 オプジェクトのダウンロード自体は拒否しません。 ・—safeactivex オフ。ション パラメータ属性 browser で定義した Web プラウサ、を 用いてアクセスした場合は、 ActiveX の使用を許可し ます。 その他の web プラウサを用いてアクセスした場合は、 UNIX MAGAZINE 1998.9 クエストが送られてきたときに、オプションの引数で指 このオプションを指定すると、上記のような HTTP リ データを送り返します。 し、 http-gw 内部にあらかじめ用意されている文書や http-gw はそれを、、自分に対するリクエスト " とみな にファイル名やディレクトリ名のみを指定したとき、 http-gw に対する HTTP リクエストに含まれる URL ・ -httpd オプション ー ( とポート番号 ) を指定します。 このオプションは、そのときに接続する Gopher サー Gopher サーバーへのリクエストとみなします。 ィレクトリ名のみを指定したとき、 http-gw はそれを http-gw に対して HTTP ではなく、ファイル名やデ ・ -gopher オプション されています ) 。 (Gauntlet の http-gw にはユーサー認証機能が実装 せん。開発途中のまま放置されているのでしようか 腎のユーサー認証をおこなうコードが含まれていま ューサー認証を要求するオプションのはすですが、肝 ・—auth/—authall オフ。ション もしれません。 が、ファイルの取得は拒否したい場合に利用できるか FTP サーバーのディレクトリを見ることは許可する (index. html など ) か読み込まれます。 は、ディレクトリの一覧かインデックス・ファイル ただし、 URL がディレクトリ名で終了している場合 ファイルの言ムみを担否します。 ・—noinput オフション ます。 データの書出し (HTTP の、、 POST" など ) を拒否し ・—nooutput オフション クトのダウンロード自体は拒否しません。 OBJECT タグを削除するだけで、 ActiveX オプジェ ActiveX の使用を拒否します。 HTML 文書中から

2. UNIX MAGAZINE 1998年9月号

プログラミング・テクニック このプログラムでは、入力かオ剽售入力からのものか、そ 定の有無によって、そオ IJ ユ降の処理をおこなう関数を変え れとも引数として指定されたファイルからかを cat か判 ているのです。 断します。その結果がパイプを通して tr に渡されるため、 if (bflag Ⅱ eflag Ⅱ nflag Ⅱ sflag Ⅱ tr は標準入力の処理に専念できます。さらに、引数として tflag Ⅱ vflag) cook-args (argv) ; ーカ甘旨定された場合は標準入力から読み込む仕組みも提 供できます。 raw—args (argv) ; もちろん、この方法では、 cat のオプションと解釈さ if 文の条件に列挙されているのは、オプションカ甘旨定さ れるような引数は指定できません。しかし、プログラムの れたかどうかを示すフラグです。オプションカ甘旨定された 簡単さは読みやすさにもつながることを考え川ま、この方 ら cook-args 関数を、何も指定されなかったら raw-args 法を尺する意味はあるでしよう。さらに、日本語処理な 関数を呼び出します。 2 つの関数を使い分けているのは、 らではの使い方もあります。さきはどは、 cat コマンドを オプションカ甘旨定されていない場合は読み込んだものをそ 使って標準入力から読むのか、ファイルから読むのかを判 のまま出力するだけでよいため、高速な処理が実現できる 断しましたが、この部分に日本語の文字コードを変換する からです。 nkf などのコマンドを使うこともできます。処理する文字 このように、複雑な処理をするかどうかによって、異 コードは統一しておいたほうがなにかと便利ですから、 なる関数を用意しておくとイ甦リなことがあります。どうい のような使い方を憶えておくと役に立つでしよう。 う場面でこの手法を使うかの判断は難しいところですが、 処理をしなけれは高速に実行できたり、あるいは処理をし ないケースが多い場合などは別の関数を用意するとよいで しよう。ただし、プログラムを書くときに最初から両方の 処理を実現する必要はありません。重要なのは、きちんと 動き、すべての処理が正しくおこなえるプログラムを作る ことです。これらができてから高速なプログラムの作成に 着手しても遅くはありません。この考え方に沿って cat プ ログラムを眺めると、 1. 標準入力から標準出力へのコピー 2. 引数で指定されたファイルの処理 3. オプションの処理 4. 高速なバージョンの作成 という構成になっています。 else cat コマンドのソース 今度は、 cat コマンド自身のソースコード (cat. c) をみ ていきましよう。ヘッダファイルの include や変数の宣 言のあとに main 関数があり、そのなかで getopt 関数を 使ってオプションを処理しています。この部分では、指定 されたオプションごとに変数か設定されます ( たとえは、 -v オプションカ甘旨定されると vflag が設定されます ) 2 オプションを角斤する while ループのあとで、引数を 卩各しています。 argv + = optind; この文では、 argv の値が optind だけ進められるため、 argv はオプションを処理した残りの引数を指すようにな ります。 optind は getopt 関数が設疋する大域変数で、 get 叩 t 関数か処理した引数の数かオ褓内されています。し たがって、変数 optind の値だけ argv を進めることで、 まだ処理していない引数の麪頁に移動できます。 引数を調整したあとで実際の処理に入りますが、 1 つ工夫か加えられています。 cat に対するオプション指 2 ただし、出力のバッファリングをおこなわないようにする - u オプショ ンだけは特別で、オプションの角 i 部分で直接処理しています。このオ プションの保を寒見するのは簡単で、 setbuf 関数を用いて出力のバッ ファリングを無効にするだけで扎 引数の処理 励ゞすこしそれてしまいましたが、ソースコードの説明 を続けます。次は、実際の処理をおこなう関数です。ます、 オプションか指定された場合に呼び出される cook-args からみていきます。この関数は argv 形式の引数をとり、 この引数に処理すべきファイル名の並びかオ褓内されている と解釈します。ファイル名が 1 つも指定されていない場 合は、標準入力の処理をおこないます。 一三ロ 137 UNIX MAGAZINE 1998.9

3. UNIX MAGAZINE 1998年9月号

INTEG RATION 間を割り当てたい場合は、 /time : Monday-Friday , 9AM—5PM ; Sunday , 12PM-4PM ドメインの全ューサーを表示す NET USER はオプションを付けないと、 を入れてはいけない。 とする。日該リの文字列を引用符で囲んだり、あいだに空白 ローカノレユ - ー サーのリストを表示する。 る場合は、 るには、 > net user と入力する。 /domain とする。ローカルューサーに関するすべての情報を表示す ユーサー・アカウントと同しく、グループもローカルと のユーサー・アカウントの情報か表示される。 / d 。 ma ⅲオフションを付けると、ドメイン UNIX MAGAZINE 1998.9 ドを更新しなけれはならない回を 1 調主 : 1 回使ったパスワードを隻利用できるようになるまで : ンヾスワー 矛盾をチェックするようなことはない。 NT のシステムか既存のユーザー・データベースを調べて たは割り当てたいとき ) にだけ使える。設定を変更しても に新しいパスワードを割り当てなければならないとき ( ま らは、新たにアカウントを作る場合か、既存のアカウント /minpwlen 、 /uniquepw オプションで設定する。これ さ、同一バスワード使用の制限 1 はそれぞれ /maxpwage 、 ューザーポリシーを言殳定する。パスワードの有効期間、長 NET ACCOUNTS は、システムもしくはドメインの プに対するコメント ( 最大 48 文字 ) か言当できる。 NET USER と同様、 /comment オプションでグルー /domain > net group accounting fred nancy waldo /add サーを追加できる ( 誌面の都合上、で折り返していま こで次のようにす川ま、新しいグループにユー とする。 > net group accounting /add /domain ループを作る場合は、 ドメインコントローラに accounting というドメインのグ プの作成やユーサーの追加、削除ができる。プライマリ・ ドメインで区別される。 NET GROUP を使うと、グルー NET ACCOUNTS で重要なオプションは /forcelog- 。仕である。これは、アカウントの有効期限や許可された ログオン時間を過ぎたあとで、ユーザーか何分間接続でき るかを指定する ( 単位は分 ) 。 NT はそのネットワークへ の接続を切る前にユーサーに警告を出す。このオプション で設定された時間を過ぎると、ユーサーのファイルは閉し らすべてのセッションか終了し、新たな接続リクエス トは許可された日まて拒否される。 同じような機能をもつコマンドには NET CONFIG SERVER がある。 /autodisconnect オフションで拓疋 した猶予時間 ( 単位は分 ) のあと、サーバーのすべてのセ ッションが切断される。 NET ACCOUNTS をオプションなしで実行すると、 システムのユーサーポリシーを表示する。さらに、コマン ドを実行した NT Server のシステムが、プライマリ・ド メインコントローラなのか、バックアップ・ドメインコン トローラなのか、スタンドアローンなのかも表小する。コ マンド行で、 > net accounts /sync と入力すれは、プライマリ・ドメインコントローラは描丘 おこなわれた変更をバックアップ・ドメインコントローラ に反映する。 NT Server はこれを自重加勺に反映するよう になっているが、このコマンドはそれを即座に実行させる ものである。 共有とセッション NT の共有とは、ネットワークに公開しているリソース ( ドライプやディレクトリ、プリンタなど ) のことである。 セキュリティ・ホールをチェックするには、公開しているリ ソースをすべて把握しておく必要がある。 NET SHARE をオプションなしで実行すれは、これか表示される。出力 は一定の長さのカラムで区切られるので、部分的にしか利 用できない。中央のカラムには共有されるパスか表示され るが、入りきらない部分は切り捨てられる。フノレヾス名が 必要な場合は、表示された共有名を使って NET SHARE コマンドをもう 1 度実行する。コマンドに共有名を加える と、その共有に関するプロバテイか表示さフノレヾス名 も切り捨てられない。 125

4. UNIX MAGAZINE 1998年9月号

cat く五 / el > file2 cat では、下記のオプションカ甘旨定できます。 るなどの処理も簡単です。 入力から渡されるものの前後にファイルの内容を付け加え 準入力からの入力とみなします。この機能を使えは、標準 カ鰾準出力に出力されます。引数に一を指定すると、標 ァイルの名前と解釈さ指定された順にファイルの内容 一方、 cat に引数を与えると、標準出力に出力すべきフ を川 e2 にコピーできます。 内容を読み込んで川 e2 に書き込むので、結果として川 e ノ のように入力と出力の両方をリダイレクトすると、川 e ノの -e . -v オフションと同様だが、各行の行末に $ 記号を付 -t : ー v オプションと同様だが、タブを ~ I " と表示する。 -v : 制御文字やメタ文字を記号で表示する。 -u : 出力をバッファリングしない。 -s : 空行か続く場合には 1 行だけ出力する。 -b : -n オプションと同様だか : 空行は数えない。 -n : 出力行に 1 から始まる行番号を付ける。 ンを知らない人が、ファイルの内容を逆順に表示しようと 1 つ紹介しておきましよう。 tail コマンドの -r オプショ ルタ・プログラムとして使え甦リです。おもしろい例を これらのオプションの 1 つ 1 つは単純ですが、フィ ける。 cat ーⅡファイル名ー sort —nr ー sed s/* して、 もしろいガ去ではないでしようか。 マンドの組合をによって処理を寒見するという意味ではお はこんなことをしなくてもすみます。しかし、フィルタコ ん、このガ去は非効率的ですし、、、 tail -r" を知っていれ から 7 文字ぶん消せは陬り去ることができます ) 。もちろ 番号を、 % 6d \ t " で表示するようになっているため、 : 頁 行番号を取り去っています ( cat のソースコードでは、行 ファイルの内容を行番号を使って遡頂にソートし、最後に としました。このコマンド行では、行番号付きで表示した シェル・スクリプトなどのなかで cat を使う方 シェル・スクリプトで使う 次は、 法です。 UNIX MAGAZINE 1998.9 プログラミング・テクニック さきほど書いたように、 cat は引数カ甘旨定されていれは それをファイル名とみなしますが、引数カ甘旨定されないと 標準入力を使用します。 cat だけでなく、 UNIX では数 多くのコマンドが引数を cat の場合と同様に処理します。 とくに、フィルタコマンドは標準入力を扱うのか普通であ り、その大半は cat と同しように引数を処理します。 これと同様な処理を寒見するシェル・スクリプトを考え てみましよう。それには、すでにあるプログラムを参考に するのが一番です。 /usr/bin にあるファイルのなかから シェル・スクリプトを探し、中身を覗いてみました。ます、 lp コマンドです。 lp は、 POSIX で要求されている、 SystemV 系の印 刷用コマンドです。 FreeBSD では、基本的に BSD 系の lpr コマンドを使います。そこで、引数を整して lpr を 呼び出すシェル・スクリプト lp が用意されています。 # ! /bin/sh # Posix says LPDEST gets precedence over PRINTER dest=${LPDEST : —${PRINTER : —lp}} はしめに変数 ncopies と symlink を設定し、続いて変 数 dest に出力先のプリンタ名をオ内しています。 dest に は、工竟変数 LPDEST か設定されていれはその値が、設 定されていなけれ ( 竟変数 PRINTER の値が、どちら も設定されていない場合には lp という値かオ褓内されます。 シェル・スクリプトを書く際は、 こで使われている 変数の展開時の処理がきわめて重要です。うまく利用すれ ば、 if 文などで条件を判断するような記も簡単に書けま す。 if 文を用いて上刎列を書くと、次のようになります。 if [ $LPDEST ] ; then dest=$LPDEST elif [ $PRINTER ] ; then dest=$PRINTER nCOPIes= symlink="—s" else 135 いる : - です。この記法では、コロンの前に指定した変 まいます。ポイントは、シェルの変数名の展開に使われて これとほは 1 司し処理が、さきほどの 1 行で記述できてし dest=lp

5. UNIX MAGAZINE 1998年9月号

図 5 permit-hosts 属性で ~ を変更 http¯gw: permit¯hosts 192.168.255. * —httpd www. doubutsu. CO . jp:80 図 6 browser 属性で、プラウサごとに Java と JavaScript 吏用を許可 / 耻 http—gw: default—policy —safeJava —safeJavascript http—gw : policy —noactivex http—gw: browser Mozi11a —safejava —safejavascript 定された HTTP サーバー ( とポート番号 ) にアクセス します。 たとえは、実験言算機上 . の Web プラウサで次の URL ・—dest オフション へのアクセスと同様に扱われます。 http://www.doubutsu ・ co. jp : 80 / セスすると、 ところが、図 5 のように設定し、上記の URL にアク http : / / 192 . 168 . 255 . 1 / を開くと、 http-gw 内部の文書カ俵示されます。 —dest { *. ascll ・ co ・」 p www. doubutsu. co ・ jp } ます。 ります。次のように、ワイルドカードによる指定もでき 字で区切って列挙し、さらにリスト全体を中括弧で括 ホスト名を指定したい場合は、ホストのリストを空白文 るホスト名をオプション引数としてします。複数の HTTP サーバーや Gopher サーバーへの接続を許可す します。 HTTP と Gopher の中継をおこなう先の言 t 算機を制限 はアクセスできなくなります。 と設疋すると、、、 breeder.com/ ドメインのサーノヾーに —dest ! * . breeder . com —dest す。たとえは、 ホスト名の前に、、 ! " を付けると、否定の意味になりま UNIX MAGAZINE 1998.9 ッダに含まれる Web プラウサの名前を指定します。 browser の引数には、 HTTP の、、 User-Agent:" へ プラウサを設定します。 Java や JavaScript 、 ActiveX のイ吏用を許可する Web browser か許可されます。 このオプションを省略すると、すべての言 t 算機への接続 その後ろに、 —safeJava 、—safejavascript 、—safe- activex のうち、すくなくとも 1 つのオプションを成疋 します。 たとえば、 Netscape の Web プラウサでアクセスした 場合は Java と JavaScript の使用を許可し、その他の Web プラウザの場合はこれらの使用を禁止するルールは 図 6 のようになります。 default-policy/policy Java 、 JavaScript 、 ActiveX のイ更用について、デフォ ルトのルールを設定します。 http-gw には、 Java 、 JavaScript 、 ActiveX のそれ ぞれについて許可 / 拒否を制御する内部変数があります。 http-gw を起動する際、最初はすべて許可に設定されてい ます。次に、 http-gw は default-policy に設定されたオ プションにもとづいて、これらの内部変数の設疋を変更し ます。そして、 permit-hosts に指定されたオプションを 言叫面し、これらの変数の設定を変更します。最後に、 pol- icy に設定されたオプションにもとづいて内部変数の値を 決定します。つまり、 すべて許可→ default-policy → permit-hosts → policy の順で言叫面されていくわけです。したがって、途中でどの ように設定していても、最終的には policy の言当によっ て許可 / 拒否カ鴃まります。 groupid 引数。叩記に、 http-gw の実イ丁時の実グループ ID (real group (D) と実効グループ ID (effective group (D) を指定します。 とくに設定する必要はないと思いますが、プロキシー サーバーを wheel グループの権限で運用するのが嫌な人 は、 fwtk などの新しいグループを作成して設定しておけ ばよいでしよう。 85

6. UNIX MAGAZINE 1998年9月号

数に値カ疋されていないか、値が空の場合には、マイナ スの後ろに書かれた値がデフォルト値として使われます。 つまり、 変数 = $ { 名前 : ー値 } fi else 変数 = 値 if [ $ 名前 ] ; とすれば、 変数 = $ 名前 then lp では、続けてオプションを解析します。 合わせています。 と同じ効果か得られます。 lp の例では、これを二重に組み case $option in do opt i 0 Ⅱ while getopts "cd:n:o. # copy files before dest="${OPTARG}" ・ # destination d) syml ink= printing nCOPIes= n) exit 2 ; number Of copies (printer option) (error msg printed by getopts) こで使われている getopts はシェルの内部コマンド で、引数として渡されたものを角財斤し、オプションカ甘旨定 されているあいだは真刎直を返します。 この処理か終ったら、オプションやオプションの引数 を読み飛はすために shift コマンドを実行します。 shift $ ( ($OPTIND ー 1 ) ) これも、見慣れない言己去かもしれません。以前なら、 shift ( expr $OPTIND ー 1 ( と書いていたところでしよう。 FreeBSD のシェル (sh) は、内部で式の計算ができるように拡張されています。 、、 $ ( ( e r ) ) " では、式の値を計算し、その結果カ甘旨 定されたものとして動作します。 shift を実行した点で残っている引数はファイル名だ けになっているはすなので、これを lpr コマンドに渡しま す ( 誌面の都合長て折り返しています。以下・同様 ) 。 136 exec /usr/bin/lpr "-P$dest" $symlink $ncopies " $@" う頁に exec カ寸いているのは、これがシェル・スクリ プトの最後のコマンドで、新たなプロセスを起動しなくて UNIX MAGAZINE 1998.9 # ! /bin/sh することかできます。 このプログラムは、次のようにごく簡単なプログラムに して指定されたファイルを処理します。 実行する部分では、入力リダイレクションを用いて引数と めに for ループを作っています。 for ループの内部で tr を 引数がある場合には、各引数に対して tr を実行するた 渡さ標準入力の内容を大文字に変換できます。 これによって、このコマンドに対する標準入力が tr にも を調べ、引数が指定されていなければ tr を実行します。 このコマンドでは、ます、、 $ # " の値をみて引数の有無 fi done tr ' a—z ' ' A—Z ' く $f for f ; do tr ) a—z ' ) A—Z ) if [ $ # = 0 ] ; then # ! /bin/sh は、たとえは次のように言当できます。 すべて大文字にするコマンド」 合は標準入力 ) を読み込み、そのなかのアルファベットを 「引数として指定されたファイル群 ( 指定されなかった場 の 1 つです。 大文字に変更したい場合などに重宝する tr コマンドがそ ます。たとえは、ファイル中のアルファベットをすべて しかし、引数としてファイルをとらないコマンドもあり くても、コマンドか勝手に処理してくれるわけです。 ます。ここがポイントです。引数の有無をとくに区別しな 数カ甘旨定されていないため、標準入力から入力を読み込み は何にも展開されません。 lpr コマンドは、出力すべき引 合、 shift の実行で引数には何も残らないので、、、” $@”・ かったときの処理です。ファイル名カ甘旨定されていない場 注意してほしいのは、引数にファイル名か指定されな ションを取り除いた引数を渡しています。 もよいことを示すためです。ここで、 shift を使ってオプ

7. UNIX MAGAZINE 1998年9月号

userid パラメータ属性 groupid と同様です。 これもとくに設定する必はないと思いますが、プロキ シー・サーバーを root の権限で運用するのか嫌な人は、 fwadmin などの新しいユーサーを作成して疋しておけ t i meout これもとくに指定する必要はないと思います。 て指定するディレクトリに chroot(2) します。 http-gw が中継先のサーバーに接続する直前に、引数 directory ばよいでしよう。 86 の ftp-gw に接続し、 ftp-gw を介して hostname 上の gw は、ます ftp-proxy の引数に指定されている計算機十、 ノヾラメータ属性 ftp-proxy か薇疋されていると、 http- http-gw ← FTP サーノヾー ります。 バーにアクセスします。つまり、次のようなイメージにな トになり、直接ん os ame ーヒの anonymous FTP サー うな URL を受け取ると、自分自身が FTP クライアン http-gw は、 、 ftp://hostname/... な le れのれ e " のよ ftp-proxy りません。 像データが用意されているため、とくに設定する必要はあ めた URL を指定します。 http-gw 内部にあらかしめ画 に、ディレクトリの内容を表示する際のアイコン画像を収 Gopher サーバーのディレクトリにアクセスしたとき は、 permit-hosts のオプションカ憂先されます。 性と permit-hosts のオプションの両方か、設定されたとき や -httpd オプションと同じです。これらのパラメータ属 ノヾラメータ属・性 permit-hosts の -gopher オプション default-gopher/default-httpd 値を変更することができます。単位は秒です。 デフォルトは 7 200 秒ですが、このパラメータ属性で か読くと、 http-gw は自重加勺にその接続を切断します。 一定時間、バケットを中継しない状態 ( アイドル状態 ) anonymous FTP サーバーにアクセスするようになりま す。つまり、次のようになります。 http-gw ← ftp-gw ← FTP サーノヾー 6 月号で ftp-gw の設定ガ去を説明しましたが、せつか く ftp-gw でアクセス缶衂を設定しても、 http-gw を利用 して FTP サーバーにアクセスできるのであれば、 ftp-gw での設定か無愈未になってしまいます。このパラメータ属 性を設定することによって、 http-gw でも FTP に対す るアクセス制御ができます。 url-filter パラメータ属生 url-filter の引数には文字集合を設定し ます。すると、ディレクトリやファイル名の一ににその文 字集合のいすれかの文字を含む URL へのアクセスカ甘巨否 されます。プログラムの重川乍で説明すると、 URL に指定 したディレクトリやファイル名の文字列を第 1 引数、 url- filter の引数の文字集合を第 2 引数として関数 strpbrk(3) を実行した結果が NULL でないとき、その URL へのア クセスか拒否されます。たとえは、 —url—filter abc と設定すると、ディレクトリやファイル名に a b c のいすれかを含む URL へのアクセスか拒否されま に、才脣子が、、 . exe " のファイルはフィルタリングできま と設定しても、意図どおりの結果は得られません。たしか exe す。刻長子が、、 . exe " であるファイルをフィルタリングし —url—filter ようとして、 次回は、ネームサーバーの疋について説明します。 今月の作業はここまでです。 ☆ られたものか、よく分かりません。 このパラメータ属性は、どのような用途を想定して設け イルか読めなくなり、大変なことになってしまいます。 などと指定すると、拡張子が、、 . htm にや、、 . htm " のファ —url—filter h す。また、 すが、その他の多くのファイルも対象になってしまいま UNIX MAGAZINE 1998.9 ( しらさき・ひろお )

8. UNIX MAGAZINE 1998年9月号

・特定の計算機やネットワークからアクセスした場合のみ ActiveX については、 CERT/CC からはなんの文書 - ・午可 も出ていません。しかし、 ActiveX は、その仕組み自体 ・特定の Web プラウザからアクセスした場合のみ許可 がセキュリティ上の重大な脅威となる危険性をもっていま ・すべて拒否 ネットワーク管理者の立場からすると、このようにセ それぞれの場合について、設定ガ去を説明します。 キュリティ上の問題を抱える Java や JavaScript 、 Ac- tiveX がファイアウォールの内側に入り込まないように ・すべて許可 ファイアウォール上でフィルタリングしたいと考えるのは デフォルトでは、すべてを許可する設定になっているの 当然です。ところが、これらのデータはファイル名の拡張 で、何もする必要はありません。 子だけでは完全には識別できないので、中継するすべての ・特定の言 t 算機やネットワークからアクセスした場合のみ データの内容をチェックする必要があります。しかし、そ んなことをするとファイアウォールに大きな負担がかかり ます、パラメータ属性 default-policy で本を拒否し ますし、その機能だけで 1 つのソフトウェア・パッケー ます。次に、許可したい言 t 算機やネットワークに対する ジになってしまいそうです。事実、このような機能をもつ permit-hosts ルールを追記し、 -j ava オプションを指 ActiveGate という製品か市販されています 2 定します。 そこで、 http-gw では、ましめにフィルタリングする のはあきらめて、転送中の HTML 文書から Java の default—policy —noj ava http—gw ・ permit—hosts 192.168.255. * ¯java http—gw: アプレットや ActiveX のオプジェクトへのポインタ、 JavaScript を削ったものをクライアントへ中継します。 特定の Web プラウザからアクセスした場合のみ許可 具イ勺には、 Java をフィルタリングする場合、 HTML 文 ます、パラメータ属性 browser を用いて Java を許可 . > " があったら、、く /APPLET>" まで : 書に、、く APPLET する Web プラウサの名前を定義します。次に ノヾフ を削ります。 JavaScript の場合は、同様にして SCRIPT メータ属生 default-policy に -safejava オフション タグを削り、 ActiveX の場合は OBJECT タグを削り を指定します。 ます。 たとえば、 Netscape のプラウザを許可するには、 もちろん、この方法では Java のアプレットがきちん default—policy —safej ava http-gw: とフィルタリングされるわけではないので、アプレット browser Mozi11a —safeJava http-gw: をダウンロードすることは可能ですし、ちょっとした技術 とします。 を使って実行させることもできます。ですから、、、なにが ・すべて拒否 なんでもフィルタリング " という方針で臨むのではなく、 パラメータ属性 policy に -nojava オプションを指定 、、セキュリティ・レベルを高めたいならは急がは回れ " で、 します。 ューザー教育を仙民したほうか効果的だと思います。 とはいえ、ここでは http-gw の機能の説明をしている JavaScript 、 ActiveX についても同オ兼に設定します。 のですから、フィルタリングのガ去を紹介しておきます。 詳しくは、ノヾラメータ属 1 生 permit-hosts 、 browser 、 de- Java については、次の 4 不亟頁の制御かできます。 fault-policy 、 policy の説明を参照してください。 ・すべて許可 パラメータ属性 1 ActiveX の一観剣生を示すために、クリックしただけでハードディスク http-gw に指定できるパラメータ属性の一覧を表 1 に の内容を消してしまう、恐ろしいデモプログラムを収めた Web ページも ありました。 示します。各パラメータ属性の未と、オプションについ 2 イスラエルの Security-7 (http://www.security7.com/) か開 て説明します。 発し、日本ではアズジェントか販売しています。 二一口 82 UNIX MAGAZINE 1998.9

9. UNIX MAGAZINE 1998年9月号

INTEGRATION ユーサーとグループ 付けておくとよい。 れば、ドメイン中のどのリソースにも同し名前とパスワー トカイ成されると、そのユーサーはパーミッションさえあ のあとに / d 。 ma ⅲオプションを付ける。ぶじにアカウン ・アカウントを作る場合は、コマンド行で NET USER はこのユーザーは認識されないはすだ。ドメインのユーザ ウントカ非られる。同しドメイン中のはかのシステムから が追加できる。ー屬己の例では、ローカルのユーサー・アカ ている場合は、ローカルとドメインのどちらにもユーザー 運用している NT のシステムがドメインの一部になっ 明て触れる ) 。ー勺な最小の文字数は 6 文字である。 かもしれない ( これについては NET ACCOUNT の説 よっては、システムの最小のパスワード長カヾ夬まっている はすだ。パスワードは最大 14 文字までである。サイトに けば、シェル関連のトラブルか起きることはほとんどない る。 * の部分をパスワードに置き換えて引用符で囲んでお ドに使いたい場合は、パスワードをコマンド行から入力す る。シェルが解釈してしまうような畤殊な文字をパスワー * を加えるとパスワードか要求され と入力すればよい。 > net user fred * /add 合は、コマンド行から、 自分のシステムに fred というューサーを追加したい場 ティを扱うことができる。 ワードに限定されてはいるが、多くのアカウント・プロバ ロノヾテイか、設定できる。 NET USER はユーサーとノヾス ューザーマネージャでは、すべてク罸雀やアカウントのフ これには NT の GUI ツールほどの機能はない。ドメイン 修正などをおこなう。はかの NET コマンドも同様だが、 NET USER は、ユーザーやパスワードの表示、追加、 いうサプコマンドを用いる。 ープを操作するには、 NET USER と NET GROUP と ユーティリティがある。 NET コマンドでユーザーやグル るための、ドメインユーサーマネージャ " という GUI の とよく似ている。 NT には、ユーサーやグループを管理す NT のユーサーとグループの仕組みは、 UNIX のそれ 124 ドでアクセスできる。 /add オプションを付けすに NET USER を実行する と、既存のアカウントを修正する。ドメインのユーサー アカウントを変更する場合は、 /domain オプションを忘 れないようにしよう。さもないと、ユーザーか存在しない というメッセージが出てきて、 NET コマンドとの無駄な やりとりを繰り返すことになるだろう。ローカルとドメイ ンのユーサー・アカウントはまったく別である。ローカル ューサーを削除するには /delete を使い、ドメインのユー サーを削除するには /delete /domain を使う。 通常、 NET USER はスクリプトの一部、それも多く は Web サーバー側のスクリプト (IIS (lnternet lnfor- mation Server) のアクテイプサーノヾーベージ・スクリプ トなど ) から実行される。 NET USER にはこのようなス クリプトで自重加勺にユーサーを作成したり削除したりする 場合にイリなオプションがある。 ューザー・アカウントに関する・にを増やして、情報検 索を容易にすることができる。 /comment オプションに " ( コロン ) を付け、 ( 二重引用符 ) で囲んだ文字列 ( 48 文字まで ) を言己すると、これをユーザー・アカウン トのデータベース・エントリに加えることができる。同様 /fullname:" ユーサーの名前 ' ' とすればューザーの名 前をフルネームで追加できる。このフィールドは一にのア プリケーションで参照されるので、本来の目的以外には使 うべきではない。 /usercomment:" コメント " オプション でもユーサーに対するコメントを加えられる。 スクリプトで生成したユーザー・アカウントの多くは、 有効期限がきたら自重加勺に無効になるようにしておくべき である。 /expires は、アカウントに期限を設定するパラ メータ付きのオプションである。パラメータには、日付 ( 年は 4 柝仂ゞ使用できる ) か never という単言韶 ) どちらか を指定する。アカウントを一日勺に無効にしたい場合は、 > net user username ,/active : no とする。これで、そのアカウントはデータベースには残る が、ログインはできなくなる。 ューサーがアクセス可能な時間帯を制限したい場合に は、 /times というパラメータ付きのオプションを使えば よい。ここて指定した時間帯以外には、外部からのログオ ンはできない。パラメータにはユーサーがアクセスできる 時間帯をすべて記述する。銀行の営業時間帯と日曜日の 4 UNIX MAGAZINE 1998.9

10. UNIX MAGAZINE 1998年9月号

連載 / コミュニケーション用サーパーのインストールと運用ー② これを利用して、 moderated な ( モデレータ付きの ) ニュースグループだけ保存期間を長くするといった設定が できます。 第 3 フィールドから第 5 フィールドでは、記事の保存 期間を設定します。各フィールドでは、日数 ( 小数も使用 可育もしくは、、 never" ( 永久保存 ) を指定します。これ ら 3 つのフィールドは左から順に keep 、 default 、 purge と呼はそれぞれの次のような未をもっています。 ・ keep 記事の最短保存日数を指定します。 Expires: ヘッダを 含む記事の場合、基本的にはそのヘッダで指定された 期日に消去しますが、期限を過ぎていても keep で指定 した日数のあいだは消さずに残します。 ・ default Expires: ヘッダのない普通の記事の保存期間を指定し INN には、 expire をするとともにログファイルの整理 数カ釜過すれば消去します。 pires : の期限を過ぎていなくても、 記事の最長保存日数を指定します。 keep とは逆に、 Ex- ・ purge ます。 ここに指定された日 UNIX MAGAZINE 1998.9 メールが usenet ( 管理者 ) 宛に送られてきます。 INN の daily を実行した形跡がないが、大丈夫か ? 」という主旨の ていない段階で rc. news を起動けると、起重加叔こ「 news. 前回書き忘れましたが、 news. daily が 1 回も実行され lowmark オプションを指定するだけでいいでしよう。 が、とりあえすは INSTALL ファイルの例にならって 処理効率を上げるためのオプションもいくつかあります expxreover lowmark 30 2 * * * /usr/local/news/bin/news . daily - over オプションを付ける必要があります。 overview 情報を作っている場合は、次のように expire- news. daily には、いくつかのオプションがあります。 するように設疋するといいでしよう。 サーがあまりニュースサーバーを利用しない帯に起動 の実行には、場合によっては数日制かかるので、一イ殳ユー として 1 日 1 回ずつ cron で起動します。 news. daily クリプトが伺属しています。これは、その名のとおり原則 やレポートメールの生成などもおこなう news ・ daily ス インストール直後に起動したときは、かならすこのメール が送られてきますが、異常ではないのでじ、配する必要はあ りません。 innd への設疋ファイル更新通知 いくつかの成疋ファイルは、 innd の起重加こ読み込ま れます。これらのファイルを innd の実行中に変更した場 合には、再度読み込ませる必要があります。これには、次 のように ctlinnd コマンドを実行します。 % ctlinnd reload a11 'reason' ctlinnd reload" では、再言もムみの必要なファイルを個 別に指定することもできますが、上記のように、、 a Ⅱ " と指 定するはうが簡単です。、、 'reason"' の部分はログファイ ルに言求されるだけなので、このコマンドを実行した理由 を適当に言当します。たとえば、 incoming. conf に隣接 サ→ヾー X を新たに追加する設定をした場合は、 % ctlinnd reload a11 'add X t0 incoming ・ conf ' のようにします。 おわりに 今回は、 INN システムの全体像と、おもな設定ファイ ルの書き方について説明しました。 innd を制御するための ctlinnd コマンドの使い方、コ ントロール・メッセージについては角見できませんでした。 INN-2.0 の storageapi (CNFS などの新しい記事のイ呆 : 方式 ) に関する部分にも触れたかったのですが、これも今 回は見送ることにしました。 これらの点については、次回以降で解説する予定です。 53 にやま・よういち京都大学 )