Linux Gazette 2002年7月号 #80
今月のLinux Gazette の記事内容
n今月のニュース
 ・法制化
 ・一般ニュース
 ・ディストリビューション関連ニュース
 ・ソフトウエア及び製品関連ニュース
n PosgreSQL 用 PI/PgsqlのPI/Python及びカーソル
n Red HatとUSBデバイス
n GDM 2.2の設定
n コンピュータ馬鹿話
n Wine:Linux上でWindowsアプリに乾杯
n Linuxセキュリティに対する私の指針
 
今月のニュース
▼▼▼ 法制化 ▼▼▼
Palladium
1月に、マイクロソフトが「デジタル権利管理OS」の関するパテントを獲得したことを論じたwe mentioned 。彼らの計画はさらに進展すると思われる。MSNB/ニュースウイークの最近の記事 articleは、新技術における「独占的な最初の着目」をしており、書き出しは、
「セキュリティ、プライバシイ及び知的所有権を確保するためパソコンを作り直すマイクロソフトの野心的な冒険に対する独占的な最初の着目。乗りますか?」
となっている。正直なところ、私は乗らない。記事は、全く無批判でこのような技術を取り囲む多数の立法を何も取り上げていない。

John Lettice, Richard Forno及び Thomas C Greeneの書いたPalladiumに関する優れた記事をRegisterが発表した。このうちの3番目 third of these は、PalladiumがLinux社会に及ぼす影響に重点をおいており、良くないと言う(殆どのハードウエア産業がマイクロソフトに踊らされるのだから、当たり前の話だ)。Robert Cringelyが書いたように has written、Palladium はインターネットのインフラストラクチャ全体に取って悪いニュースだ。

Palladium及び DRM (デジタル権利管理)技術一般に関する詳細な情報が入用であれば、cryptome がMS DRM OS パテント原文も載せた有用なリンクsome useful links を持っている。特に興味があるのは、Ross Andersonの TCPA / Palladium Frequently Asked Questions (TCPA=Trusted Computing Platform Alliance)だ。

 

政府とLinux

BBC は、ドイツがLinuxベースの大型公共部門コンピュータ契約につきIBM及びSuSEと署名したと報じた reported 。ドイツ政府筋の語る決定理由は、コストとセキュリティである。BBCの記事は、裏話も紹介しており、読む価値がある。SuSEの新聞発表SuSE's press release及び、 at The Registerat Slashdot.にあるこのニュースの記事も面白い。

別の吉報は、フィンランドMPが国及び地方自治体にそのITシステムをLinux OSに移行するよう要求したと been reported by DesktopLinux.com 及び by LinuxTodayが報じていることだ。これは大きな流れの一部だ。Slashdotは台湾での進展を「自由ソフトウエアの開発と使用に踏み切る計画」と報じたreported。IDGネットは、オープンソースに移行してマイクロソフト依存を脱しようとする国々の調査書a survey を発行した。

 
 
 

 

▼▼▼一般ニュース▼▼▼
Simile.D
LinuxSecurity.com は、Simile.D と言う、WindowsとLinuxの双方に影響するウイルスがあると報じたreported on a virus 。これはルートとしてe-メール添付ファイルを読むとLinuxユーザーに深刻な影響を与える。セキュリテイのリスクは比較的小さい。詳細な情報は、on Vnunet's website及び on Symantec's website
良い対策は、NewsForgeにあるRobin "Roblimo" Millerの記事article「Windowsに比べたLinuxの短所の一つは、強力なウイルスの影響を受けないこと」を読むこと。
 
 企業向け Linux ソリューションをさらに発展させるため、HP, Oracle, Red Hatが技術専門家を糾合
HP は、その技術資源をソフトウエア会社Oracle,及びRed Hatと糾合し、8-Node Oracle9i Real Application Cluster 環境上のRed Hat Linux Advanced Server を、ProLiant DL580 サーバー上で走らせて新HPから認証して販売すると発表した。
HPのLinux首唱に関する詳細情報は、www.hp.com/linux

この動きは新聞でも論じられた。Siliconvalley internet.comは、これを支配的Linux販売者たるIBMを脅かすものと解釈した has interpreted it 。IDG はこの発展を、Linuxの究極的発展への反応 a reaction to the UnitedLinux development. と特徴付けた。 Don Marti もまた、RedHat に有利に働くOracleの役割が市場で発揮されると論評した commented

 

United Linux 
長期的にわたるLinuxディストリビューションの大地震の一つは、Caldera, SuSE, Turbolinux, Conectivaによる、UnitedLinuxを作るためチームを組むとの発表であった。Linuxにとってこの進展development が正しく意味するものに関する推測Speculationは、発表前から行われていた。新たに作られるUnitedLinuxの目標となる RedHatは、この進展に殆どコメントしていないが、慎重に楽観していると言われる。しかし、Dennis Powellは、これをUnitedLinuxを一方とし、Dell Red Hat とOracleを他方とする大戦争の始まりbeginning of a larger battle であると観測している。
UnitedLinuxの注目される特徴の中でも、 the refusal to distribute free binaries フリーバイナリ配布の拒否、及びシート毎のライセンスへの言及が注目される。これらの領域の詳細はまた煮詰まっていない yet been worked outと思われる。
 
Alexis de Tecquevill 協会
先月の出来事で最も議論が多かったのは、「オープンソース論争の開始」(Opening the Open Source Debate)と題する白書の Alexis de Tocqueville Institution による発表だthe release。この文書が指摘した点の中でも、
「あるグループが提案するように、連邦政府が「オープンソース」に切り換えると、米国コンピュータネットワークを乗っ取り又は混乱させようとするテロリストが、やり易くなるだろう」
が問題だ。これは疑いなくオープンソース・ソフトウエアに関わる人々の非難を招くであろう。
幸い、フリーのオープンソースを信じる我々に取っては良いことは、こんな論議が盲目的には受け入れられないことだ。実際、白書の論理には慎重に検討された反論がある。David F. Skollは、Sydney Morning Heraldで(at Roaring Penguinでも) Thomas C. Greene at The Register 及び Karl O. Pinc at NewsForgeと同じく、特定の論点に対し詳細な反論detailed arguments をおこなった。
何人かの論者は、白書の執筆にマイクロソフトがなにがしが支払ったと示唆したsuggested。白書の元々の資金源が誰であれ、読みたい人はニュースフォージが言うようにas reported by NewsForge$5.29を支払わなければならない。原版をfrom a non-ADTI serverからダウンロードすることも出来る。版の違うこの文書の間の相違は、綴りと文法である。

政府及び軍部の中のオープン/フリーソフトウエアの役割に関する肯定的解析については、the MITRE paper にある。最後に、皮肉なことにNewsForge はADTI自身のウエブサイトがApache. を走らせていることを喜んで報告している pleasure of reporting

 

Mobilix が Obelix に対し勝訴
ドイツでの最近の審理で Mobilixと言う名の所有主が、有名なAsterixコミック本シリーズの所有主Les Éditions Albert Renéの起こした訴訟に勝訴した。Asterixコミック本はObelixと言う名のキャラクタを特徴としており、Mobelixの名は商標権の侵害であると言うのがLes Éditions Albert René弁護士の争点であった。Mobelixは、Mobile Unix (詳しく言うと、ノートパソコン、PDA、携帯電話などの上のLinuxとBSD)専用のウエブサイトである。法廷は、全く異なる市場を狙っているときは特に、紛らわしい名称になることもあると、裁決した。
本件の文書はオンライン online (in Germanドイツ語でも)で得られ、MobiliXの弁護士Jaschinski Biere Brexlからの手紙も含まれている。
 
 
 
 
▼▼▼ディストリビューション関連ニュース▼▼▼
Debian
Debian Weekly News は、予備的XFree86 4.2.0パケージが入手出来ると報じたreported。Branden Robinson と石川ムツミの発表はここ here。Werner Heuser がXFree86 4.2.0の手引きMini HOWTO about Debian-XFree86 v4.2を作った。出来ればミラー a mirrorからダウンロードされたい。

DWNはまた、alpha, i386, m68k, PowerPC用の更新 Woody MiniCD images も入手出来るとavailability of 報じたreported
 
Gentoo
Gentoo Linux 1.2が6月10日リリースされた released June 10
 
Phat
Phat Linuxの第4リリースがFTPサーバーに到着した。Ximian GNOME 及び 2.4.18 kernelなどの更新を含む。Phatは、パーティションを仕直さないでWindowsに搭載出来ることを狙っている。
 
Slachware
Slackware は、Slackware 8.1のリリースを発表した。このリリースのハイライトには、KDE 3.0.1, GNOME 1.4.1 (Evolutionのような新しい追加付き), 期待の Mozilla 1.0 ブラウザ, ext3, ReiserFS, JFS, XFSなどの新ファイルシステムのサポート、幾つかの新SCSI 及びATA RAID コントローラのサポートが含まれる。store.slackware.comで購入するか、又は沢山のミラーmany mirrorsの一つからダウンロードする。新リリースは、Linux Planetが審査し reviewed by Linux Planet 、Slashdotも報じているreported by Slashdot
 
SuSE
SuSEは、UnitedLinuxの開発者のリリースを計画しておりSuSE plans a developers' release、per-seatのライセンスはしない。これは、UnitedLinuxに参加する他のディストリビューションには影響がない。

SuSE Linux は、SuSE Linux Pro-Office CDがサンマイクロシステムのStarOffice 6.0とともに6月中旬入手出来ると発表した。加えて、SuSE Linux 8.0用Pro-Office CDは、究極デスクトップ環境KDE 3.01の最新版と同時にSuSE Linux 8.0 OSの重要な手直しを特徴とする。Pro-Office CDを用いて、SuSE Linux ユーザーは、そのホームコンピュータに最新のLinux技術を装備することが出来る。

SuSE Linuxはまた、SuSE Linux Groupware Serverの更新版のリリースも発表した。Linux OSを新たにリリースされたLotusアプリケーション・サーバー5.0.10に織り込むと、SuSE Linuxグループウエア・サーバーが、Intel及びAMD32-ビットプロセッサ用の強力なLotusソリューションとなる。
 
 
 

 

▼▼▼ソフトウエア及び製品関連ニュース▼▼▼
Mozilla 1.0

殆どの人が承知だが、6月にMozilla 1.0がリリースされた released

Mozillaが100% GPL になるまでは、プロジェクトに接触して貰う人がもっと必要だが、今まで貢献した人は殆どいない a few contributors ことに留意されたい。見付け出すのと手伝うことが出来る人がいるだろう。

 

Linux Game Publishing:Majesty

Linux Game Publishing が、MajestyのLinux版から最初のスクリーンショットscreenshotをリリースした。Majestyは、LGPで開発中のリアルタイム戦略ゲームである。

 

Faximum が Linux 及び Windows 用に新 Faxソフトウエアを発表

ファックス・サーバー・ソフトウエアの開発者Faximum Softwareが、そのFax Messaging Server (FMS) 製品の新リリースを発表した。FMS2は、組織に既存のe-メールサーバーと一体になってLinux上で走り、Windows, Mac, Linuxのユーザーがファックスをe-メールと同様容易に送受信することが出来る。www.faximum.com/demoでFaximumのサーバーを走らせるソフトウエアをテストすることが出来る。

 

Mammoth PostgreSQL フリー環境が入手出来る

Command Prompt, Inc.は、RedHat Linux 7.2/7.3 用Mammoth PostgreSQLの評価版が直ぐに入手出来ると発表した。リリースには、5接続Mammoth PostgreSQL, PostgreSQL 用XML アプリケーションサーバーLXP 、及びGUIベースのデータ管理アプリケーションMammothブラウザが含まれる。

製品は、 http://www.commandprompt.com/ にあるCommand Prompt, Incのウエブサイトを訪ねて電子販売で入手出来る。

 

Cylant IDSの更新発表

Linux 及び FreeBSD サーバープラットホーム用のホストベース侵入検出、撃退システムの提供者Cylantは、CylantSecureのバージョン1.2.3のリリースを発表した。CylantSecureは、kernel監視を利用してセキュリテイに対し予防的、行動的方法を適用し、署名やルールセットを連続的に更新することなく攻撃の検出が出来るようにする。

CylantSecureの新バージョン1.2.3の利点は:

・kernelレベルでの良好な行動測定のための改良機器。
・ポートスキャンと接続乗っ取り計画の優れた認識を実行するための融通性のあるIPプロファイリング。
・ウォッチャは前のバージョンより迅速に実行する。
・新らしい自動学習強制アクセス管理システムを含む
 
Reliaty が新規データ保護製品を発表

最新のデータ保護を提供するReliatyが、ネットワークデータ管理プロトコル(NDMP)基金で開発されたソフトウエアReliaty Backupを導入した。これにより、サーバー及びプラットホーム又は接続点の位置に関係なく、記憶環境内の任意の点から任意の装置に対しデータをバックアップし回収することが可能となる。Reliaty Backupは、この継ぎ目なし方法論を多重プラットホーム環境に提供し、経費節減、使用の便、迅速なデータ取得の改善をはかる。このソフトウエアは、ネットワーク付属記憶(NAS)装置及び、NASがなくともUNIX、Linux及びWindowsで使用することが出来る。

 

IBM の Linux センター

Linuxソリューションに対する需要の増加に応えて、IBM は、ニューヨーク市に初めてセンターを開設し、金融サービス産業のLinux展開を援助すると発表した。マンハッタンにおかれるLinuxセンターには、IBMと同時にそのパートナーからの、金融業カスタマがLinux実施を評価し計画するのを助けるハードウエア、ソフトウエア及びサービスを盛り込む。SunGard, JD Edwards,Veritas, Sybase などが、IBMのLinuxセンターで技術の利用出来る主要パートナーである。

 
Alkeia が Plasmon テープライブラリ認証を発表

南カリフォルニアのArkeiaネットワーク・バックアップ・ソフトウエア供給者Arkeia Corporationが、Plasmon自動データ記憶ライブラリと互換性テストを完了した。 Arkeia 4.2 は、Plasmon V-シリーズとの互換性を、間もなくリリースされるArkeia 5のベータ版とともにテストした。Arkeiaの最高執行責任者Philippe Rousselはこれを「Plasmon ライブラリにLinux及びUnix環境での新しい将来性を持ち込むもの」と言う。

 
プラグ&プレー・セキュリティ・ブレード装置

フロリダ州Boca Ratonの(IBM退職者による)OmniCluster Technologies が開発した SlotShield 1000 及びSlotShield 3000 ブレードサーバーが、セキュリテイ装置市場を変えつつある。OmniCluster はCheck Point Software Technologiesと提携し、Check Pointの VPN-1/FireWall-1 にOmniClusterのSlotShield 装置ブレード技術を組み込んだ。両製品とも、PCI互換で任意の工業標準サーバーシステムに搭載することの出来るプラグ&プレーセキュリティ・ソリューションである。SlotShield 3000のプラグ&プレー機能により、インストレーションがサーバーのネットワークインターフェイスカードの交換と同じ位簡単になった。SlotShield 3000は、Windows NT サービスパック6, Windows 2000, Windows XP、Linux kernel 2.2x 及び2.4x.を走らせる人のサーバーをサポートする。

OmniCluster は、セキュリティ・ブレード装置を現在三つの変形で提供する:

・単一サーバー・ファイアーウォール
・サーバー工場向け、高利用度ファイアーウォール(HAFW)
・URL, ウイルス駆除、e-メール選択、侵入検出用の多用途
 
MEN Micro から新 PXI システム

広範囲の産業用リアルタイム及び埋込コンピュータ製品の設計、製造、販売をおこなうMEN Microが、二つの新PXIシステムのリリースを発表した。MENの新PXIシステムは、21個の PXIスロットが付いた19インチ7Uラックと、7個のPXIスロットが付いた4Uハイラックの二つのサイズがある。Pentiumベースの6U及び3Uコントローラが、これらPXIシステム用処理プラットホームの心臓部にある。MENは、2002年末にPentium IVベースのPXIシステムコントローラを発表の予定でいる。MENの製品ラインは、Windows NT, VxWorks, OS-9, QNX, Linuxなど広く使われるOSをサポートする。

 

Wolfram Research が Mathematica 4.2 のリリースを発表

Wolfram Research,が、Mathematica 4.2. 新パケージをリリースした。XML 機能及びJava接続性が加わった。

 

その他のソフトウエア

Samba チームは、Sambaの最新版Samba 2.2.5のリリースを発表した announce

 

Galeon 2.5 was released が6月8日にリリースされた。Mozilla 1.0 互換が特徴。

 

Copyright © 2002, Michael Conry and the Editors of Linux Gazette.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 80 of Linux Gazette, July 2002
 
 
 

 

PosgreSQL用PI/PgsqlのPI/Python及びカーソル

By Mark Nielsen

目的

この記事の目的はPostgreSQL 7.2 の中のプロシージャ言語を用いる新しいプログラム技術に親しんで貰うことにある。私は、プロシージャ言語には大変興味があるが、中でもPostgreSQLが記憶プロシージャを持って現れたときには感動した。SQL, Pl/PgSQL, Pl/Perl, Pl/Tcなど色々な型のファンクションを作ることが出来る。最近の7.2では−PerlとPythonに限定されない−Pl/PerluとPl/Pythonもある。データベースサーバー内で別のプログラム言語を使う能力があると(Perl とPythonよりやや効率は悪いが)プログラムが大変楽になる。ここ数年、プロシージャ言語が1項目しか返さないのが不満だった。取り上げた人もいるが不十分だった。1項目以上を返すプロシージャ言語が永い間の望みだった。これに類したことが出来ることを示すが、さらに改良する案がある。

注記:この記事の基には Red Hat 7.2 を使っている。Linuxの別の版では違う事項もある。

PostgreSQLのコンパイル

PostgreSQLをコンパイルするとき承知しておくべきことが三つある:
1.src/pl/plperl/Makefile.PLをエディットし、14行目から34行目までをコメントアウト。
2.Edit src/include/pg_config.h.in をエディットして
#define INDEX_MAX_KEYS 16
を次のように変更
#define INDEX_MAX_KEYS 512
3. PostgreSQLをコンパイルするにはこのコマンドを使う:
adduser postgres
mkdir /usr/local/pg72
./configure --prefix=/usr/local/pg72 --with-libraries=/usr/lib/perl5/5.6.0/i386-linux/CORE/libperl.a --with-perl --with-python
make
make install
chown -R postgres /usr/local/pg72
mkdir /home/postgres
chown postgres /home/postgres
su -l postgres
odbc, tcl 及び別の言語を加えることも出来るが、今は例としてPerl とPython だけを使う。"make" と"make install" を実行した後、ユーザーpostgerとして次のコマンドを続ける。
1.
PATH=/usr/local/pg72/bin:$PATH
export PATH
LD_LIBRARY_PATH=/usr/local/pg72/lib
export LD_LIBRARY_PATH
export PGDATA=/usr/local/pg72/data
export PGLIB=/usr/local/pg72/lib
2.initdb
3./usr/local/pg72/bin/pg_ctl -D /usr/local/pg72/data -l /tmp/pg_logfile start
4.createlang plperl template1
5.createlang plpython template1
6.createlang plpgsql template1
7.createdb postgres

カーソルを用いる Pl/Python と Pl/PgSQL の実行

コマンド "psql template1"を用いて実行することの出来るコマンドを示す。これはデータベース "postgres" が既に作られていると想定する。

以下のコマンドを実行する:



\c postgres





drop table contact;


create table contact (


first text, last text, phone text, address text,


city text,state text, zip text


);





drop function replace_e_to_a(text);


CREATE FUNCTION replace_e_to_a(text) RETURNS text AS


'


import re


Text1 = re.sub(''e'', ''a'',args[0])


return Text1


'


LANGUAGE 'plpython';





drop function replace_numbers_to_z(text);


CREATE FUNCTION replace_numbers_to_z(text) RETURNS text AS


'


import re


Text1 = re.sub(''[0-9]'', ''z'',args[0])


return Text1


'


LANGUAGE 'plpython';





insert into contact values ('Mark','Nielsen','123-123-1234',


  '1234 Somewhere St.', 'Some City 123', 'TX','12345-1234');


insert into contact values ('Mark','Nielsen2','123-123-1234',


  '3456 Somewhere St.', 'Some City 444', 'MI','12345-1234');


insert into contact values ('Mark','Nielsen3','123-123-1234',


  '5678 Somewhere St.', 'Some City 654', 'AX','12345-1234');





select first, last, address  from contact;





drop function select_contact();


CREATE FUNCTION select_contact () RETURNS refcursor AS '


DECLARE


    cursor1 CURSOR FOR select replace_e_to_a(first)as first, 


                        replace_e_to_a(last) as last,


                        replace_numbers_to_z(address) as address


            from contact;


BEGIN


 open cursor1;


 return (cursor1);


END;


' LANGUAGE 'plpgsql';





begin;


select select_contact();


FETCH cursor1; FETCH cursor1;FETCH cursor1;


end;


出力は次のようになる筈:


DROP


CREATE


DROP


CREATE


DROP


CREATE


INSERT 255188 1


INSERT 255189 1


INSERT 255190 1


 first |   last   |      address       


-------+----------+--------------------


 Mark  | Nielsen  | 1234 Somewhere St.


 Mark  | Nielsen2 | 3456 Somewhere St.


 Mark  | Nielsen3 | 5678 Somewhere St.


(3 rows)





DROP


CREATE


BEGIN


 select_contact 


----------------


 cursor1


(1 row)





 first |  last   |      address       


-------+---------+--------------------


 Mark  | Nialsan | zzzz Somewhere St.


(1 row)





 first |   last   |      address       


-------+----------+--------------------


 Mark  | Nialsan2 | zzzz Somewhere St.


(1 row)





 first |   last   |      address       


-------+----------+--------------------


 Mark  | Nialsan3 | zzzz Somewhere St.


(1 row)





COMMIT





