面白いことに、ディレクトリを消去するための便利なスクリプトは、悪意のある人の想像をはるかに超える大混乱を引き起こす可能性があります

Table of Contents

面白いことに、ディレクトリを消去するための便利なスクリプトは、悪意のある人の想像をはるかに超える大混乱を引き起こす可能性があります

誰、私? 9月がこんなに遠いと感じていた頃を覚えていますか?3月から寝室で仕事をしている方は、もうパジャマに着替えているかもしれませんね。ちょっと待ってください。準備ができたら、「誰、私?」の宝箱から、予期せぬ下着の着替えについて熟知している読者による物語をお楽しみください。

「O」氏は、今世紀の初めに Windows Server 2003 の有能な管理者の下で過ごし、システムを順調に稼働させるための新しい方法を常に模索していました。「システムを運用する唯一の経験豊富なプロフェッショナルであり、非常に難しいサーバー作業を軽視する数人の「独立コンサルタント」がいたため、常に改善できる領域がありました」と、謙虚に語りました。

コンサルタントらは同社の約5つの拠点のうち1つだけを管理しており、複雑な部分は可能な限り避けていたものの、「自分たちの評判を良くする問題については、非常に声高に主張していた」という。

ディスク容量の問題は依然として解決されていないものの、グループが様々な解決策をその場しのぎで組み合わせて作り上げたスパゲッティ状の解決策は、「品質管理」と「変更管理」によってようやく解決された。Oは当時を振り返り、「問題はRAID5への驚くほど高い耐性(そしてSCSIディスクの途方もないコスト!)によるものだった」と語る。

プライマリサーバー(コンサルタントと同じ場所に潜伏)のアップグレードは簡単な仕事になるはずでした。Oが飛行機で現場に向かい、計画を立て、作業を開始し、完了させました。皆満足していました。

まあ、そうでもないですね。

パニック

このPDP-11/70は選挙結果を予測することになっていたが、誰もそれが失敗するとは予想できなかった。

続きを読む

「ディスク容量がたっぷりある新しいクラスタが、他の地域からディスク容量に関する苦情を引き出したようです」とO氏は説明した。そこで彼は、ディスク容量が少なくなった際にユーザーが承認した犠牲ディレクトリのリストを読み取り、それらを消去するスクリプトを作成した。

慎重な人物である彼は、スクリプトがどのサーバー上で実行されているかをチェックさせ(「誤作動を防ぐため!」)、さらに「適切な量のインテリジェンスと自動化」を追加しました。

IT 業界の多くのものと同様に、O の便利なスクリプトはバックグラウンドで実行され、会社の拡大に伴って新しいノードや BDC などが追加されるとすぐに忘れ去られました。

計画的な週末の停止まで、事態の悪化の兆候は見られなかった。O氏は、一部のサーバーでディスクの問題によりアップデートがブロックされていると指摘した。

問題ない。彼はサーバーのコンソールにリモート接続し、自分がどこにいるかを再確認して、便利なクリーンアップスクリプトを実行した。

「私はそれが始まるのを見守りました」と彼は言った。「その後、他のパッチ適用の再起動を行うために行きました。」

通話は8時間後に始まった。南部に新しく追加されたBDCが故障し、winnt再起動時にエラーが表示されていたのだ。奇妙なことに、ブートディスクを修復した後(ディスクシステムであるNTFSのアクセス制御リスト管理のおかげで)、すぐに復旧した。

「最初の根本原因はディスクの不良でした」とO氏は言います。「RAID5への投資不足が原因でした。」

時が経ち、BDCの事件さえも記憶から薄れ始めた。そして、今度はクラスターとコンサルタントチームのある現場から、新たな電話がかかってきた。

「フェイルオーバーが発生し、状況は悪化しました」とO氏は説明した。「PDCがダウンしたことは悪い知らせでしたが、メインサイトとコンサルタントがさらに複雑化していました」

彼らは問題を調べ、RAID関連の問題ではないと親切に判断してくれました。パッシブノードのCドライブは、誰かが操作した跡があったようですdel *.* /s

いったいどうして、このような破壊的なコマンド (現在のディレクトリとすべてのサブディレクトリ内のすべてのファイルを削除しようとするもの) が実行されたのでしょうか?

「机を掃除しながら、後からあの「防弾」スクリプトを振り返ってみると」と O 氏はため息をついた。「あのスクリプトは、実行すべきでない場所で実行されるようには設計されていなかったのです。

「サーバー名をチェックし、実行場所に基づいて実行するように設計されています。」

しかし、名前が見つからなくても、そのまま終了するわけではありません。ああ、だめだ。

「スクリプトは ' del specific drive\path\' を追加しましたが、通知されていない新しいノードで実行すると ' del \*.*... のみになりました。」

パラメータに加えて/s、O は/f(読み取り専用ファイルの削除を強制するため) および/q(Windows がユーザーにワイルドカードの確認を求めないようにするため) を追加しました。/s/fそして/q– 黙示録の 3 つのオプション。

彼は残念そうに、それは「最高の出来事」だったと語った。

最高に素晴らしいユーティリティだと思って作ったのに、データを破壊するモンスターを解き放ってしまった経験はありませんか?あるいは、会社のバックアップと復元戦略の即席テストを実施してしまった経験はありませんか?そんな経験はありませんか?そんな時は、「Who, Me?」にメールを送れば、きっと良心が晴れるでしょう。®

Discover More