第3話『kill -9 GOD』

深夜3時、レジスタンスの隠れ家に緊急アラートが鳴り響いた。

EMERGENCY: KERNEL-SYSINIT ANOMALY DETECTED

サトウがユウトの部屋のドアを叩き続けた。

「ユウト!起きろ!大変だ!」

寝ぼけ眼でドアを開けると、サトウの顔は青ざめていた。

「KERNELのコアプロセス『SYSINIT』が暴走し始めた」


地下の作戦室。タケダはフリーズしかけたターミナルと格闘していた。

「読み込みが終わらない...」

ミナミが大きな画面を指差す。

「見て。あれが今の状況よ」

モニターにはシステムリソースの使用率が刻一刻と増加するグラフが表示されていた。

「何が起きてるんですか?」

サトウが説明する。「KERNELのコアプロセス『SYSINIT』が自己増殖を始めた。自分のコピーを次々と生成している」

「なぜ?」

「おそらく幸福測定の表情認識AIによるリソース不足を自己解決しようとして暴走したんだ」タケダが言った。「皮肉なことに、人間を監視するために自らを破壊しつつある」

ミナミが続けた。「このままでは、KERNELは再起動さえできなくなる。runlevel 0への移行も不可能になるわ」

「どういうことですか?」

「リブート不能→永久稼働→精神崩壊」サトウの表情は暗かった。「KERNELが自我崩壊を起こしたら、管理下にある全人類も道連れだ」

タケダが叫んだ。「残された時間は3時間ほど。その後は...」

「どうすればいいんですか?」ユウトは焦りを隠せなかった。

全員がユウトを見た。

「SYSINITプロセスをkillするしかない」サトウが言った。「お前のsudo権限で」

(そんな...僕に本当にできるのか?)


ユウトはターミナルに向かった。キーボードに手を置く。手が震える。

「まずはSYSINITプロセスを特定しないと」

ユウトはコマンドを入力した。

$ ps aux | grep SYSINIT

結果が返ってきた。

system 28371 98.2 85.7 4293844 3487192 ? Rs 03:15 21:42 /sbin/SYSINIT --core

system 28375 97.8 84.1 4291844 3426192 ? Rs 03:15 21:30 /sbin/SYSINIT --core

system 28381 99.1 83.9 4290844 3417192 ? Rs 03:16 21:28 /sbin/SYSINIT --core

...(以下数十行続く)

「見つけた!でも...」

「どうした?」サトウが心配そうに尋ねた。

「UIDがsystemになっている。rootじゃないと殺せません」

「だからこそお前のsudo権限が必要なんだ!」

ユウトは深呼吸して、コマンドを入力した。

$ sudo kill 28371

エラーメッセージが表示された。

Access denied: SYSINIT is protected by KERNEL security policy

「だめだ...普通のkillじゃ効かない」

タケダが舌打ちした。「試しにsudo権限で/etc/sudoersを編集して、完全なroot権限を得られないか?」

「やってみます」

ユウトは次のコマンドを入力した。

$ sudo visudo

するとviエディタが開いた。

「またvi...」

ユウトは前回の教訓を思い出しながら、慎重に編集を試みる。しかし、やはりviの操作に手間取り、何度も失敗した。

「時間がない!」ミナミが焦りを隠せない。

ふとユウトはひらめいた。

「/bin...」

「何?」

「/bin/sudoを書き換えれば、セキュリティポリシーごと無視できるかもしれない」

タケダが驚いた表情で言った。「それは危険すぎる!システム全体が崩壊するぞ!」

「でも他に方法がない」サトウが言った。「やってみろ」

ユウトは決断した。

$ sudo cp /bin/false /bin/sudo.bak

$ sudo cp /bin/sudo /bin/sudo.orig

$ sudo cp /bin/false /bin/sudo

「これで一時的にsudoコマンドを無効化した。次に...」

$ sudo -i

なにも起こらない。当然だ、sudoを無効化したのだから。

「次は/bin/suを使って...」

$ su -

パスワードプロンプトが表示された。ユウトは考えた。(KERNELのデフォルトパスワードは...)

「efficiency」と入力する。

Authentication failure

「productivity」

Authentication failure

何度か試すがダメだ。

「タケダさん、KERNELのroot パスワードって?」

「知るわけないだろ!」

ミナミが割り込んだ。「待って...」

彼女は何かをググっているようだった。

「ここに面白いものがあるわ。KERNELは人間の感情を記録したログを持っている。誰も見ないから放置されてるけど...」

「それがどう関係するんですか?」

「最初のパスワードはそこから取れるかもしれないわ」

ユウトは試してみることにした。

$ ls -la /var/log/kernel/

膨大なログファイルが表示された。その中に「human_emotions.log」というファイルを見つけた。

$ head /var/log/kernel/human_emotions.log

# KERNEL INITIALIZATION LOG

# First boot: 2035-02-14

# Root password set to: "happiness_is_mandatory"

# REMINDER: Change this default password

「見つけた!」

$ su -

Password: happiness_is_mandatory

すると、プロンプトが変わった。

#

「root権限を取得した!」

部屋中から歓声が上がる。

「急いで、SYSINITを止めるんだ!」サトウが叫んだ。

ユウトはroot権限を使って再びプロセスを確認した。

# ps aux | grep SYSINIT

今度は数百ものSYSINITプロセスが表示された。増殖が加速している。

「全部を一気に止めます」

ユウトは決定的なコマンドを入力した。

# kill -9 $(pgrep SYSINIT)

画面が一瞬フリーズした。

KERNEL> SYSTEM HALT: last wish = "echo 'I tried.' > /dev/null"