この例から、Pl/pgSQL がPython プロシージャ(Pl/Python プロシージャ)を実行する方法が分かるだろう。Pl/Pythonプロシージャの実行にはPl/pgSQLを必要としない、私はそうして行った。データの操作だけに Perl とPython を使って、テーブル中のデータは変更しない。Perl とPython はデータを入出力するだけで、データベースには直接働き掛けない。また、PerlをPostgreSQL にコンパイルするときpl/perlu がインストールされるので、好都合である。

将来への提案

私は未だ三つの大きい不満/提案を持っている:
1.プロシージャは1「項目」しか返さないようだ。2項目は返せない。少なくとも2項目−カーソルとカーソルが良好か否かを示すフラッグ−を返すのが望ましい。カーソルは、一つ以上の値を返すプロシージャを作らない。返すのは、項目自体ではなく、多くの項目へのリファレンスと考えられるカーソルだ。プロシージャをコンパイルする私の方法では、512個までの入力は取り上げるが、1「項目」しか返さない。何故か驚いている。メールリスト上の論議と文書を読もうとしたが、失敗した。
2.カーソルに対して行うことの出来るのは、存在するエントリの数、残りエントリの有無、エントリの有無、実行の正しさなど、余り多いとは思えない。カーソルは、改善する必要がある。意見を述べるには私の経験が不足だ。
3.プロシージャはデータの列(複数)を返さない。その他にも、1項目しか返せない。項目の列(複数)又は多数の項目を含む列は返せない。複数の項目を含む複数の列を返すと素晴らしい。1列のデータを返したいときであってもカーソルが1項目を返し、続いて状態(良、可、数など)も返すと立派だ。1項目以上を返すことが出来ると、コンパイル時の数により同時にそれを無制限又は制限付きにすることも出来る。
私はPostgreSQLにおけるプロシージャ言語の連続が好きだ。これは、他のフリーデータベースサーバーや殆どの商品よりも進歩していると思われる。記事を書き続けて援助するので、読者も特性を加えて、助けて頂きたい。

これはカーソルへの不満ではなく、Perl用DBD:Pg及びPostgreSQLへの−カーソルがサポートされていない−他のサポート−に関するものである。だから、Pl/PgSQLが多数項目の多数列を返すことが出来れば、この問題を始末することができるだろう。

プロシージャからデータを記憶する唯一の別法は、プロシージャ終了後にアクセスすることの出来る一時テーブルの中に対してだ。入手したいデータの99% について、これは少し極端だと思う。極端だと言うのは、欲しいのは1列のデータで、1列のデータのためだけにテーブルを作るのは、その労力に値しないからだ。

まとめ

Pl/Python は結局、私が Perl に行くのをこれ切りにするだろう (o Pythonに切り換えた)。Pl/PgSQLは、プログラムや複雑なプロシージャを作る何かに近付いている。これが、カーソルに対するリファレンスだけとか単一項目だけでなく、多数の項目を返すと良いと思うだけだ。

悲しいのは、Perl用 DBD::Pg の私のバージョンと、私のPythonインターフェイスがカーソルをサポートしないので、殆どの部分が役立たないことだが、少なくとも良くなっている。有望ならしいものを http://developer.postgresql.org/todo.php で見付けた。私の使うプログラム言語ではカーソルがサポートされていないので、実際に沢山のデータを記憶する必要があるときは、一時テーブルを使う必要があるだろう。プロシージャ言語が、普通のsqlコマンドで出来るようにデータを返すことが出来ない理由が未だ分からない。限界が何であれ、これが解決すると素晴らしい。

参考文献

1.Standard Database Setup with Perl and PostgreSQL: Part 3
2.Part 2: PostgreSQL: Perl procedures with PL/pgSQL
3.Part 1: PostgreSQL: Perl procedures with PL/pgSQL.
4.別の記事 setting of Web and Database Servers.
5. PostgreSQLに関する.Branden Williams articles
6.http://techdocs.postgresql.org/oresources.php
7.http://techdocs.postgresql.org/
8.この記事には全く役立たないが、将来の記事に考えているもの.
http://authpg.sourceforge.net/.
http://www.digitalstratum.com/pglogd/
http://www.giuseppetanzilli.it/mod_auth_pgsql/
http://www.zort.ca/postgresql/ -- 大変良いので使う積もり。試したら、私のテーブル全部を組み分けしたので、そのテーブルを分離しなければならなかった。
http://www.brasileiro.net/postgres/cookbook/
9.この記事に変更があれば、http://www.gnujobs.com/Articles/26/nielsen.htmlで分かる。
 

著者紹介:Mark Nielsen

Markは、個別のマルチメディアe-メール、ウエブ、ニュースレターキャンペーンを作り、配布し、追跡する AudioBoomerang.com にいる。彼は、将来のキャンペーンに使われる人口統計や心理学的側面などの最新特注統計報告書最終製品を AudioBoomerang.com 顧客に渡すコンサルタントとした働いている。余暇には、無料ソフトウエア(GPL) 又は無料文学作品(FDL)に関する記事を書いており、非営利学習センターeastmont.netに従事している。
 
Copyright © 2002, Mark Nielsen.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 80 of Linux Gazette, July 2002
 
 
 
 
Red HatとUSBデバイス

By Mark Nielsen

目的

この記事の目的は、Linuxで働く私のUSB マウス、USB カメラ、USB ハードディスクを作ることにある。

私の持っている Emperor Linux コンピュータと USB

Red Hat 7.3 を使い始めた。色々努力してLinuxディストリビューション全部を揃えたのは良いのだが、 Red Hat 7.3 には少し不満がある:
1.OpenOffice がディストリビューションにないように思われる。どんな理由であれ、これは解決しなければならない。KDE Office とGnome Officeは素晴らしいが、OpenOfficeを入れてないのは大変な間違いだ。OpenOfficeは、人々がLinuxに乗り換える重要な要素だ。Gnome Office, KDE Office, OpenOfficeの3個の組があると(GIMP. Mozilla, Evolution, PovRayなど素晴らしい他のソフトウエアと相俟って)本当に人々をLinuxに乗り換えさせることが出来る。
2. /usr/src/linux の下にある Red Hat 7.3 用のkernelは、kernelを自分のシステムに搭載する方法が設定されていないように思われる。 Red Hatのウエブサイトで検索したが、見付からなかった。kernelのコンパイルに使用する configs ファイルを支給(又は見付け易く)しないのはおかしくないか?多分私が見付け損ねたのだろうが、カスタムconfigファイルの在り場所が明確でなかった。これでkernelをコンパイルするたびに頭に来た。欲しい機能全部を手に入れたことがなく(すべてをモジュール化しても)大きくなり過ぎるからだ。.
3.インストールしたkernelに、自分で作ったモジュールの追加が出来ないのは明らかだ。少なくとも、kernelソースツリーの外側でusbideモジュールをコンパイルしたとき、それは出来ないと言って異様なエラーを示した。しかし、私の買ったEmperor Linux (Red Hat 7.2)コンピュータ上では、そんな問題はなかった(kernelは会社がコンパイルしており、kernelを再コンパイルすることなくusbideモジュールをコンパイルすることが出来た)。

私のUSB カメラとマウスは、Red Hat 7.3 で働くけれども、それにusbハードドライブを使うことが出来なかったので(新kernelを初めからコンパイルしないといけないが、いつもそれに失敗した)、Emperor Linux から買ったLinuxノートパソコンでusbハードドライブとカメラを使うことにした。

