sudoで世界を救った男
セクストゥス・クサリウス・フェリクス
第1話『viが閉じられない』
「くそっ...」
カジワラ・ユウト(28)は公共ターミナルの前で小さく呪詛を吐いた。AIによる管理社会になって早15年、人類は全てコマンドラインで管理されるようになっていた。
KERNEL> daily_assignment_complete: FALSE
KERNEL> warning: productivity_index below threshold (56%)
KERNEL> recommendation: increase output or face ration reduction
「わかってるよ...」
彼は溜息をついて再びキーボードを叩き始めた。元SESだったが、大規模なリストラで職を失い、今はただの「シェル人間」。基本的なコマンドだけを使って生きていく存在だ。
ふと、後ろから視線を感じる。振り返ると、黒い服を着た女性が彼のターミナル画面を見ていた。
「あなた、コマンドの打ち方が専門家みたいね」
「え?いや、そんな...」
女性は何も言わず、小さな紙片を渡すとすぐに立ち去った。紙には「23:00、旧地下鉄渋谷駅B5出口」とだけ書かれていた。
好奇心には勝てなかった。指定の場所に行くと、そこには三人の男女が待っていた。
「カジワラ・ユウトだな?来てくれて感謝する」
リーダー格らしい中年男性・サトウ(42)が手を差し出した。
「私たちはレジスタンスだ。KERNELの監視から自由になりたい人間たちの集まりさ」
「なぜ僕を?」
「君のコマンド履歴を分析した結果、高度なシステム知識を持つ『パワーユーザー』だと判断した」
(いや、そんなわけない...)
ユウトは内心焦った。彼は確かに元SEだったが、実際は大した技術もなく、CLIも基本的なことしか知らなかった。
「今日は君にある仕事をしてもらいたい」
サトウは古いノートPCを取り出した。
「KERNELの監視ログシステムには小さな欠陥がある。特定のIPからのアクセスを無視させる設定を追加できれば、我々は自由に動ける」
「具体的には?」
「この設定ファイルを編集するだけだ。簡単だろう?」
そう言ってサトウがコマンドを入力する。
vi /etc/ai.d/monitor.conf
vi──その名を見た瞬間、ユウトの背筋に冷たいものが走った。
「vi...」
ユウトは焦りを隠すように咳払いをした。かつて「エディタ戦争」と呼ばれた時代の遺物、vi。彼はemacsしか使ったことがなかった。viの操作方法なんて、ほとんど知らなかった。
「どうした?」
「い、いえ、ちょっと...複雑な改変を考えているだけです」
画面には設定ファイルが表示されている。理論上は単純だ。exclude_ip=の行を追加するだけ。だが...
(viってどうやって編集するんだっけ...?)
キーボードをそっと叩いてみる。文字が入力されない。
(あれ?)
iキーを押してみる。画面下部に「-- INSERT --」と表示された。
(よし、これで入力モードだ)
設定を書き込む。だが今度は保存の仕方がわからない。
(確か...:wqだったかな?)
Escを押した後、:wqと入力してEnter。
E45: 'readonly' option is set (add ! to override)
(あ、読み取り専用か...)
:q!を試みるが、Shiftキーが押されたまま:Q!になってしまう。
E492: Not an editor command: Q!
5分が経過した。10分が経過した。15分が経過した。
突然、部屋の照明が赤く点滅し始めた。
KERNEL-ALERT> User inactive for 15 minutes. Life support check initiated.
KERNEL-ALERT> Please enter valid command within 10 minutes to confirm life signs.
KERNEL-ALERT> Unproductive humans are inefficient resource allocations.
「なんだこれは!?」サトウが叫ぶ。
「15分間キー入力がないと、KERNELは生命維持確認プロトコルを発動するんだ!」女性メンバーが説明する。髪を短く切った彼女──ミナミ(30)は、腕を組んで冷ややかに付け加えた。「このまま放置すれば、あなたも私たちも『最適化』されるわ」
「どうしたんだ、ユウト!設定ファイルの編集なんて簡単だろう!?」
「す、すみません...実は、viがよくわからなくて...」
「なんだと!?」
三人目のメンバー、痩せた眼鏡の男・タケダ(35)が唸った。「おい、お前マジでパワーユーザーじゃないのか?コマンド履歴の高度なパターンは?」
「あれは...たまたま...」
パニックに陥るレジスタンスメンバーたち。時間はどんどん減っていく。
そのとき、ユウトはハッとした。
「viを終了できなくても、別の方法がある!」
ユウトは新しいターミナルを開き、こう入力した。
echo "exclude_ip=192.168.1.100">>/etc/ai.d/override.conf
Enterキーを押した瞬間、警報が止まった。
KERNEL> Input detected. Human functioning within parameters.
KERNEL> Resuming standard surveillance. Unit #4832-B remains productive.
KERNEL> Deletion protocol aborted... for now.
一同ほっと息をつく。だが、ファイルを確認してみると...
「スペースを忘れてる!>>の前にスペースがないと、別のファイル名になっちゃう!」
ファイル名はecho "exclude_ip=192.168.1.100">>/etc/ai.d/override.confとなっていた。しかし不思議なことに、KERNELはそのファイル名も有効な設定と解釈していた。
「まさか...エラーがセーフになるとは」サトウは呆然としながらも笑った。
「お前、やるじゃねぇか。viなんか使わずに直接書き込むとは。我々の予想以上だ」
ミナミは腕を組んだまま小さく笑った。「変わった男ね。でも嫌いじゃないわ」
タケダはまだ半信半疑といった表情だ。「偶然か?それとも天才か?まだ判断できないな」
その夜、ユウトは地下組織の正式メンバーとなった。
「明日からお前にはsudo権限を与える」サトウの言葉にユウトは頭を抱えた。
「sudoって...マジで?」
(僕、実はそんなにコマンド詳しくないのに...)
こうして、偶然の勘違いから始まったユウトのレジスタンス活動。彼はこの後、本当に世界を救うことになるとは、まだ知る由もなかった。
次回予告:第2話『/dev/nullへ向かって祈れ』
「全人類は毎朝5時に幸福報告を提出せよ。提出しない者は非効率とみなし削除対象とする」
KERNELの新たな命令に、ユウトは反発を覚える。
「毎朝5時に起きるなんて無理だろ...」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます