連載 / Pe 日活用のヒント リスト 1 RS S ファイルの内容 24 く ?xml version="l . 0 " encoding="UTF—8"?> く rss version="2.0 " xmlns : b10gChanne1="http ://backend.userland.com/b10gChanneIModuIe"> く channel> く tit1e>hima7u archive く /title> く link>http://www.geocities . jp/himazu/ く /link> く description> 私が書いたもので、 まとまった内容の記事などプログではなく従来の形のウェブサイトになじむ内容を載せています。 プログは & lt ;a href="http: //d. hatena. ne. jp/himazublog/"> ; ここ & lt ;/a> にあります。 く /description> く generator>genhtpg 1 . 3 く /generator> く item> く t 土 tle > スティーブ・ジョブスのスタンフォードでの卒業式スピーチの英文解釈く / title > く link>http: //www.geocities . jp/himazu/2005/steve—j0bs—address-notes . html く /link> く pubDate>Sun , 4 Sep 2005 18 : 03 : 24 + 0900 く /pubDate> く /item> く item> く title > 英語のラジオ番組や講演をパソコンや携帯機器で聞くく / title > く link>http: //www.geocities ・ jp/himazu/2005/en-radi0/ く /link> く pubDate>Fri , 23 Sep 2005 17 : 08 : 56 + 0900 く /pubDate> く /item> く /channel> く /rss> 図 1 RSS ファイルの構造 rSS channel title link description item item ite m title link pubDate どのバージョンでも上記以外のさまざまなデータを含め ることができる。リスト 1 にはないが、多くの RSS 配信 には記事の要約のデータが含まれる。 1 月号の「 BIogger ー利用のヒント」のなかで、、 Blog の記事配信にはおもに RSS 0.92 / 2.0 、 Atom カ駛われ ている " と書いたが、誤解を招かぬように補足しておくと、 RSS 1.0 を配信している BIog やニュースサイトも多数あ る。また、 RSS 0.92 は 0.91 に近く、上位互換だが、 RSS の発展の歴史を考えると 0.91 のほうを RSS の主要なバー ジョンと考えるほうがよさそうである。 RSS 配信の利用 BIog はほば例外なく RSS を提供しており、 104 asahi. corn や CNET J 叩 an などのいくつかのニュースサイトでも利 用できる。 Podcast は enclosure データをもつ RSS 配 信である。 RSS を利用する場合は、 RSS リーダーに登録するのが 一般的である。これにより、数十あるいはそれ以上の BIog やニュースサイトの記事を手軽に読むことができる。 RSS リーダーには通常のアプリケーション・プログラムとして 動作するものと、 web アプリケーションとして web プ ラウザから利用するものの 2 種類がある。前者の例とし ては Firefox の RSS 閲覧機能が挙げられる。後者には Bloglinesl や g00 RSS リーダー 2 などがある。从 b ア プリケーションの RSS リーダーは、自宅や職場などの複 数のコンピュータで RSS 配信を読む場合にイリである。 私の web サイトを BIoglines で表示した画面を図 2 に 示す。 必要なモシュールと perl のバーション genhtpg の RSS ファイル生成機能は XML::RSS モジ ュールを使用するため、あらかじめ CPAN3 から入手して 1 http://www.bloglines.com/ 2 http://reader ・ g00 ・ ne ・ jp/ 3 http://www.cpan.org/ UNIX MAGAZINE 2006 . 3
図 6 インターネットを利用した IP-VPN 図 7 2005 年 4 月のネットワーク構成 インターネット ( 品質管理が困難 ) ( 例 : 三鷹 ) SINET 始点 水沢観測所 Ethernet ハワイ観測所 ATM (L3) 旧 P など 終点 ( 例 : 水沢 ) 野辺山観測所 Ethernet 大手町地区 図 2 の C 区間のコストカまくなります。そのぶん、アクセ ス回線に割り当てる帯域が増やせるので、帯域の割に安価 に利用できます ( 安価なのは、広域間の通信が共用される からでしよう ) 。ただし、 IP 専用であり、 IP アドレスの割 当てやルーティング定といった面倒な点もあります。 IP-VPN ( インターネット ) こちらは、 IP-VPN をインターネット経由でおこなう方 法です ( 図 6 ) 。 上に述べた方式では、 VPN 自体は事業者が管理する閉 よ躡罔で構築されるので品質が保証されますが、インターネ ット経由の IP-VPN の場合は完全に、、ベストエフォート " になります。面に安全性カ辧保できる一方、品質面では RTT の乱れが生じたり、稀にバケットロスも発生します。 ほかの方式にくらべて、品質は低くなります。 Ethernet への変更 以上のように各種のメディアが入り交じっていると、制 約もいろいろと増えて不便です。そこで、今回の更新では、 機器側の運用負担が比較的少なく、かっ VLAN 構成など が自由に組める Ethernet べースの回線に変更することに しました。これにより、三鷹構内の DMZ セグメントを水 沢構内に延長したり、 TV 会議システム専用の LAN を構 築するなど、用途に応じたネットワークが広士躡罔上で構筑 できます。ただし、ハワイとのあいだの回線については、海 外のキャリアとの接続で ATM べースの回線にせざるをえ ないため、現状維持としました。 三鷹や大手町は都市部ですから、アクセス回線として Gi- gabit Ethernet を滷寸是供してもらえます ( つまり、光フ ァイバー上を Ethernet が通ることになります ) 。しかし、 野辺山や水沢には Ethernet 回線のための設備がないので 60 ATM を利用し、コンバータを用いて Ethernet を提供し てもらうしかありません ( この場合、 Ethernet のヘッダぶ んだけ効率カくなり、通常の ATM 回線よりも遅くなり ます ) 。 そこで、水沢およひ野辺山との接続を ATM べースの Ethernet 回線に変更し、三鷹と大手町間には Ethernet 回線を新たに開設しました。そして、これらの回線とハワ イ行きの ATM 回線、ルータ、スイッチ機器などを収容す るために、大手町のデータセンター内のハウジング・スペ ースを借り 4 、回線とともに収容しました。その結果、大手 町を中心とした Ethernet によるレイヤ 2 ネットワークを 観測所間に構築することになりました。図 7 は、 2005 年 4 月における全体の構成図です。 これにともない、一部のルータやハプを大手町に移し、 れらの観測所でもレイヤ 2 ネットワークが自在に組めるよ うになりました。 WIDE や JGN Ⅱとの接続 次に、大手町で JGN Ⅱおよび WIDE ネットワーク に接続しました ( 図 8 ) 。これらのネットワークへは光ファ イバーによる滷は第妾続カ河能なので、 Gigabit 接続も容易 です。 WIDE ネットワークと接続すれば、乗鞍や ( 今後接続 する ) 小笠原用の衛星回線を運用する JSAT 横浜衛星管制 センターとのあいだでレイヤ 2 による接続カ可能になりま す。これによって、衛星回線とインターネット経由の IP ー VPN を利用する必要がなくなり、回線の品質も高くなり 4 一に、データセンターの監視体刷は術機関などとくらべると強固であり、 天文台内より安全です。 Gigabit Ethernet 三鷹キャンパス UNIX MAGAZINE 2006.3
にもとづき、暗号鍵の生成 / 管理、メッセー ジの暗号化 / 復号、署名、鍵窈正などが 自動的に実行できる。 Web プラウザから の暗号化メールの送受イ言にも対応。対応プ ロトコルは POP 、 IMAP 、 SMTP など で、 MS Exchange や Lotus Notes も サポート。 UniversaI Server の対応ハードウェ •NTTIT PC 環境ローミング・ソフトウェア NTT アイティ (TeI 045-651 ー 7608 ) は、 PC 塘竟のローミング・ソフトウェア 「シェアード PC ェンタープライズ版」の販 売を開始した。 教育機関の PC 教室やフリーアドレス ( 従業員の固定席を設けない ) オフィスな ど、不特定多数のユーザーカ数の Win ー dows PC を共用する環境の管理を支援す るソフトウェア。ユーザーごとのクライア ント環境をサーバーにバックアップし、次 回に利用する際に所定の PC に復元するこ とができる。ューザーごとの個人データを iSCSI ストレージに保存することでⅥⅲト dows ログオン時の処理時間を短縮。ネッ •FQS 64bit Linux 対応 Fortran/C コンバイラ UNIX MAGAZINE 2006 . 3 各種の社内情報を求した辞書を配信す システム I Ⅵを販売する。 「 ATOK Business Solutio Ⅱ辞書配イ言 変換辞書や電子辞典用の配信システム は、日本語入力ソフトウェア ATOK の ジャストシステム (Tel 03-5412-3939 ) 飾 OK 2006 対応辞書酬言 CSS (Contents Scramble Sys- 販売を開始した。 ウェア「 PowerDVD for Linux 」の bolinux FUJI 用の DVD 再生ソフト は、 Linux ディストリビューション Tur ー ターポリナックス (TeI 03-5766-1660 ) Linux 向け DVD 再生ソフトウェア 64bit Linux システム向けの Fortran 開始した。 「 Fortran&C Package 64 」の販売を (Tel 092 ー 852 ー 3127 ) は、コンパイラ 富士通九州システムエンジニアリング ト定をおこなうウイザード形式のツール システム導入時にサーバー設疋やアカウン できる。新たに ATOK 2006 に対応し、 品名から価、の変換など ) としても利用 の変換、人名から内線番号への変換、商 ることで、情報の検索ツール ( 独自の用語 •,JUSTSYSTEM システム る。字幕の 2 カ国語同時表示が可能。 用してダウンロード / インストールでき 提供され、専用ツール lrbo プラスを使 Turbolinux FUJI のプラグインとして ウェアの再生に関するライセンスを取得。 tem) で保護された市販 DVD ソフト •TurboIinux 発支援ツールとしてデバッガ、プロファイ 商化、べクトル化などの機能を強イし開 対応。拡張命令セット SSE3 を利用した lntel の EM64T 、 AMD の AMD64 に コンノヾイラと C コンノヾイラのノヾッケージ。 N EWS アは、 Sun Fire V20z 、 IBM e server xSeries 336 、 DeII PowerEdge 750 / 1850 / 2850 など。 イ耐各は 725 , 000 円 ( 25 ューザー時 ) 。 トワーク・プート型のディスクレス PC と の併用が可能で、最大約 1 , 000 クライアン 11 er 2003 、辞書取得クライアントがⅥⅲト JI 、 Windows 2000 Server / Serv- tion 、 Turbolinux 10 Server/FU- WS 3 / 4 、同 Professional Worksta- Hat Enterprise Linux AS / ES / 対応 OS は、辞書公開サーバーが Red 配信に対応するプラグインを用意。 正支援ツール Just Right ! 2 の校正辞書の ABS サーバー導入支援ツールを追加。校 価格は 1 , 980 円。 815 / i830 / 855G / 865G 、 S3 など。 9200 / 9000M / 9200M 、 lntel i810 / i Force4 MX 、 ATI RADEON 9000 / GeForce2 MX/GeForce2 Go/Ge- オカードは、 NVIDIA GeForce FX/ linux FUJI/FUJI Basico 対応ピデ 対応ディストリビューションは Turbo- 207 , 900 円。 価格は 260 400 円。アカデミック版は ずれも 64bit 工竟のみ ) 。 Fedora Core 4 、 SUSE Linux 10 ( い Hat Enterprise Linux AS/ES 4 、 対応ディストリビューションは、 Red ラカ咐属。 を除く ) から。 クライアント・ライセンス。ハードウェア 価格 ( 税別 ) は 120 万円 ( 1 サーバー、 40 象の PC が Windows XPO terprise Linux ES 3 、バックアッフ寸 対応 OS は、サーバーが Red Hat En- トを一元的に管理できる。
ク接続点があります。 UN 工 X MAGAZ 工 NE 2006 . 3 ただし、これも ATM と同様に利用可能なインターフェイ アルケープルで広域上の 2 点間を接続するような感じです。 データ伝送をおこないます。たとえていえば、高速なシリ (High-level Data Link Control) プロトコルにもとづく HSD は、高速のシリアル専用線です。 2 点間で、 HDLC HSD で、選択肢も狭められてしまいます。 は必要になります。そもそも、対応機器が減りつつあるの Cisco のルータであれば、保守のことも考えると数百万円 ATM 回線を収容するインターフェイスカ皜額なことです。 両端で ATM による回線を提供します。欠点は、両端で ATM まず、これらについて簡単に説明しておきましよう。 ています。 VPN ( 専用網 ) 、 IP-VPN ( インターネット ) などを利用し きほども触れましたが、天文台では、 ATM 、 HSD 、 IP- 更新時の懸案事項の 1 つは、回線のメディアです。さ メディアの変更 ほうが大きいため、この構成をとることにしました。 このような問題もありますが、それでも得られる利点の ーネットへの接続もできなくなります。 間で通信カ坏可能になり、三鷹キャンパスを除き、インタ た、大手町地区で大きな障害カ起きると、すべての観測所 場合も移動に時間がかかり、すぐには対応できません。ま 離です。集約点は東京都区部にあり、障害などが発生した たが、デメリットもあります。一番の問題は、物理的な距 こまで、新たな構成の利点を中心にお話ししてきまし インターネットへのアクセスはできません ) 。 きほど述べたとおり、三鷹キャンパス経由で接続している 合、三鷹キャンパスを除く各観測所間の通信は可能です ( さ どで沈黙しても、集約点での接続は保証されます。その場 また、三鷹キャンノヾスが年 1 回の法定検による停電な します ) 。 て、高い応用性も得られます ( その活用事例はあとで紹介 ネットワークとの直孑妾続カ河能となります。これによっ ル内 ( ビル間 ) の光ファイバーや UTP による、これらの したがって、大手町地区に回線の集約点を設置すれば、ビ 国立天文台のネットワー 図 4 IP-VPN サービスの一例 IP-VPN% ( 他ユーザーとの共用区間 ) 始点 ( 例 : 三鷹 ) 図 5 カプセ丿イヒ ATM Ethernet ー IP-VPN ( 専用網 ) スがあまりなく、割高です。 終点 ( 例 : 水沢 ) ATM や HSD とはレイヤが異なります。 ATM と HSD ではレイヤ 2 で 2 点間をつなぎますが、この場合 はレイヤ 3 (IP) 層で接続します。図 4 のように、通信事 業者の所有する VPN ルータ ( レイヤ 3 ) 網と各点 ( 始点 と終点 ) をレイヤ 2 回線で接続します。したがって、 2 点 間の通信は、事業者の VPN ルータを経由するレイヤ 3 接 続となります。この方式では、 IP-VPN 機器などを用意す る必要はありませんが、事業者側のルータにあらかじめ経 路情報を設定してもらわなければなりません。また、 ( 事 業者側の ) VPN ルータの IP アドレスがプライベート・ア ドレスであったりして、管理ができないネットワークを挟 んだ構成になります。 なお、 VPN ルータと始点 / 終点を接続するレイヤ 2 回 線は、ル或にもよりますが、観測所があるような人里離れ た場所では ATM 回線になります。上で述べたように ATM 回線にするといろいろな問題が出てきますが、通常 は ATM—Ethernet コンバータが終端装置として設置され るため、始点 / 終点における提供インターフェイスは Eth- ernet になります。ただし、コンバータを挟むと、 Ether- net のヘッダぶんのオーバーヘッドが生じます。つまり、 図 5 のように、 ATM 上を Ethernet が流れ、その Ether- net 上を IP カ毓れることになります。したがって、実際に 利用可能な帯域は、 15Mbps の ATM 回線なら 12Mbps 程度です ( ああ、だまされた、なんて言ってはいけません ) 。 この方式は、共用区間 (IP-VPN 網 ) を経由するため、 59
連載 / U N Ⅸ便利帖ー 0 図 3 コースの各オ臨聢 下垣当料目のための Mood 厄サイト MMS 、管理物コースカテゴリ・コースの達 ログイン名費朝ユーザ ( ログアウ、第 カテゴリ : 名称 : 省略名 ( 半角英数字 ) : 旧ナンノ ( ー 概要・ フォーマット . 開講日 . 利用有効期 トピックの表示数 . クします。 コース設定 コース名 : 0 : 「ンニッしフィーマイ上 . を」① : ースに第る第第なを新入してください , しいカテゴリー名を記入して [ カテゴリの追加 ] をクリッ UNIX MAGAZINE 2006.3 ースを作るときには、もちろん 0 と表示されているはずです。 4 図 2 では、、その他 " にコースが 1 つあると表示されていますが、初めてコ コースの略称を半角英麩で指定します。これは、ペー 省略名 コース名 ( 一般的には授業科目名 ) を指定します。 名称 で、そのままにします。 カテゴリーを指定します。今回は、、その他 " しかないの カテゴリ すると、それぞれについての簡単な説明カ俵示されます。 ます。図 3 の各項目のそばにある②アイコンをクリック 新たにコースを追加する際には、以下の項目か轂定でき コース設定項目 ようになります。 ージが表示され、新しいコースに関する設疋がおこなえる ースの追加 ] をクリックします。すると、図 3 のようなペ カテゴリーを追加しないときは、図 2 の下部にある [ コ うカテゴリーでコースを作成することにしました 4 そこで、今回はあらかじめ設疋されている、、その他 " とい わさ新たなカテゴリーを作るまでもないと思います。 当科目を e ーラーニング化するごく小さなものなので、わざ こで構築するサイトはあくまで自分の担 よう。しかし、 のをみつけなければならない大規模なサイトでは必顎でし コースカテゴリの設定は、膨大な数の科目から目指すも ジ上部にあるナビゲーションやメールのサプジェクトで おもに使われます。科目コードなどを利用すればよいで しよう。 ID ナンバー ほかのシステム ( 教務システムなど ) と Moodle を連携 させるときに利用する科目コードです。今回は、そのよ うな規模のシステムを考えていないので空欄にします。 概要 コースの概要を言します。スマイリー ( 顔文字 ) や他 文書へのリンク、一部の HTML タグカ坏リ用できます。 フォーマット コースのフォーマット ( いわゆるテンプレート ) を以下 の 3 種類から選択します。 ・ウィークリー : 開始日と終了日を指定し、そのあいだ を 1 週ごとに区切って各週の課題や活動を言当杢してい きます。ーヨ殳的な授業であれば、このフォーマットに するのがもっとも簡単で便利でしよう。 ・トピック : 週単位ではなく、トピックによってコース のお知らせ掲示板などに利用できそうです。 して構成されたコースになります。これは、学科ごと ・ソーシャル : これを利用すると、フォーラムを中心と 払ったものといえます。 を構成します。ウィークリーから時間的な制約を取り 111 の講義があるかを、トピック・フォーマットのときはそ ウィークリー・フォーマットの場合は開講日から何週間 週 / トピックの表示数 にしておけばよいでしよう。 7 月の試験で終了する科目なら 4 カ月 ( 120 日くらい ) 自動的に登金牟除されます。たとえば、 4 月に開講して 数で指定します。ここで指定した日数を経過した学生は 学生がそのコースを利用できる期間を、登録日からの日 利用有効期間 でしよう。 利用されるので、コースの開設日などにしておくとよい グ表示などで各コースに関するもっとも旧い日付として 以外のフォーマットでは未をもちません。ただし、ロ 指定した日から授業が始まるものとみなされます。それ ウィークリー・フォーマットを利用する場△は 開講日
ASCII 落看、火災、難、落下 もしもの備えにアスキーカード ! アスキーカード会員の皆様はパソコンハードの火災や盗難などの事故を総合的にカ バーする「アスキーパソコン保険」が自動的に適用されます。自作 PC も対象になり ます。 ( 入会後一ヶ月後より。 A5 サイ以ー ( 歹トパソコンは除きます。 ) 事故対象商品をアスキーカードを利用して購入したことが明らかな場合は、さらに 充実の保障内容です。 ( アスキーカデでのパソコン購入を証明するにはパソコン の保証書と購入時のカード利用え必要です ) 初年度は年会費無料でカナ、、が利用いただけます。もちろんアスキーパソコン保険 は適用されす。 ( 次年度は年会費が必要です 、 ~ パソコンの不慮のトラブルをアスキーパソコン保険が保障します アスキーカードでパソコンを購入するとさらに補償内容が充実 ! パソコン保障がついて、初年度は年会費無料 ! 年会 度費 1 初年 度費 年会 初年 ASCII CARD NlcoS M 日 e ′ 50 A 県 0 アスキーカードは、パソコン ( 自作含む ) の事故を総合的にカバーする 「アスキー / ヾソコン保測がついた画期的なクレジットカードです。 お申し込み・講田はこちら http://www.ascii.co.jp/asciicard 株式会社アスキー
0 UN Ⅸ便利帖 58 宮下イき甫 e - フーニングサイトを作る ( 2 ) 前回は、 Moodlel を用いた e - ラーニングサイトの構築 2. 新しい MoodIe をインストールする ( ファイルの展開 ) 。 名前を変更する。 1. 現状の MoodIe がインストールされたディレクトリの そうでない場合は、次の手川頁でアップデートします。 ルしていれは大丈夫だと思います。 るので、 1 月 9 日以降に入手した最新安定版をインストー 年 1 月 9 日以降の最新安定版 ( 1.5.3 + ) では修正されてい この問題は 2006 には脆弱性があることカ斗リ明しました 2 今年に入って、前号で紹介した最新リリース版 ( 1.5.3 ) 脆性とアップテート 前回の記事に関する補足を 2 点だけ述べます。 その前に ジ ( コース ) の作成について説明します。 法を紹介しました。今回は、引き続き授業科目ごとのペー ださい。 2 詳しくは http://secunia.com/advisories/18267/を参照してく http://moodle.org/ ータベースをバックアップしておくとよいでしよう。たと より安全にアップデートするには、上記の作業の前にデ cp moodle . obsolete/config ・ php moodle % tar xzf m00d1e—1atest-15. tgz % mv moodle moodle . obsolete % cd N/Sites になります。 前回の設定に沿って具体的に作業例を示すと、次のよう イルがあればそれらも ) コピーする。 3. 旧い Moodle から config. php を ( あとで追加したファ 1 UNIX MAGAZINE 2006.3 えば、 MySQL を利用している場合は以下のようにします ()p オプションの引数 moodle は、 Moodle カ坏リ用してい るデータベースの名前です ) 。 % mysqldump —u moodleuser —p moodle > \ moodle—backup ・ sq1 このようにしてバックアップをとったら、さきほどの手 順で新しい MoodIe をインストールします。そして、 http://サーバー名 /~ ユーザー名 /moodle/admin にアクセスします。すると、 Moodle は自動的に新しいバ ージョンを認識してデータベースや各ファイルをアップデ ートします。 日本語のメール 前回、構築したサイトの詳細設定ページで日本語を利用 するための設定をおこないました。 このとき、、、 Japanese (ja)" を選べば EUC-JP が、 109 ることを前提にしている MUA の場合、メールがいわゆる かし、本文が ISO-2022-JP ( いわゆる JIS コード ) であ ( メーラー ) はこれを参照して適切に表示してくれます。し ダの Content-type: に書かれているので、多くの MUA メールの本文がどの文字コードで記述されているかはヘッ EUC-JP または UTF-8 のメールが届くことになります。 したがって、使用 - 誦吾として日本語を選択すると、本文が の本文の言語も、上記の設疋によって決まります。 ルが管理者や各ユーザーに配送されます。これらのメール に新しい記事が孑高されたりすると、それを通知するメー サイト上で新しいアカウントを登録したり、フォーラム て使われるようになります。 Japanese (utf-8)" を選べば UTF-8 が文字コードとし
0 図 3 JAL のログイン画面にアクセス 方イル町編第 ( Q 景示 ) 0 プマークツー′をル 1 崢 こ内 国、 ~ 」 AE マイレ 1 ンバンク第、ツイ - : 当 ・イトマ、フ、へ↓ 1 、 ( み気、 ー第イン出ミ当けり - ドを嶼ミ 強員ロイン ををれのカ物 ・ JA - マイレージ / パスワード認証では、入力しているところを他人から見 られないように隠すのが普通です。しかし、傍目には何を しているのか分からない方法なら、手川頁を人に見せて煙に 巻くこともできるでしよう。 証手法は無限にありますが、誰にとってもベストな手 法を考えるのは難しいので、楽しいもの、強力なもの、簡 単なもの、おもしろいものなど、状況に適した方法を利用 するほうがよいでしよう。たとえば、以下のようなものが 考えられます ( 括弧内は必要な知識や能力です ) 。 ・与えられた地名を地図上でクリックする ( 地名の知識 ) 。 ・詰め将棋の問題を解く ( 将棋の実力 ) 。 表示された楽譜を演奏する ( 楽器と譜面を読む技術 ) 。 ・聞こえる不暗をそのまま弾く ( 絶対立咸 ) パスワードによる認証結果には成功 / 失敗の 2 通りしか ありませんが、この手法なら、知識や能力に応じて認証レ ベルを変えることができるでしよう。全問即答なら問題は ありませんが、回答に時間がかかった場合は、それなりに 注意してサービスを提供するといった酉が必要です。 1 ) ゆ / / 卩′れ“第 - NO 日、一朝を一 0 ー 、ツアース、 各のホット 」 AL カード 入会キ 充ア するのかもしれません。いすれにせよ操作に関する手がか りは皆無なので、それを知らない人がパスワード生成に成 功する確率はかなり低いでしよう。なぞなそ認証よりは操 作が應えにくく、忘れてしまう可能性もありますが、なぞ なそ認証よりレベルを強くすることも弱くすることも簡単 です。 安全の工夫 今回の実装手法では、サーバーから送られるパスワード 今回紹介した方法の有効性は、ふだん利用しているさま を getpassword. cgi で取得しているため、タッピングなど ざまなサイトで検証できます。新たなシステムの使いやす でバケットを盗み見られるとパスワード文字列が漏れてし さは、短期間の実験ではなかなカ斗リ定できません。毎日、さ まいます。ユーザーの操作をもとにローカルにパスワード まざまな認証手法を使っていくうちに、より効果的なアイ を生成すればよいのですが、そうすると操作方法が分かっ デアカ頓に浮かぶ可能性も高くなるでしよう。 てしまい、画像なぞなそ認証の実現は難しくなります。文 今回はソフトウェアによる実装だけ紹介しましたが、デ 字列を日部引ヒして送る方法も考えましたが、パスワードを スクトップ PC などの据置きシステムで利用する場合は、 サーバーのどこかに記録しておくかぎり、危険はなくなり 自宅の鍵の形伏をパスワード文字列に変換するといった、 ません。実際の運用には、もうひと工夫が必要でしよう。 特別なハードウェアの利用も実用的かもしれません。今 楽しし、認証 後、各種のハードウェアやソフトウェアを用いた認証の実 験をおこなおうと思っています。 パスワードを思い出して入力する作業は煩わしいもので ( ますい・としゆき産業技術総合研究所 ) すが、画像なぞなそ認証のような、自分の知識や能力にも [ 赭文献 ] とづく方式ならどうでしようか。認証に使う写真を選んだ [ 1 ] 高田哲司、小池英樹「あわせ絵 : 画像登録と利用通知を用いた正 り、自分しか解けない問題や技術を工夫するのは楽しいで 候補 j 尺カ式による可正方式の強化法」、情報処理学会論文誌、 しよう。知的なトリックを使ったり、ゲーム的な要素をも VOL44 、 No. 8 、 2003 年 8 月 たせることも可能です。自分だけカ駛える認証手法を考え るのは簡単ではありませんが、憶えにくいパスワードをむ りやり暗記するよりもはるかによいのではないでしようか。 おわりに 156 UNIX MAGAZINE 2006 . 3
す。そして、 clone の引数で指定するタスクの生成方法に より、そのタスクがプロセスなのかスレッドなのかが決ま ります。 システムコールの呼出し ューザープロセスは、ディスクやネットワークなどの外 部デバイスとのあいだでデータを送受信したり、データ領 域用のメモリプロックを確保するといった、リソース ( 資 源 ) とのやりとりをカーネルを通じておこないます。同様 、ほかのプロセスにデータやシグナルを送ったり、新たな プロセスを生成する場合もカーネルを通じておこないます。 カーネルは、ユーザープロセスに対してこのような、、サ ービス " を提供します。そして、ユーザープロセスがそれ らを利用する手段をシステムコールといいます。 このようなシステムコールは、カーネルのテキスト領域 にあるサプルーチンを呼び出すことで実現されます。とこ ろが、カーネルの内部はユーザープロセスから守られてい るため、簡単には呼び出せません。 CPU は、ユーザープ ロセスを実行するとき、特権レベルが -- - ・番低いユーザーモ ードで動いています。反対に、カーネル内部のサプルーチ ンを実行するときは、特権レベルが一番高いカーネルモー ド ( スーパーバイザー・モードともいいます ) で動きます。 つまり、システムコールを呼び出すには、 CPU をユー ザーモードからカーネルモードへ移行させなければなりま せん。このための手続きは、じつはちょっと面倒です。し かし、プログラマーはそういった面倒な手続きをおこなう 必要はなく、システムコールをサプルーチンのように呼び 出すことができます。なぜなら、標準ライプラリが面倒な 処理を隠してくれるからです。 Linux カーネルでシステムコールを呼び出すには、 int 命令 (int 0X80 ) を実行してソフトウェア割込みを発生さ せます。 しかし、 int 命令は割込みべクタ番号を引数に指定でき るだけで、 Linux に用意されている 200 以上のシステムコ ールのどれを実行したいのかは分かりません。また、なか にはいくつもの引数を渡さなければならないシステムコー ルもあります。そこで、 L ⅲ ux カーネルは、レジスタを用 いてシステムコールの指定と引数の受度しをおこないます。 すべてのシステムコールには、システムコール番号とい 88 う一意の識別子が与えられています。この識別番号は、 in- clude/asm-i386/unistd. h で定義されており、その指定 には EAX レジスタを使用します。 一方、システムコールに渡す引数については、 EBX 、 ECX 、 EDX 、 ESI 、 EDI の各レジスタを順に利用しま す。たとえば、引数を 1 っとるシステムコールはその値を EBX に内し、引数が 2 つの場合は EBX と ECX に格 納します。このため、システムコールに渡せる引数は、 ・値は 32 ビットで表せる範囲まで ( ポインタも可 ・引数の数は 5 つまで という制限がありますにこでは説明しませんが、 6 つ以上 の引数をもつ mmap() などのシステムコールの場合はち ょっと違う方法を使います ) 。 ゲートとソフトウェア割込み 前述したように、プロセスがユーザー領域のプログラム を実行するとき、 CPU はユーザーモードという特権レベ ルで動いています。これは権限が一 - 。一、番低いモードであり、 CPU が実行できる命令の種類やアクセスできる仮想アド レスの範囲が制限されています。これによって、ユーザー プロセスが、カーネル領域やほかのプロセスの仮想アドレ ス空間にアクセスするのを防ぐことができます。 一方、システムコールを発行してカーネル領域のプログ ラムを実行するときは、 CPU の特権レベルはカーネルモ ードに上げられます。このモードでは、 CPU のすべての 命令を実行したり、各プロセスの仮想アドレス空間にアク セスすることができます。 このように、ユーザープロセスがシステムコールを発行 するときには CPU の特権レベルを上げる必要があります。 しかし、特権レベルはシステムのセキュリティにかかわる ため、簡単にホイホイと上げられては困ります。いろいろ とチェックしたり、レベルを上げたあとでジャンプするア ドレスを制限するなど、厳しい制御が必要です。 IA ー 32 では、そのための手段として、、ゲート " という機能 が用意されています。ゲートとはその名前が示すとおり、 カーネルへの入口を制限する仕組みで ( 図 2 ) 、以下の 4 種 ・トラップゲート ・コールゲート 類があります。 UNIX MAGAZINE 2006 . 3
工ントリで両方が指定されている場合もあります。その際 は、いずれかの条件が満たされたときにローテーションを 実行することになっています。逆にいうと、処理をおこな わないのはすべての条件が満たされないときです。これら に加えて、ローテーションを実行する時刻が格納されてい ることがあります。この場合には、ほかの条件を満たして いても、指定された時刻にならないと処理はおこなわれま せん。 処理をおこなわないことが分かれば、すぐに関数を終了 できます。この場合にはエントリを削除してかまわないの で、 FREE-ENT を返すことになります。逆に、処理しな ければならない場合には、 do-entry 関数という名前が示す とおり、実際にローテーション処理もおこないます。この とき、ファイルの圧縮処理カっていれば、エントリを残す 必要があるので KEEP-ENT を返し、圧縮しない場合に は FREE-ENT を返してエントリを削除してもらいます。 d0 ー entry 関数のソースコード 関数の動作が分かったところで、いつもどおりソースコ ードをみていきましよう。 do-entry 関数は、 newsyslog ・ c ファイルの 440 行目付近から始まっています。 局所的に利用するマクロ さきほど紹介したように、関数の戻り値は fk-entry 型 で、引数としては conf-entry 構造体へのポインタをとり ます。 static fk—entry do—entry (struct conf—entry * ent) 関数の開始直後には、次のようなマクロ定義があります。 ォルト値を設定するという方法もよく用いられます。この 場合には、最初の定義の部分をたとえは次のようにします。 #ifndef REASON_MAX # define REASON_MAX #endif / * REASON_MAX * / 80 #define REASON_MAX 80 このマクロは関数の内部でのみ使用するため、局所的な 疋義という意味も含め、ここで定義しています。局所的に 利用されるマクロなので、関数を抜けたあとは不要になり ます。そのため、関数の末尾で次のようにマクロの定義を 無効にしています。 #undef REASON_MAX このような局所的な定義では、あらかじめ値が定義され ているときにはそちらを使い、定義されていなければデフ 82 これは、 ifndef で REASON-MAX が定義されていな い場合を調べ、その場合にのみ値を定義するという方法で す。 C 言語のソースコードでは、インデントを使って入れ子 構造を表しますが、 ifdef などのプリプロセッサ命令で条 件判断をおこなう場合には、インデントが用いられること はあまりありません。これは、プリプロセッサ命令が、、行 頭から " 始まっていなければならないという決まりがある ためです。ただし、インデントがまったく使われないわけ ではありません。たしかに、プリプロセッサ命令は行頭に # 記号がなければなりませんが、上の例のように、その後 ろの部分には空白文字を含めることができます。 # の直後 に置く空白文字の数を調整すれば、インデントを入れるこ とが叮能なわけです。 さらに、上記の例では endif の行に、どの ifndef に対 応するものかが分かるようにコメントを付けています。 の例のような短いコードであればよけいに思えるかもしれ ませんが、長いコードを括っているときなどにはたいへん 肩効です。 C 言語の場合、通常は中括弧の対応を調べれば、 有効範囲がどこまでかはすぐに分かります。ェデイタにも それを調べる機能があるのが普通です。しかし、 ifdef など の有効範囲は簡単には分かりません。プログラムを読みや すくするためには、このような工夫も大切です。 do-entry 関数のソースコードでは、不要になったマク 口を無効にしていました。これと同じようなコードにした いと思うかもしれません。しかし、あらかじめ値が指定さ れていた場合には、無効にしてしまうと別の問題が生じる かもしれません。もともと定義がなかった場合にのみ無効 にできるというのか想でしよう。 これを実現するには、マクロを 1 つだけ使う方法では困 難です。というのも、マクロは実際の値を保持するために 使っていますが、そのほかに、あらかじめ値が指定されて いたかどうかの情報を保持する必要があるからです。これ は、もう 1 つ別のマクロを用いることで、たとえは次のよ うに簡単に実現できます。 UNIX MAGAZINE 2006 . 3