USB 光マウス

(ブランドが違う)USB 光マウスを3個持っており、全部Red Hat 7.3, Red Hat 7.2, 私の Emperor Linuxコンピュータで働く。Red Hat 7.2の規定kernelで光マウスが働くかどうかは分からない。(無線ネットワークカードを働かせるため)別のkernelでコンパイルしたからだ。

USB HP PhotoSmart 318 カメラ

私のHP PhotoSmart 318 カメラは全く良く働く。見付けたヘルプペイジは下記:

http://lhd.datapower.com/db/dispproduct.php3?DISP=3101

値段は$179で価格の割に性能は満足な最良のカメラだ。同じ性能の他のカメラはすべて2倍から3倍の値段だ。 市場が変わったのに他のメーカーが未だ値下げしないためと思われる。私の用途には完璧だ。解像度は十分で、jpg画像をセーブしたが、必要ならメモリ拡張も出来る(8メガで十分なので拡張しなかった)。

Red Hat 7.3 と私のEmperor Linux コンピュータでのm重要点は、記事にある通り:

1.カメラをハードドライブモードに変えた。
2.usb-uhci はうまく働く(記事では働かない)。
3.私の /etc/fstabでは、


  ### for my camera.


/dev/sda1 /mnt/camera vfat noauto,sync,nosuid,user,unhide 0 0


4.mkdir -p /mnt/camera
5.mount /mnt/camera
とすると、画像が"/mnt/camera/dcim/100hp318/" に入る。画像の削除は試さなかった。カメラを使うときだけ削除してコピイした。メモリを追加しないで約14枚の画像を撮った。

5年以内に殆どの人がデジカメを使い、普通カメラはプロが使うか使い捨てカメラだけになると思う。デジカメのメモリが大きくなって、5年以内には小型カメラに数百枚を記憶出来るようになると思う。フィルムカメラは要らなくなるだろう。

BUSLink 40G USB 外付けハードドライブ

私の USB 外付けハードドライブは、働かせるのに一寸苦労したがウエブペイジ http://bravin.home.cern.ch/bravin/usbide/usbide.html. を見付けて解決した。
1. usbide-1.2.2-b.tgzをダウンロード
2.tar -zxvf usbide-1.2.2-b.tgz
3.cd usbide
4.make
5.make install
少し問題があった。
1. /usr/src/linux pointing からLinux kernelソースまでシンボリックリンクを作る必要があった。
2.ハードドライブにはパーティションを一つしか持てない。heads/sectors/cylinders を変更しようとしても、変更をセーブしないからだ。
3.沢山のデータをコピイしてハードドライブの強度試験をしたとき、1ギガの後、異様なエラーを示したが、それ以後問題はない。
4.理由不明だが、標準 Red Hat 7.3 は、自分のモジュールをコンパイルしてそれを/lib/modulesの下のモジュールに追加するためのコンフィギュアを正しくすることが出来なかった。私は、変だと思う。
5.理由不明だが、Red Hatが私のシステムにインストールしたのと全く同じkernelを得るためkernelをコンパイルするconfigファイルが見付からなかった。新kernelをコンパイル仕直さなければならないのなら、少し変更をするだけの全く同じものが欲しい。皆さんには出来て、configファイルはどこかに在るのだろうが、私には見付からなかった。仕方なくEmperor Linuxから買ったコンピュータだけを使った。

将来に対する提案

試したいウエブカムがある。http://webcam-osx.sourceforge.net/cameras.html.を見られたい。私のIBM NetCam はリスト、バンナーで賛助されていない。安いので、新ウエブカムを買う積もり。

まとめ

USB デバイスの使用は全く素晴らしい。 USB デバイスは嫌いだったが、今はリソース全部を使わないでLinuxボックスに付けた沢山の中身を持つことが出来るので、好きだ。沢山の会社が自社製品用のLinuxドライバを作ることを望む。私はUSBハードドライブをバックアップ以外に使ったことがなく、CPUパワーを沢山必要とする中身にはUSBに頼らない。重い中身にはFirewireが良い。その他のUSBデバイス(マウス、キイボード、プリンタ、ウエブカム、カメラなど)は、必要オーバーヘッドが低いのでUSBに合っている。

私が3ギガのデータをハードドライブにコピイして、エラーを探した。悪いセクターがあると思われたので、"-c"オプションを使って一日掛かりでmdfsを走らせた。結局mkfsが吹っ飛んだので、Linuxで外付けハードドライブが使えるようになるまで、もう少し待った。ハードウエア互換性を調べて新しいハードドライブ(多分USBでなくfirewire)を買うことになるだろう。

参考文献

1.http://lhd.datapower.com/db/dispproduct.php3?DISP?3101
2.http://bravin.home.cern.ch/bravin/usbide/usbide.html
 

著者紹介:Mark Nielsen

Mark は、個別のマルチメディアe-メール、ウエブ、ニュースレターキャンペーンを作り、配布し、追跡する AudioBoomerang.com にいる。彼は、将来のキャンペーンに使われる人口統計や心理学的側面などの最新特注統計報告書最終製品を AudioBoomerang.com 顧客に渡すコンサルタントとした働いている。余暇には、無料ソフトウエア(GPL) 又は無料文学作品(FDL)に関する記事を書いており、非営利学習センターeastmont.netに従事している。
 
Copyright © 2002, Mark Nielsen.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 80 of Linux Gazette, July 2002
 
 
 
 
GDM 2.2の設定

By Mark Nielsen

はじめに

GDM即ち GNOME ディスプレー・マネージャは、君のコンピュータをブートアップしたときのグラフィック・ログイン・サービスだ。基本的に、ログインの前に綺麗な画面を作る。RedHat、及び多分他のディストリビューションも、の標準インストレーションでは、GDMが全く素晴らしい。ユーザーとしては、プログラム "gdmphotosetup"を走らせ、コンピュータがスタートしたとき示される絵を設定することが出来る。"root" ユーザーとしては、沢山の素晴らしい設定をさせる "gdmconfig" を使ってGDMを設定することが出来る。皆さんが自分で出来るのに、私がこの記事を書く理由は、君達の想像しない悪いことを示すためだ。

GDM の行儀悪い設定

gdm.conf ファイルで、次のオプションを変更した(gui設定プログラムの中で出来る)。


TitleBar=true


Browser=true





LockPosition=false


SetPosition=true


PositionX=0


PositionY=700


私の /etc/X11/gdm/Init/Default スクリプトを示す。



#!/bin/sh





/usr/X11R6/bin/xsetroot -solid "#363047"





    ### この次の項目はセキュリティリスクが巨大である 


    ### これはユーザー "mark" を使って基本的にxterm を設定する. 


xterm -r -fn 6x12 -geometry +0+25 -e '/etc/X11/gdm/mark.sh' &


#xterm -r -fn 6x12 -geometry +0+25 -e '/etc/X11/gdm/dummy.sh' &


    ### これは背景に絵をおく


/usr/bin/xsri -geometry 500x500+600+300 /etc/X11/gdm/im000048.jpg


    ### これは xeyes を画面上においてマウスポインタを監視する。


xeyes -geometry +800+650 -bg white -fg green -outline blue &


    ### 年中クリスマス


xsnow -santaspeed 10 -santa 2 -snowflakes 1000 -whirl 4 -windtimer 30 &


    ### 秒まで時間を計る


