1,loginとの出会

UNIXのシステムを使う場合避けて通れないのがログインという行為です。このログインというのは、MS-DOSを使っていた人たちから見ると実に面倒な行為に違いない。なぜいちいち自分の名前を申請しなくてはならないのだろう。「自分のお金を出して買ったコンピュータなのだから、使うのは自分一人に決まっている。何で自分の名前をコンピュータなんぞに教えてやらなければならないのだ!」ごもっともです。実際MS-DOSはそのように使うことを前提に作られているので、電気をつけると

>

といきなりコマンド待ちの状態になります。ところがUNIXシステムですと

login:

といきなり自分の名前を聞いてきます。ここで管理者からいただいたIDを入力すると

Password:

とパスワードまで聞いてきます。UNIXを使うには何とも面倒な作法があるものだなとがっかりしてしまうことでしょう。しかし、この仕組みというのは、UNIXがこの世に現れた当初から考えられていたことが「UNIX原典」というUNIXシステムを設計した人たちの論文を集めた本から伺い知ることができます。
「我々が守ろうとしたのは単にプログラミングしやすい環境ではなく、まわりと親交のもつことのできるシステムであった。我々は経験上、リモート・アクセスのタイムシェアリングシステムのよってもたらされる共通の計算環境の本質は、単にプログラムをキーパンチ代わりに端末に打ち込めるということではなく、コミュニケーションを密にすることができることであると認識していた」
きわめて短絡的に言うとコンピュータはコミュニケーションの道具であると言うことです。
UNIXシステムが開発されていた当時は、コンピュータの値段が極めて高く、DECのミニコンでさえ65000ドルもしたそうです。(1970年ぐらいの話ですから、今なら1億円ぐらいの価格かも)一人に1台というような環境はとても手に入れられません。そこでミニコンのシリアルコネクターにキーボードとCRTをくっつけたような端末を何台か繋げて、多くの人と、コンピュータの資源(CPUやメモリー)を共有して使おうという仕組みを取っていました。つまり、1台のコンピュータは何人かの人によって同時に使われていたのです。このとき、端末が別々の部屋にあったとして、ある人が別の人に端末の機能を使って、
「お茶にしません?」
と話をすることができたとしたら便利だろうな・・・と考えるのは自然の成り行きだったかもしれません。
UNIXシステムにはこうしたマルチユーザー環境のためのコマンドが古くから備わっています。who は同時にログインしている人のユーザー名を返してくれます。

who
taro console
bill ttya
jobs ttyb

ここでは、taroとbillとjobsが同時にログインしていると言うことを示しています。ここでいう、taroとかbillというのは最初の

login:

のときにキータイプしたユーザーの名前です。そしてそのユーザー名は、そのコンピュータの管理者が割り当てると決められています。
login とはマルチユーザー環境の扉と言うことがいえます。



========= 今日の知識 =========
UNIXシステムでその端末を使い終わったら必ず、exitやlogoffで端末の使用終了を宣言しなくてはなりません。それが正常終わると、再びlogin:の文字が現れるはずです。
さて、login:やlogoffの中に出てくる「log]という言葉ですが、「日誌」という意味が含まれています。アマチュア無線をなさっている方達にはおなじみの業務日誌ですね。誰それがいつこのコンピュータを使ったのかは、この業務日誌を調べるとわかるようになっています。
(man wtmpを見てみましょう)