PreviewとあるSESの現場では本番リリースの時期が近づいてきており、僕を含めた数人のエンジニアは間に合いそうもない残作業の開発を進めたり、本番で使うためのデータの整備を本番サーバー内で行ったりしていた。ほとんどがその案件のために集められたメンバーだったため特に和気あいあいとするでもなく、エアコンの風の音が響く小さなオフィスの片隅で静かに作業をしていた。業務上のやりとりもRedmineで行われており、声を発するのもたまにメンバー同士で話をしたり、クライアントから電話がかかってきた時だけ。その日もメールで通知が届いてきており、確認してみるとRedmineで僕が関係しているチケットにコメントが届いているという通知だった。通知のURLをクリックしてRedmineのチケットを確認してみる。それによると一旦本番サーバー上に存在するデータの中の一部の主要データをCSV形式で送ってほしいという依頼だった。無茶なスケジュールな中で残作業を残していた状況だったため、正直ちょっとそんなことをやっている場合じゃないだろうと苛ついた。そのCSVを大元の依頼主の方で調整し、またその変更をインポートし直すという追加作業付きだったため心底うんざりした。いえしばらく手を止めて考えを巡らせたあと、リリース工程のためにはやむを得ない作業であることは分かったため、表情も変えず「かしこまりました」と入力して返信した。CSVの作成とにかくバタバタしていて忙しかった事もあったため、CSVにエクスポートするためのプログラムを書くということは避けたかった。可能であればMySQLのクエリかコマンド一発で対応したいと思ったため、ネット上でやり方を探した。検索結果の最初の数結果目のページを開くと丁度良さそうな情報がすぐに見つかった。'/tmp/users.csv'という記述を追記することにより出力できるらしい。1早速対応しようと思い、まずはローカル環境のphpMyAdmin上で目的のSQLを組み立てる。出来あがり、特に問題もなさそう。実際に本番で試してみようと思い本番サーバーにSSH接続する。この本番サーバーは一つのサーバーの中にWebサーバーとMySQLサーバーが同居している。サーバーにログイン後、mysqlコマンドでMySQLのクライアントにログインした。先程作ったSQLを実行してCSVをエクスポートする。実際に出力されたものはCSVではなくエラーメッセージだった。権限がなく出力できないという。?よくよく考えてみると、Linuxのユーザーとしての権限は問題ないのだが、SQLでファイル名を指定しておりそれを実行するのはMySQLのサーバー側のため、ファイル出力はmysqlユーザーで行われているのではないか、と考えた。たしかに見つけたサンプルは/tmpディレクトリに出力していたのだが、今回はSSHでログインしているユーザーのディレクトリに出力しようとしていたので、そう考えると書き込み権限があるわけがない。そのためログインしているユーザーのホームディレクトリに書き込み権限を与え、再度OUTFILEを試してみたところ正常にCSVを出力することが出来た。僕はそれをRedmineのチケットに添付し、依頼主にメッセージを送った。いうことで突然入ってきた急な業務が問題なく完了したので、引き続き残っているチケットを進めることにした。静かに訪れるデスクの右側には街が見渡せる大きな窓がついており、差し込んでくる光は既に自然光から人工光に変わっていた。最後の作業を終えて帰宅する頃。先程の作業とは別に、ちょっと前に本番のデータを調整するための対応を行っており、一通り対応はできていたためクライアントに確認の依頼をしていた。Redmineに連絡が届き、確認が完了したため本番に反映してもよいという話になった。その日最後の作業を行う。本番でSeederを実行するため、いつものようにSSH接続を行う。いつもならばすぐに接続できるのだが、なぜかなかなか反応が返ってこない。なにか調子が悪いのだろうかと思いながらしばらく待った。最終的に接続に失敗してしまう旨のメッセージが表示されてしまった。したら何か他の件のVPNに接続したままだったかなと思い確認してみるが、特にそういうわけでもなかった。嫌な予感が頭をよぎった。SSHの設定自体は何も変えていない。SSH......、SSH鍵......、.sshディレクトリ......。いつもとなにか変わっていることと言えば、そういえば先程ホームディレクトリに書き込み権限を追加した。ホームディレクトリと言えば当然中に.sshディレクトリが含まれている。してそれが何か関係しているのだろうか......?試しにホームディレクトリの属性を変えてみたいと考えたが、不可能だった。この本番サーバーには他にユーザーが存在しなかったのだ。セキュリティ設定が雑でもしかするとrootで直接ログインできるのではないかと試してみたが、さすがに不可能だった。したらSSH接続したままのクライアントが残っていないかとPCを調べたが、全て切断済みだった。最悪の状況を招いてしまいたのではないかという考えが頭を巡っていた。いつもは少しだるい感じで仕事をしているのだが、やけに頭が冴えてしまっていた。こころなしか胸の鼓動がいつもよりよく聞こえる気がした。何か解決方法がないのか、このあとどうするべきかを考えていた。