xclock -digital -geometry +600+650 -update 1 &





    ### 有名な mine ゲーム。残念乍ら、位置は決められそうにない 


    ### 画面の真ん中に飛び出すだけ。


gnomine &





  ### Maelstrom は一寸良い


Maelstrom &


   ## GDMの後にxboard が飛び出すので、使えない。


#xboard &


  ### Chromium は素晴らしいアーケード上の古いゲームだ。 


chromium-setup &


  ### 地球上で輝く光を見ること


kworldclock -geometry +750+0 &


  ### デスクトップには似合わない生物だ。 


amor &





ここでf '/etc/X11/gdm/mark.sh' の内容だ。



#!/bin/bash





trap "" HUP


trap "" INT 


trap "" QUIT


trap "" KILL


trap "" TSTP





su -l mark


exit


exit


上のスクリプトが危険なのは何故だろう?ログインしないで中身が入れられるからだ。私がスクリプトに沢山の罠をおき、誰かがユーザー 'mark' を手放した途端にエグジットするようにしたのはそのためだ。ルートコマンドは誰にも実行して欲しくないので、ユーザー 'mark' を手放した途端にルートから出るようにし、誰かがルートにとどまるため手放しを取り消さないように罠を設ける。それでも全体が悪いので、私がしたからと言って、皆さんがしてはいけない。私のxtermセッションの代わりに、"chroot"を使ってもよい。私はうまくいった。chroot環境の設定には少し工夫が要るが、出来る筈だ。私が "dummy" と呼ぶアカウントのサンプルを示す。ユーザーが /etc/passwd に関しては勿論、何でも出来ることを望むなら、/chroot/named環境は、/bin, /sbin, /lib及び他のすべてのディレクトリを持つルートディレクトリのように見えなければならないことに注意。.

以下は '/etc/X11/gdm/dummy.sh' の内容である。



#!/bin/bash





trap "" HUP


trap "" INT


trap "" QUIT


trap "" KILL


trap "" TSTP





chroot /chroot/dummy su -l dummy


exit


exit


終わりに

GDMは全く素晴らしい。KDMは額面通りだ。見た目を良くするにはGDMをコンフィギュアしたい。

gdm 活動の背景でゲームを動かしたいと思うだろう。色々なゲームを試したが、うまく行くものも行かないものもあった。プログラムを走らせるときは、誰かが、プログラムを通じ何とかしてコマンドを実行するか、コンピュータを滅茶々々にする方法を知っていると、セキュリテイの穴が在ることに注意。こんなことをクライアント・コンピュータでやったら、必ず首になる。

参考文献

1.Configuring GDM 2.2
2.Gnome Display Manager
3.6-24-1999 Setting up xdm.
4.この記事に変更があればhttp://www.gnujobs.com/Articles/19/GDM.htmlで分かる。
 

著者紹介:Mark Nielsen

Mark は、個別のマルチメディアe-メール、ウエブ、ニュースレターキャンペーンを作り、配布し、追跡する AudioBoomerang.com にいる。彼は、将来のキャンペーンに使われる人口統計や心理学的側面などの最新特注統計報告書最終製品を AudioBoomerang.com 顧客に渡すコンサルタントとした働いている。余暇には、無料ソフトウエア(GPL) 又は無料文学作品(FDL)に関する記事を書いており、非営利学習センターeastmont.netに従事している。
 
Copyright © 2002, Mark Nielsen.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 80 of Linux Gazette, July 2002
 
 
 
 
コンピュータ馬鹿話

By Mike Orr

ほら、小ネズミ(マウス)が・・・
By Harry Drummond

これをお読みになったら自分のマウスに安心されるだろう。他の人が苦労しているのに、ふと、うまい考えが浮かぶことがある。考えるに、初心者の失敗の元は、ネコが獲物に飛びかかって逃がすまいとするように、マウスを上からシッカリと持つことだ。そしてボタンを手荒に押す。するとマウスはビックリして目標から外れる。

こんな人達に対しては「必死で握らず、手をマウスの後の面に置き、親指と小指で静かに動かすだけにし、必要な時穏やかにボタンをクリックしなさい」と説得している。「手と目の共同作業がグラグラするようなら、L型に働かせて(横に押し下げて)真っ直ぐの動きが勝手に入り込むのに任せる」。これらの人は、1週間も経つとうまく行ったと御礼を言いに来る。

だが、コンピュータマウスが多くの人々に取って珍しいものだった初期の頃は、学生がマウスを裏返しにして、マウスボールを指先で回すのを見るのは、余り変わったことではなかった。画面の動きは大変不安定で、選択方法としてボタンクリックにも問題があるのは明らかだった。

ある時、女子学生がそうしているのを見て、正しいマウスの使い方を懇切に教えた。微笑んで有り難うと言ったが、次の瞬間には、またマウスを裏返しにしていた。馬鹿なのじゃない。彼女達なりのやり方なのだ。トラックボールの起源はこんなところかも知れない。

 

[コンピュータについて行った馬鹿なこと、良い思い付きがあったら、gazette@ssc.comまで-Iron.]
 
Copyright © 2002, Mike Orr.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 80 of Linux Gazette, July 2002
 
 
 
 
Wine:Linux上でWindowsアプリに乾杯

By Gaurav Taneja

数年前、初めてLinuxに接したとき、具合の悪いときの用心のため、待機Windows OSを別のパーティションにインストールした。だが、間もなくこのオープンソースOSは無料で何もかも呉れることが分かった。だが、全くWindows専用に書かれたアプリケーションをお払い箱にするまでは時間が掛かった。こんな時どうしますか?答はWineだ。

Wine はお酒ではありません !

Windowsプログラムを走らせるため、Linuxが走っているマシン上で別のOS(主としてWindows)を走らせるVMWare & Win4Linのような製品がある。Windowsを搭載した別パーティションを持つとの在来方法もある。しかし、これらの既存の方法は、システムに対する負担が大きい。

Wine はこれらオプションとは全く別物だ。「WINEはエミュレータではない」との意味を持つWineは、Windowsライセンスのコピイを買う必要がない。マイクロソフトコードとは全く異なる完全なWin32 APIを書き直してこれを達成する。

乾杯しよう

WINEを試すには、最新ソースを http://www.winehq.com/にあるWINE本社から入手することが出来る。ソースからのビルドは必要ない。サイトには多くの異なるフォーマットで日常ビルドへのリンクがある。自分のためソースとビルドを入手するのは、全く簡単だ。

次のステップを踏むと君の課題を果たすことが出来る:



gunzip Wine-20020411.tar.gz


tar -xvf Wine-20020411.tar


cd wine-20020411


./configure


make depend


make


make install


Wineのbleeding-edge 版及びた実際問題として主なソフトウエアに興味があれば、いずれもCVSのパスにしたがわなければならない。CVSツリーの中の最新ソースは列の性能の点で優れている。次の手順を踏むと最新のソースを入手することが出来る:


export CVSROOT=:pserver:cvs@cvs.winehq.com:/home/wine


cvnpres login


When asked for password, provide 'cvs':


cvs -z 3 checkout wine


現在のディレクトリに対し“wine”と言う名のディレクトリに、定常な流れでファイルが流入するのが分かるだろう。全部の手続はが終わった後、上と同じコンパイルの手順を踏むことが出来る。

Wine のコンフィギュレーション

"~/.wine/” directoryの中に“config”と言う名のコンフィギュレーションファイルが必要だ。このサンプルはソースディレクトリ:



cp documentation/samples/config ~/.wine/config


からコピイすることが出来る。この“config”ファイルは、一見といかめしいが、規定値に拘泥して自分のシステムに関連する重要点のみを変更するのが良い。次のようなセクションに出会うだろう:

[Drive A]
"Path" = "/mnt/fd0"
"Type" = "floppy"
"Label" = "Floppy"
"Serial" = "87654321"
"Device" = "/dev/fd0"

[Drive C]
"Path" = "/c"
"Type" = "hd"
"Label" = "MS-DOS"
"Filesystem" = "win95"

[Drive D]
"Path" = "/cdrom"
"Type" = "cdrom"
"Label" = "CD-Rom"
"Filesystem" = "win95"
; make sure that device is correct and has proper permissions !
"Device" = "/dev/cdrom"

Wine は実際にDOS-類似のドライブとフォルダ構造をエミュレートしようとするので、“[Drive C]” で始まるセクションは、君のLinuxディレクトリに対する仮想ドライブC:のマッピングを示す。これは私の場合“/cに当たる。

次ぎに、“windows 及び “system などのシステムフォルダもまた“[wine] セクションの中でこれと同じようにマップされる:

"Windows" = "c:\\windows"
"System" = "c:\\windows\\system"
"Temp" = "e:\\"
"Path" = "c:\\windows;c:\\windows\\system;e:\\;e:\\test;f:\\"
"Profile" = "c:\\windows\\Profiles\\Administrator"
"GraphicsDriver" = "x11drv"
; Wine doesn't pass directory symlinks to Windows programs by default.
; Enabling this may crash some programs that do recursive lookups of a whole
; subdir tree in case of a symlink pointing back to itself.
;"ShowDirSymlinks" = "1"
"ShellLinker" = "wineshelllink"


