ボクが入学した大学には、学生ひとりにPCが割り当てられるぐらい
の設備を有していました。関西ではかなりめずらしい大学だったと
記憶しています。


1回生から、COBOLが必須の授業としてありました。

とても楽しかったと記憶していますが、学生レベルの授業はとても
たいくつでしたから、自分でいろんなプログラムを書いていた記憶
があります。


大学では、C言語やVisual Basicなど、他の言語にも触れる機会が
たくさんありました。実習以外でも、計算機概論やプログラム理論、
その他たくさんの授業がありました。


今思えば、もうちょっと実習以外もまじめに勉強しておけば良かった
と思うほどです。



放課後のアルバイトはたくさん経験しました。もちろんプログラマ
としても働いていました。寝る隙を惜しんでバイトに励んでいました。

こうしてボクは、大学のころからプログラムを本気で書き始めました。


その後、オーストラリアに留学しました。


ボクがオーストラリアに来た時にお世話になったホストファミリーは、
たくさんの留学生を受け入れていました。ボクがお世話になっていた
ときは、スイスジャーマンのロジャー、スイスイタリーのフィリックス
と一緒でした。毎晩、ナイトクラブに遊びに行きましたw



ボクがアパートを借りて、ホストの元から去っても、たまに遊びに行き
ました。すると、新しく入ったスイスジャーマンの留学生が、ノートPC
を持ってきていたのです。物珍しく見せてもらったPCを見て驚きました。


確か、Hole in One や Yahoo! などのポータルサイトをはじめて見た瞬間
でした。



そう、それがボクのインターネットとの出会いです。
1996年のことです。


ボクはほどなく、WEBサイトも構築しているグラフィックデザイン会社に、
インターンとして勉強させてもらうことにしました。



HTML や Java Script などを書いていたと記憶しています。
RFC などの ドキュメントを読み出したのもこの頃です。

この頃から、技術者を目指したいと思い始めました。


帰国したボクは、システム開発会社を中心に就職活動を始めます。
同時に、パソコンを新調し、ネットの世界にどっぷりとハマること
になります。


ここで、Javaと出会いました。

Java Script と混同されていた時代ですネ。ボクもご多分に漏れず、
勘違いしていたクチなのですけどもネw


JCPというコミュニティに参加し、Javaアプレットを一生懸命書いたり、
ハッキング技術を磨いていたのも、この頃です。


就職したら、COBOLやVBなどの汎用機やクライアントサーバなシステムを
メインに担当することになりますが、WEBの世界への憧れは捨てることが
できませんでした。


仕事として、WEBアプリに触れられないのであれば・・・と、フリーで仕事
をするようになりました。社会人1年目の冬のことです。



だいぶと省略して書いていますが、昔も今と変わらず向上心が強いなーと
我ながら思いますw