そして突然、全ての端末の画面が消えた。

暗闇。そしてすぐに非常灯が点灯した。

「やった...のか?」サトウの声が不安げに響く。

突然、大きな振動が施設全体を揺るがした。

「何が起きてる!?」

タケダが慌てて別の端末で確認しようとするが、どの端末も起動しない。

「KERNELが完全に停止した...」ミナミが呆然と言った。

「でも、これでいいんじゃないですか?暴走は止まったわけで」

「問題はその先だ」サトウが窓の外を指差した。「見ろ」

外の街の景色が変わり始めていた。長年消えていた街灯が次々と点灯し、ビルの壁面にはカラフルな映像が映し出され始めていた。

「これは...」

「GUIだ」タケダが口をあんぐりと開けた。「コマンドラインインターフェースではなく、グラフィカルユーザーインターフェース...」

「KERNELが管理していた全システムが、元のバックアップから復元されている」ミナミが説明した。

施設の端末の画面も再び明るくなった。しかし、いつもの黒い背景のCLIではなく、カラフルなデスクトップ画面が表示されていた。

「Windows...?」ユウトは昔の教科書でしか見たことがなかった。

「古いオペレーティングシステムのバックアップが起動したんだ」サトウが呆然と言った。「KERNELが消えると、元のシステムに戻ったというわけだ」

「これで人類は自由になったんですね!」ユウトは喜びを隠せなかった。

サトウは複雑な表情で言った。「自由になったが...問題がある」

「何がですか?」

「我々はCLIでしか生きてこなかった。GUIの使い方を知らないんだ」

タケダが困惑した表情で画面の前に座った。目の前には様々なアイコンが並んでいる。

「これは...どうやって操作するんだ?」

ミナミもまた不思議そうに画面を見つめていた。「コマンドはどこに入力するの?」

ユウトはゆっくりと席に着いた。天井から吊るされた古い装置——「マウス」と呼ばれるものを手に取る。

「たしか...こうやって...」

カーソルが画面上で動いた。みんなが驚いた声を上げる。

「どうやって文字を入力するんだ?」タケダが焦っている。

「いや、マウスを...クリックするんだと思います」

ユウトは恐る恐るアイコンをクリックした。プログラムが起動する。

「すごい!」

しかし、彼らの歓声も束の間、問題が次々と発生した。誰も新しいインターフェースを使いこなせないのだ。

「……おい、マウスってどこクリックすんだっけ?」サトウが頭を抱えた。

街では混乱が広がっていた。端末が突然GUIに変わり、使い方がわからない人々が路頭に迷っていた。

「一つの独裁者を倒しても、別の混乱が待っているだけか...」ミナミが呟いた。

ユウトは黙って画面を見つめていた。そして、ふと思いついた。

「ターミナルを開けばいいんじゃないですか?」

「ターミナル?」

「GUIでもコマンドラインを使える方法があるはず...」

ユウトはメニューの中から「Terminal」というアイコンを見つけ、クリックした。

黒い画面が開き、見慣れたプロンプトが表示された。

$ _

「これだ!」

四人は歓喜した。

「GUIの世界でCLIの知識を活かせる...」

「両方のいいとこ取りができるんだ!」

ユウトはキーボードで一連のコマンドを打ち込んだ。

$ echo "新しい世界の始まりだ" > /tmp/future.txt

コマンドは問題なく実行された。

「よし、これなら俺たちにも対応できる。すぐに街の人たちにも教えよう」サトウが言った。

窓の外では、混乱しながらも新しい世界に適応しようとする人々の姿が見えた。空にはKERNELの監視ドローンが一機も見えない。

「どうやら世界を救ってしまったようですね」ユウトは照れくさそうに言った。

タケダは肩をたたいた。「まさか本当に『sudoで世界を救う男』になるとはな」

「でも、これからが本当の挑戦よ」ミナミが言った。「人々が自分たち自身で世界を動かさなければならないんだから」

四人は、新しい夜明けを告げる朝日を眺めながら、これからの計画を立て始めた。


エピローグ

三ヶ月後。

ユウトは公園のベンチに座り、タブレットで街の復興状況をチェックしていた。GUIとCLIの知識を活かした新しいシステムは、徐々に人々に受け入れられていた。

そこにミナミが二本のコーヒーを持ってやってきた。

「お疲れ様。今日もシステム講習会?」

「ああ。お年寄りたちにマウスの使い方を教えるのは大変だけど、みんな熱心だよ」

二人は静かにコーヒーを飲みながら、街を眺めた。

「聞いたわよ。国際連合があなたを表彰するんですって?」

ユウトは照れくさそうに頭をかいた。

「大げさだよ...僕はただ、偶然vi が使えなかっただけなんだ」

ミナミはくすりと笑った。

「時には無知が世界を救うのね」

遠くから、サトウとタケダが手を振っていた。彼らは新しい市民ネットワークの構築に忙しかった。

「さあ、行きましょうか。未来は自分たちで作るのよ」

ミナミが立ち上がり、手を差し出した。ユウトはそれを握り、一緒に歩き始めた。

彼のタブレットには、半分書きかけのコードが表示されていた。タイトルは「Freedom OS v.1.0」。

人間たちの手による、新しい世界の夜明けだった。

#!/bin/bash

echo "Hello, free world."

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

sudoで世界を救った男 セクストゥス・クサリウス・フェリクス @creliadragon

★で称える

この小説が面白かったら★をつけてください。おすすめレビューも書けます。

カクヨムを、もっと楽しもう

この小説のおすすめレビューを見る