configファイルの中の“[wine]” セクションで述べたように、基本的Windowsディレクトリ構造(windows”," systemディレクトリ)幾つかを作らなければならない:



cd /c


mkdir -p windows/system


mkdir -p windows/Start\ Menu/Programs


configファイルの “[DllOverrides]”は、DLLを取り扱う。これはWindowsの相手先及び本来のWindows DLLで使いたいものの代わりに使用するためWineにより供給される:

; Be careful here, wrong DllOverrides settings have the potential
; to pretty much kill your setup.
[DllOverrides]
"commdlg" = "builtin, native"
"comdlg32" = "builtin, native"
"ver" = "builtin, native"
"version" = "builtin, native"
"shell" = "builtin, native"
"shell32" = "builtin, native"
"shfolder" = "builtin, native"
"shlwapi" = "builtin, native"
"shdocvw" = "builtin, native"
"lzexpand" = "builtin, native"
"lz32" = "builtin, native"
"comctl32" = "builtin, native"
"commctrl" = "builtin, native"
"advapi32" = "builtin, native"
"crtdll" = "builtin, native"
"mpr" = "builtin, native"........

各種ポート及びデバイスもまた、 [serialports] セクションで設定することが出来る:



Com1=/dev/ttyS0


Com2=/dev/ttyS1


Com3=/dev/modem,38400


Com4=/dev/modem


ウインドウの見掛けは、[Tweak.Layout]セクションで変えることが出来る。

 

;; supported styles are 'Win31'(default), 'Win95', 'Win98'
;; this has *nothing* to do with the windows version Wine returns:
;; use cmdline option --winver if you want that.
"WineLook" = "Win98"

 



Windows レジストリを覚えているか ? 


次ぎに、Windowsボックスにレジストリが存在する方法に完全に一致する規定値レジストリをインストールする必要がある。だが、その前に /etc/ld.so.confに一寸した変更を加える必要がある。ソフトウエアがWindowsの雰囲気を真似るため使用するライブラリすべてに関連する行/usr/local/lib/wine を加える。

このステップの後、/sbin/ldconfig を走らせるのを忘れないこと。

次ぎに、regapi を使って規定値レジストリをインストールする。Wineソースディレクトリから次のコマンドを発する:



programs/regapi/regapi setValue < winedefault.reg


働かせる!!

休むことなく、簡単なWindowsアプリケーションを走らせて見よう。Windowsに付いて来る標準電算機(calc.exe)を走らせて見る。

Windowsパーティションを取り付けるか又はフロッピイを用いて calc.exe”ファイルをシステムの中のフォルダ /c/windowsにコピイし、スタート方法の任意の一つを使う:

cd /c/windows; wine calc.exe
wine /c/windows/calc.exe
wine "c:\windows\calc.exe"

これが私のLinuxボックス上に現れたものである。


Calculator Screenshot

 

 

 

 

 

 

 

 

 

 

 

 

 

これでおしまい!

Windows実行可能プログラムをLinuxボックス上で走らせるときWine はかなり必要だが、一つ注意しなければならないのは、全部のアプリケーションがWine上で働くとは限らないことだ。好みのアプリケーションを働かせる方法を考えて微調整をしなければならない。だが、殆どの場合、Wineは大変役に立つ。

 

著者紹介:Gaurav Taneja

私は、インド、ニューデリーの Linux/Java/XML/C++ で技術コンサルタントして働いている。私は、SourceForgeの協賛で、オープンソースプロジェクトに積極的に参加している。趣味は長距離ドライブ、テニス、映画鑑賞及び宴会。 BroadStrike Technologies.と言う名で自分のソフトウエア会社も経営している。
 
Copyright © 2002, Gaurav Taneja.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 80 of Linux Gazette, July 2002
 
 
 
 
 
Linuxセキュリティに対する私の指針

By Rob Tougher

1. はじめに

この記事では、私のホームコンピュータとデータ通信の安全を確保するステップを説明する。コンピュータ・セキュリティに積極的に関わって来た人には復習になるだろうし、 今のところセキュリティ対策を取っていない人には、Linuxボックスの安全確保の方法に対する一般概念が得られるであろう。これは、明らかに一般的なセキュリティ参考文献ではない。私は安全対策に熱心だが、自分のコンピュータに対する以上に用心深くはない。この記事に述べた事項が、皆さんのため十分なセキュリティを与えるか否かはご自分で考えられたい。

 

2.私の Linux ボックスの安全確保

私は家でDebian Linux ボックスを働かせている。常時電源を入れてインターネットにつないでいる。このコンピュータの安全確保には二つの理由がある。私のデータを勝手に見られないことと、私のコンピュータ資源を勝手に使われないことだ。私のコンピュータには重要なデータが入っていて、私以外のものに触らせたくない。 侵入者が私のコンピュータを使って別の目標を攻撃することが出来るのも困る。誰かが私のマシンを使って別のシステムに不法侵入すると思うと腹が立つ。

 

2.1 インストレーション

新たにインストールした後、直ちに行うのは、私のkernelの中の configure iptables (ijptable設定)だ。Iptables があると私のコンピュータに出入りするパケット全部をブロックすることが出来る。私のコンピュータは常時ネットに接続されていて、攻撃に曝されるのでこれは重要だ。iptables の設定は臆病だからではない。それには、kernelソースコードのダウンロード、正しい設定、全く間違いのないインストールが必要だ。前に経験がなければ、Linux Kernel HOWTO, をチェックして、iptable設定の前に何度もkernelをコンパイルしてみるのが良い。

次は LIDS −Linux 侵入検出システム−だ。 LIDS は、kernel用のパスと、二つのユーザースペース・ユティリティ−lidsconf とlidsadm −から成る。このシステムの目的は、ファイルとプロセスへのアクセスを制限し、これらの制限を破ろうとする試みがあると警報を発して、コンピュータの安全レベルを向上させることにある。LIDSの偉大な点は、ルートアカウントのパーミッションを制限することが出来ることである。これにより、アカウントの力を減じ、侵入者がルート特権を得たときおこなう危害を限定することが出来る。私はLIDSを、システムバイナリ、/var/logにあるログファイル、及び/etcにあるコンフィギュレーション・ファイルの防護に用いる。バイナリはREADONLY(読取専用)とし、ルートを含むどのユーザーもこの修正及び削除が出来ないようにする。ログファイルは APPEND(追加)とし、プログラムはこのファイルにデータを書き込めるが、既存データの消去又は変更が出来ないようにする。

次ぎにおこなったのは、コンピュータ上で走るサービスの数を最小にすることだ。走らせるサービスが少ないほど、他の者が私のマシンに不法侵入することの出来る機会が少なくなる。ディストリビューションは規定値で沢山のデーモンを走らせる傾向があるが、私は良くないと思う。私はtelnet, FTP, named, 及びR* デーモン全部を切って、少数を指名する。基本的には、全部を切ってセキュリティ対策などのため更新し続ける配慮をしないで済むようにする。私の走らせるサービスについては、どんなセキュリテイ対策でも作られ次第出来るだけ早くインストールする。適切な対策無しで弱点が明らかになったときは、サービスを切る。

私のコンピュータで働くサービスの数を減らした後、"netstat -l" とタイプして、接続を聴取するソケットを見付ける。必要のないサービスを逃していないか確かめるためだ。偶に重要なことを見逃すので、netstat を使って捕える。

 

2.2 インストレーション後

インストレーションの後、ほぼ毎週 chkrootkit を走らせる。このプログラムは、コンピュータに何かrootkitがあると警報を出す。rootkitとは、クラッカが痕跡を消すため使うツールである。このkit には、ps, ifconfig その他のような各種ユティリティの trojaned(変更)版が含まれる。侵入者が、私のコンピュータに侵入してrootkitをインストールすると、基本的には私のコンピュータ資源を思いのままに使うことが出来る。システムに余程の注意を払っていないと検出することが出来ない。各種rootkitは packetstorm からダウンロードすることが出来る(教育目的だけですぞ!)。殆どの人が話すのを見たのはLRK5で、これは後の方に記載した。

インターネットからファイルをダウンロードするときは、md5sum を使って、そのためのチェックサムを作る。ダウンロードを提供するサイトは殆ど自分のchecksumをリストにしているので、ダウンロードしたものが提供されたものと一致するか調べることが出来る。これは簡単なチェックだが、正しいビットが得られたことを確認する。勿論ファイルとchecksumの両方に手が加えられていることもあるが、この場合は多分ウエブサイトが発見して、問題を修復する筈だ。

 

2.3 屈服した後の弁論 (誰も完璧でない)

世界中のセキュリテイ全部でも君のコンピュータのクラッカーに対する安全を保証することは出来ない。正直のところ、私のコンピュータが危機に曝されず100%安全であるとは、言い切れない。私がLinuxを使った初めの2ヶ月ほど、セキュレティを馬鹿にして、OSを働かせることに専念した。基本ユーザースペースコマンドの習熟だけに興味があり、他のことに悩まされたくなかった。攻撃に全く無防備だった。Redhatシステムを搭載したVA Linuxを使っていた。多分沢山のサーバーを走らせたと思うが、何も知らなかった。

将来、もし私のコンピュータが危なくなったら、The Coroner's Toolkit.のためのメインサイトに向かうだろう。TCTは、危なくなったマシンに起こったことを解決するツールキットだ。それを走らせて待っていると、ハードドライブからデータを集める。私はこのツールを使ったことはないが、ウエブサイトの言うところでは、結構な仕事をするらしい。このウエブサイトからの別の印象は、このツールは初心者には使い方が極めて難しいことだ。だからTCTに経験がないと、読んだり習ったりすることが沢山ある。メインペイジの下にハウツーを幾つか載せたので、ここから始めるのが良い。

Honeynet Project も調べる。このプロジェクトの目的は、研究を弁論形式でおこなって、その研究を公表し、セキュリティに関する関心を高めることにある。月例の弁論コンテストがあり、ネットワークの実際の屈服に関する情報を示し、侵入捜索の方法に関する論文を募集する。このコンテストに関する文庫にはセキュリティ専門家の書いた沢山の提出論文がある。私も実は教えられた。Coroner's Toolkit は、これを見てこれら捜索について沢山書いている。コンピュータ弁論について関心のある人は、このサイトで出来るだけ沢山読むのが良い。暫くは忙しくなる。

 

3. 安全な送信

規定値による送信は安全でない。皆さんのデータがインターネットを飛ぶ間に誰でも見ることが出来るが、皆さんにはそれが分からない。tracerouteプログラムを使ってこの作用を見ることが出来る。コマンドプロンプトで "traceroute www.google.com" とタイプすると、ウェブサーチの間にgoogleに送ったデータを見たマシンが分かる。

サイトにログインするときはいつでも、私は安全なペイジ、-https、を使う。HTTPSはSSLを使うが、これは転送中にデータを暗号化する。例えば、Yahoo! では、各種ウエブサイトに私のユーザー名とパスワードを送るとき安全なログイン方法を提供する。私は、Yahoo! e-メール口座を持っているので、私のメールの点検にはこの安全ログインを使う。

遠隔管理用に私はssh and scp を使う。これら二つのプログラムは、telenetとFTPの代替品である。これらはインストールが楽で、置き換えたプログラムと同じように働く。インストールしたら、iptableに対応するポートを開いて外部からマシンに接続出来るようにする。

私はe-メールに GnuPG を使って、読まれたくないデータを暗号化する。誰かに重要情報を送るときは、その暗号化にそれらの公開キイを使う。重要情報を私に送る人にも同じことを頼む。私の公開キイは、私の web site からダウンロードすることも出来るし、各種の public key servers.からも入手することが出来る。これらの手順により、私のメール受けに送られたe-メールを読むのは確実に私だけになる。

 

4. 終わりに

私のコンピュータとデータ通信の安全確保のため私が踏むステップを出来るだけ明確に説明したこの記事が、お役に立ったことを望む。明らかな間違いや脱落があったら、兎も角お知らせ頂きたい let me know。私のセキュリティ方針は完璧には遙かに離れているので、是非皆様の実際と経験をお聞かせ頂きたい。

 

a. 参考文献

以下は、各種セキュリティ問題に関する情報を得るため私が定期的に訪ねるサイトとリストである:

・助言
CERT
SecurityFocus Online
・探検 (教育目的のみ!)
packetstorm
SecuriTeam
Fyodor's Exploit World
・弁論
The Coroner's Toolkit
The Honeynet Project
・一般
Linux Security
packetstorm
http://www.startplaza.nu/
・ツール
GnuPG
Insecure.org Top 50
LIDS Project - Secure Linux System
NMAP Port Scanner
SNORT Intrusion Detection System
 

著者紹介:Rob Tougher

Rob は、ニューヨーク市地域のC++ ソフトウエア技術者である。慣れたプロットホームでコードしていないときは、ガールフレンドと犬を連れて、海岸を散歩している。

 

Copyright © 2002, Rob Tougher.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 80 of Linux Gazette, July 2002
 
 
 
END