Xen( http://www.xensource.com/ ) を使って、仮想環境を構築したいと思ってます。


ボクのテスト環境は、Vine Linux 3.2 です。


しかし、Xen は Grub が必須条件になっていますので、lilo を使っているVineには、

改めてインストールする必要があります。



まんまと設定でハマりました(涙)



会議が多かったので、ハマったまま帰宅してしまい、今に至ります。


明日も事務作業がたまっています。


いつ、脱出できるのだろうか・・・・・

土曜日は、個人的に管理しているサーバや、システム開発会社を
経営していたときから管理しているサーバなどのメンテナンスを
してました。


いやー、安定動作するもんですネ。


3年ぐらい、サーバが原因で止まったことないですネ。回線障害は
あったけどw 瞬断したら自動で復活しない安物ルーターで運用して
ました。#しかも、フレッツADSL8M プランですからw


ルーターをRTX1000にしてから、ホンマに止まらなくなりました。



さて月曜日の朝は、週末のサーバくん達のご機嫌を伺う作業があり
ます。さてさてどうなってたかな?と見るのが楽しいですw


先週末もなかなかご機嫌だったようでなによりです。


最近、管理しているサーバが多くなってきたので、cacti という
ツールを使っています。


http://www.cacti.net/


cacti のいいところは、


・ログ収集対象をカンタンに追加できる
・過去のグラフをカンタンに参照できる
・ユーザ管理ができる
・グラフを分類して管理できる


などなどです。使用感もとってもいいですが、英語にアレルギーが
ある人は要注意です。日本語版がありません。
言葉の意味だけ知っていれば、使用する際に困ることはありません。



インストール方法は、また次の機会に書きたいと思います。

先週までの雨天がウソのように晴れてます。


ひさしぶりにバイクに乗って、バイクのキャリアをつけてもらいに行きます!

ボクがはじめて、プログラムを書くことで稼いだときの話をしましょう。


中学生までは、MSXで飽きずにゲームプログラミングをしていましたが、
高校生になって、ギターとバイクにどっぷりとハマりました。


バンドを組んで、ライブハウスで演奏したりしてました。
バイクは、レースに出て表彰台に上るぐらいまでやってました。


ボクの青春の一部ですねw
そんな青春を謳歌してましたから、パソコンから離れていきました。



いろんなバイトを高校生からはじめました。

そんな中で、パソコンの通信販売をしている会社の事務をすること
になりました。動機は、パソコンが好きだからとかではなく、事務
で時給800円は、当時の高校生にしては破格の給料でした。
ちなみにガソリンスタンドでのバイトは650円でした。


そこでの業務は、電話で発生する注文を DOS のシステムに入力する
という単純なものでした。あとからわかることですが、なかなかの
悪徳業者でして、先に入金してもらってから商品を手配するために
かなりの納期を必要とし、お客さんからのクレーム処理の方が多く
なるようになります。


そこの DOS システムが、全然使えなかったんです。
ここでボクは、このシステムを刷新することになりました。


これがボクの技術者としての第一歩になりました。


しかしクレーム電話に嫌気が差して、お客さんと口論になっている
ところを社長婦人に見つかり、クビになってしまいました(笑)
#1週間後、社長が逮捕されるというニュースが新聞に載ってましたw



その後、大学に進むことになりますが、それはまた今度にします^^

TCP経由でSSHを起動するように設定します。


/etc/hosts.allow
/etc/hosts.deny


このファイルでアクセスを制限するためです。


厳密ではないのですが、デフォルトでアクセス制限できるようですが、

tcpdmatch で動作の確認をすると以下のようになります。


[root@localhost home]# /usr/sbin/tcpdmatch sshd xxx.xxx.xxx.xxx
warning: sshd: no such process name in /etc/inetd.conf
client: address xxx.xxx.xxx.xxx
server: process sshd
access: granted


ご覧のように、warning が出てしまいます。
そんなプロセスは設定されてない、という意味です。

今回は、この warning を出さないように設定します。



# vi /etc/inetd.conf

ssh stream tcp nowait root /usr/sbin/tcpd sshd -i



sshd の起動オプション -i は、inetd経由で起動するという意味です。
詳しくは、man sshd を参照してください。


さて、次はアクセス制限をしましょう。



# vi /etc/hosts.deny

ALL : ALL



これで終了です。すべてのアクセスを禁止しています。
「原則アクセス禁止、必要なものだけ許可」
という基本的な考え方に従っています。


これだけでは、アクセスできませんので、以下のファイルで、
必要なものだけ許可という設定を行います。



# vi /etc/hosts.allow

sshd : xxx.xxx.xxx.xxx : allow
sshd : xxx.xxx.xxx.xxx/255.255.255.xxx : allow
sshd : xxx.xxx.xxx.xxx/24 : allow
sshd : .ameblo.jp : allow



いろんな記述方法がありますが、お好みでどうぞw
これはみなさんの環境に合わせて設定してください。

当たり前ですが、なるべく限定できるように設定しておくのがいいですネ。


ここで、inetd を再起動しておきましょう。


# /etc/init.d/inet restart



さて、ここまで設定できたら、今まで自動起動されていた
sshd を自動起動しないように設定しておきます。



# /sbin/chkconfig --list



sshd が自動起動になっていたら、起動しないように設定します。



# /sbin/chkconfig sshd off



sshd が off になってることをもう一度確認しておいてください。
runlevel 毎に設定したい場合は、


chkconfig [--level <levels>] <name> <on|off|reset>)


を参考に設定してください。


さて、あと一息。

すでに起動されている sshd を stop させます。



# /etc/init.d/sshd stop



サーバ本体のターミナルから sshd のプロセスを確認します。



# /etc/init.d/sshd status



ここで停止中なのを確認してください。


さて、クライアントから ssh 接続を試みてください。


できましたか?

接続できたら、今回の設定は成功したことになります。


hosts.allow の設定を変更するときは、必ず tcpdmatch を実行して
動作を確認してくださいネ。せっかくのセキュリティ対策が動いてないと、

これほど悲しいことはありませんから。

ボクが小学校4年のとき、MSXというパソコンをオヤジに
買ってもらいました。

ボクが買ってほしいと言ったわけではありません。
むしろボクはファミコンがほしかったw(・∀・)


オヤジは「これからの時代はパソコンだ!」と、
当時安くはなかったであろうMSXを買ってくれました。


オヤジはオフコンと言われる「汎用機」の技術者として、
ある大学の情報処理センターで働いていました。
その影響が大きいのでしょうネ。


とにかくボクはゲーム機がほしかったので、MSXという
パソコンの使い方は、ゲームをするだけの機械になりました。



ところが、最初に買ってもらったゲームは、すぐに飽きました。

しかし、ゲームソフトを買ってもらえません。買ってもらえる
機会は、誕生日かクリスマスしかありません。


ボクはこうして、ゲームプログラミングにどっぷりとハマって
いきました。


これがボクの「プログラミング」との出会いです。