2014年9月5日金曜日

グループチャットと言って僕らが普通思い浮かべるようなものをIRCで作る方法



IRCのユーザー認証について勉強していると、まるで自分が、J. P. ホーガン先生の小説によく出てくるような、体制側の脳筋マンになったような気分がしてくる。『創世記機械』ミサイル基地に飛ばされちゃったあのひととかね。(ネタバレにつき黒塗り)

なにしろ、素のIRCにはそもそも「ユーザー認証」という概念がないのである!

なんとまぁあけっぴろげで、あっ軽い、理系学生的な、ホーガン的な思想であろうか。
が、1990年代前半の大学キャンパスの空気を吸った僕にはよくわかる雰囲気でもある。

ここに僕は、僕らの世代が上下の世代と根本的なところではわかりあえない最大の要因となっているサブカル的ノリの源流をも見出すのだが、それはまたアナザーストーリーである。

会社経営者 兼 IT部長 兼 その他 のロープレをリアルに目下おこなっている僕としては、ざっとネットで調べた結果、2014年の現在においてもいまだに社内チャットサーバの立ちあげにはIRCが拡張性など勘案して最適解であるように見える以上、IRCでユーザー認証を実現する方法があるのかを知りたかった。

で、AnopeのChanServのリファレンスなどを参照してみた。

方法は、あるようだ。

おおざっぱにいって、NickServがユーザー認証をつかさどり、ChanServがチャットグループ(IRC界ではチャンネルという)へのメンバー登録(メンバー以外は閲覧できない)をつかさどるということのようだ。

NickServで社員をREGISTERしておく。
社員は、IRCに参加する都度、NickServにIDENTIFYでパスワードを入力することにより本人認証を行わねばならないようにする。
NickServのパスワードは、LimeChat2というIRCクライアントでは、記憶させておくこともできるが(他のクライアントではどうなのか知りません)、それはセキュリティ的によろしくない気がするので、かつウチはけっこうデスクトップパソコン群に対してフリーアドレス制に近い状態になってたりするので、記憶はさせておかず、毎回パスワードを入力しなければならないことにする。

NickServでまた驚かされるのは、デフォルトでは、他人であっても、パスワードを打たなくてもいったんあなたとしてログインできてしまうという仕様だ。
ただ単に「このひとは認証ずみですにょ」というマークが付かないだけであり、自由にチャット内容の閲覧どころか、あまつさえ発言などできてしまうのである。
嗚呼古き善きヒッピー達よ。

したがって、そうならないよう設定を変えておかないといけない。
SET KILL QUICK
とかでよいのであろうか。
あるいは.confでグローバルに変えれるのかも(未学習です)。

一方、ChanServの設定は次のとおり:
SET #channel RESTRICTED ON = アクセスリストに登録されている人のみそのチャンネルに入れる。
SET #channel SECURE ON = NickServで認証済の人のみそのチャンネルに入れる。SET #channel MLOCK +rでもたぶん効果は同じと思われる。
アクセスリストには、廣田以外全員、レベル3(auto +v = 発言できる)として登録しておけばよいだろう。
加えて、以下のような設定も可能である:
SET #channel PRIVATE ON = チャンネルリストに表示されなくなる。
SET #channel MLOCK +i = 招待者のみ参加可能とする。Skypeチャットグループのメンバー追加操作に近い。

Written by チラ裏生産マシーン


---
2014.9.5 19:55追記

実際にやってみたところ、上記のリファレンスでは語順が違っていて、
SET #channel RESTRICTED ON
等ではなく
SET RESTRICTED #channel ON
等としなければなりません。
現在のリファレンスでも間違って記載されています。
ただし詳細解説ページとHELPでは正しく記載されています。

0 件のコメント:

コメントを投稿