あなたの好きな*痛みを伴う* Unixの瞬間は何ですか


回答:


67

うまくchmod 000 /いくかどうか興味 がありました。

まあ、完璧に。数分後、私はレスキューCDを探していました。


11
あなたが言及するまで、私はそれを考えさえしませんでした。良いもの。
ステファンLasiewski

通常のファイルで実行するとどうなりますか?
リュックM

@Luc私はあなただけ戻ってそれをchmodはする必要が推測
phunehehe

通常、Arch VMでこのような「実験」を行います。それが爆撃した場合、私はちょうどそれをロールバックします。
アンドレパラメス

このミスを一度しました。とても恥ずかしかったが、貴重な教訓だった。
チャールズスプレーベリー

37

私が通っている大学のユーザーコンサルタントとして働き始めたときsudo、パスワードを紛失/忘れた学生を支援するための制限された権利が与えられました。 sudo passwd <username>私の新しい友達でした。オリエンテーションの1時間後、私の好奇心が良くなりsudo passwd、新しいパスワードの入力を求めて入力し、恐怖を凝視しました。私は少しに怖がっていた^C私は、パスワードを入力し、すぐの神聖な2階ドメインに上の階を歩いたので、私は、過渡状態に問題のアカウントを残すかもしれないという考え方(erroniously、結局のところ)、それから私の方法キャンパスSuperUserを開き、メインシステムのルートパスワードを知りたいかどうかを尋ねました。


4
へえ、所有!混乱した副:P
Spudd86

30
2回目の確認プロンプトで不一致のパスワードを入力した可能性があるため、何も影響を受けず、passwdは終了します。
ワディM.

1
@Wadih:passwdrootとして実行すると、おかしくなります。たとえば、タイプミスチェックに失敗すると、再度尋ねられます。
ジェルジAndrasek

それを以前の状態に戻すことができます。
-HandyGandy

1
@HandyGandy彼は元のrootパスワードを知りませんでした。彼にはpasswdを実行するsudo権限がありました。
gnud

32

他の誰もまだこれについて言及していないことに驚いた:

rm -rf .*

(完全にそれがに再帰することを忘れて、すべての隠されたファイルとサブディレクトリを削除しようとしているとき...


3
それは過去に私を燃やしましたが、の多くのバージョンはrm今それをしません。私はダーウィンを試してみましたが、エラーが出ましたrm: "." and ".." may not be removed
ステファンLasiewski

7
私はすべての種類のプラットフォームで常にそうしています。OpenBSD、NetBSD、Linux、およびOpenSolarisで意図したとおりに動作します。
ポレモン

and以外のすべてのドットファイルに一致させる場合は...を使用します.[^.]*。(まあ、これは実際にはで始まるすべてのファイルを見逃します..が、通常は1つしかありません。)
スベンマーナック

@Sven:もう1つの方法は.??*、入力しやすいことです。これは、などの2文字のドットファイルには一致しません.aが、これらも珍しいです。grep -r .??*たとえば、ホームディレクトリの構成ファイルを検索します。
ニールメイヒュー

31

メイクファイル:

clean:
    @rm -f * .o

もちろん、make cleanオブジェクトファイルだけでなくソースコードを消去します。

レッスン:バージョン管理を使用します。


11
表示されない場合は、*との間のスペース文字に注意してください.o
デニルソンサマイア

1
私はあなたの痛みを感じる、ある時点で私たち全員に起こった:)
axel_c

レッスンがリロードされました:シェルスタッフを行うたびに、「が表示されるたびに、* extraで、いいえ、余分 EXTRA EXTRAに注意してください。
ユルゲンA.エアハルト

ラボで徹夜した後、私はそれを手で行いました。プロジェクトは数時間後に予定されていました。それは変装した祝福であることが判明しました。書き直した新しいバージョンは、私が消した包帯バージョンよりもはるかに優れていました
バリーブラウン

1
義務的なマルハナバチのリファレンス:github.com/MrMEEE/bumblebee/commit/a047be
Residuum

30

:() { :|:&}; :コンソールにアクセスできないリモートサーバーで友人が実行していました。完全にフリーズした運用サーバーを再起動できませんでした。

(要求により)分解して、もう少し読みやすくします。

:() # Define ':' as a function. Every time we say ':' execute the following code block
{ # Start of code block
    : # Call ':' again. 
    | # Pipe output to...
    : # Another ':' 
    & # Disown process. 
    # All on one line this would read :|:&, 
} # End of code block
; # End definition of ':' as a function
: # Call ':'

次のように見る方が簡単かもしれません

bomb() { bomb|bomb& }; bomb

1
あなたはそれが何をするのかとても説明してくれるでしょうか?私はそれを理解することはできませんし、試してみたいとは思わない;)
naugtur

23
見た目はフォーク爆弾のようです。何をしているのか本当にわかっていない限り、これを試さないでください。
ザイド

5
うん。それはフォークボムです。そして素敵なもの:)それは無限にそれを解析しようとするので、bashインタープリターをフォークするようです。最後をスキップする:と何もしません。そして、メモリをまったく使用せず、フォークをたくさんします。[はい、試しました:)]。ユーザーごとのプロセス数の割り当てにより、影響をブロックできます。
naugtur


4
上記のコメントに対して+1。見た目よりも理解しやすいです。
ウマン

29

いい意味で、本当にやりました。chmodディレクトリを再帰的に試行して、でスワップ./しました/

当然、ルートとしてのみ、真の痛み(したがって悟り)を達成することができます。


23
割り当て可能な+1。「ルートを使用した場合にのみ、本当の痛み(および啓発)を達成できます。」
ステファンLasiewski

21

別のドライブで作業していると思って、誤ってメインドライブのパーティションテーブルを消去しました。

スクロールバック、dfメモリ、および幸運の慎重な使用により、私はそれを正確に再作成し、書き直し、再起動し、希望することができました...そしてそれはうまくいきました。


6
友人がこれを行い、私は彼がテーブルを復元するのを手伝いました。残念ながら、パーティションサイズとオフセットの以前の値がなかったため、bashループを使用して、ddパイプされたすべてのシリンダーの最初の4kブロックを読み取りfile -、スーパーブロック、つまりファイルシステムの開始を見つけました。これはライブCD上にあり、必要なすべてを実行するのに十分なRAMがなかったため(パッケージのインストールを含む)、別のマシンのsshで実行されているプロセスにパイプしました。
ニールメイヒュー

2
痛い。そのためsfdisk -O、常にパーティションテーブルのバックアップに使用しています。参考cgsecurity.org/wiki/TestDiskは@Neil Mayhewのしたことを自動化できます。
一時的な

2
私もそこにいました、testdisk私の箱を保存しました
プネヘヘ

最近ではgpart、ファイルシステムに似ている可能性のあるものを探し、そこからパーティションテーブルを構築します。
サイモンリヒター

19

本当に私の瞬間ではなく、他の誰かのものです。

核科学研究施設で働いていたとき、私たちは多くのSunOS、Ultrix、Linuxコンピューターを実行していましたが、研究者はそれらのマシンのCPUを共有する必要がありました。個々の研究グループが独自の研究助成金を取得したとき、彼らは自分のコンピューター、主にSparcStationを購入し、システム管理を自分で行いました。

SunOSはOpenViewデスクトップと素敵なファイルマネージャを使用して出荷されていました。これは次のようなものです。 代替テキスト

ほとんどの研究者はルートとして実行されていましたが、誰かがルートディレクトリを整理し、/ bin、/ etc、/ tmp、およびビューを混乱させる他のすべてを移動することを決定したため、オペレーティングシステムを再インストールする必要がありましたTrashcanまたはいくつかのサブフォルダー。

他のユーザーは、/ binディレクトリを整理し、知らないコマンドを削除することを選択しました。

幸運な人たちはバックアップを持っていて、ほとんどはテープドライブを購入していましたが、自分でバックアップを実行する伝統はありませんでした。


11
ルートディレクトリを整理しますか?本当に?本当に? SOB
アレックスB

41
TRWTFは、核科学研究施設でルートとして実行されていました!
反転

4
クールなスクリーンショット!ノスタルジックになります。
ガベ。

@Alex -だけでなく、私が使用していなかったことをこの大きなvmunixファイルは....あった
マーティン・ベケット

1
旧Mac OSのバージョンでは、あなたはかなり...ので、多分それは、彼らが期待していたものです、任意のファイルの任意の場所を移動することができます
ケビン・カントゥ

18

90年代半ばから後半にかけて、私の友人と私はrm -rf *、Linuxボックスの愚かさと、どの時点でLinuxボックスが腹を立てるかについて話していました。静的にリンクされたライブラリと動的にリンクされたライブラリに入り、システムがなくてもシステムが十分に生きることができると仮定/libし、ワークステーションで名前を変更しました。 悪いことが起こりましたが、損傷を修復しようとするいくつかの開いているコンソールウィンドウが残っていました(シャットダウンはもうオプションではありませんでした)。どのエディターも実行されませんでした。echoコマンドで見つけることができる難解な使い方は驚くべきことです。


19
この正確なトピックには古典的な物語があります:lug.wsu.edu/node/414
アレックスB

1
@Alex B:この物語は、Unix Horror Storiesの一部でもあります。
ボビー

18

viそして、Caps-Lock/etc/passwd

  1. 画面を正しく更新しない古いシリアル端末を使用して、古いSolarisボックスに接続します。
  2. su -
  3. vi /etc/passwd。そこにはありませんvipwし、とにかく「私達はちょうどマイナーな編集を作っています」。
  4. ヒットCaps-Lockの鍵との通知をしないでください。
  5. ヒットjスクロールダウンするために数回を。Jこの行と次の行を組み合わせた、実際に入力した(「参加」)という事実は無視してください。シリアル端末画面が正しく更新されなかったため、最初の5行を1つのLoooooong行に結合しただけで、最初の5人のユーザー(「ルート」、「デーモン」など)が破損していることがわかりませんでした。
  6. ファイルへのその他の意図された編集を、一番下まで行ってください。
  7. ファイルを保存。
  8. ログアウト。

これを一度やった。驚くべきことに、システムは数か月間機能し続けました。Cronjobsは正常に実行され、ログファイルにエラーは目立ちませんでした。

数か月後にシステムを再起動し、コンソールにログインできなくなるまで、この問題に気付きませんでした。psユーザー「root」ではなく、UID「0」が所有するジョブの束を示しました。

あなたはrootでログインしていない、また実行することができませんでしたsusu -、そして何があったsudoこのボックスに。フロッピードライブはなく、CD-ROMはバストされ、USBポートはありませんでした(したがって、外部CD-ROMはありませんでした)。rootのパスワードを入力する必要があるため、シングルユーザーモードは機能しませんでした/etc/passwd


2
確かに、「J」は「Join」(行を結合する場合のような)コマンドですか?
DR-1月

2
ちょっと待ってください。シングルユーザーモードで起動するためにパスワードを入力する必要はありません。実際、これは、ルートパスワードを紛失した場合にリセットする方法です。それとも昔は違いましたか?
プネヘヘ

Solarisでは、シングルユーザーモードに入るためにルートパスワードを知る必要があります。私は実際に2週間前にこれをしなければなりませんでした。
ステファンLasiewski

@phunehehe init = / bin / shトリックのあなたの考えだと思います。それは確かにルートパスワードを必要としません。ただし、ランレベル1にはまだルートパスが必要です
Patrick

18
rm -f * ~

そして

rm -rf ${DIR}/

DIR設定されていないとき!


4
という意味${DIR}ですか?なぜなら$(DIR)DIRコマンドを実行しようとするからです。
デニルソンサマイア

16

SysRqキーシーケンスをリモートマシンに送信しようとしたことを覚えています...

...しかし、それはローカルのものによってキャプチャされました。


14

単純なhalt私は地元のシェル上にないだと、後でいくつかの秒を認識し、再び運用サーバーの電源をオンに可能性がありません。

学んだ教訓?マシンのプロンプトは次のようになります

[ --> root <-- @kompost:/home/echox] #

素敵な赤いマークアップ付き;-)


6
molly-guardリモートでログインしているかどうかを確認し、本当にこれを行うかどうかを尋ねるというツールがあります。
サイモンリヒター

IPMIは本当に便利なものです:-)
アンドレホルツナー

13

私のお気に入りの瞬間は、emacsユーザーである同僚が重要なファイルを編集したいときでした。

入力するのemacsが多すぎるため、次のエイリアスを設定しましたemacs

alias em=emacs

コーヒーが足りない、またはコーヒーが多すぎるという影響下で、彼はもちろんタイプミスをしましたem...

まあ、これは使用するもう一つの理由viです...;)


これについて私が本当に好きなのは、彼がemacsがどれだけの時間であったかを心配していただけではなかったという事実ですalias e=emacs
スティーブンD

コーヒーとは別に、「e」と「r」はキーボードの近くにあまり遠くないことに
注意してください...-leonbloy

11

または別の経験、個々にそれほど愚かではないいくつかの簡単なステップで本当に愚かであると感じる方法。

ステップ1:Linuxボックスを使用したい場合に備えて、子供のアカウントを確立します。結局のところ、これはホームシステムであり、ネットに公開されないため、簡単なパスワードを指定します。

ステップ2:時間が経過するので、ステップ1を覚えていない。

ステップ3:ファイアウォールでSSHポート(実際にはルーターのNAT)を開いてsshします。結局、私のアカウントはかなり良いパスワードを持っているので、とてつもなく価値のあるものはありません。

ステップ4:ISPからスウェーデンのサイトに行くDOS活動があることの通知を受け取ります。おそらくWindowsのボックスであると仮定し、それらを調べて強化します。

ステップ5:ISPからまだ通知されている通知を受け取ります。詳細を尋ね、スウェーデンのサイトのIPアドレスを取得し、Wiresharkを起動して、攻撃元のボックスを見つけます。

ステップ6:Linuxボックスをクリーンアップして、愚かさを感じます。ログインがルーマニアのアドレスから来たことを確認します。適切なパスワードのないアカウントを削除します。


1
行ったことがある。私はかつてtest:testのログインでアカウントを作成し、それを約5分間だけ使用するつもりでした。私はそれを削除するのを忘れて、あなたと同じ結果を得ました。二度と。すべての公開鍵認証に今すぐ行きます。
ATC

1
ええ、私も公開鍵/秘密鍵を使用します。それらは時々少し迷惑になることがありますが、単純なパスワードよりもはるかに安全です。
デニルソンサマイア

4
インターネットへのSSHを開くとき、決してパスワード認証を許可しないでください。公開鍵/秘密鍵の認証のみ。この方法では不意を突かれることはありません。
wazoox

@wazoox:otpも良い選択肢です。
ユルゲンA.エアハルト

LinuxおよびMac OS Xボックスのルーターから標準sshポートに転送されるsshには、非標準の高い番号のポートを使用します。ログインしようとしたことがありません。他のマシンの〜/ .ssh / configのショートカットにポートが設定されているため、通常は入力する必要さえありません。
ニールメイヒュー

11

私が大学にいたときのコンピューターラボでは、スクリーンセーバーを使用して、前後に浮かぶボールの束をシミュレートしました。彼らはシミュレートされた重力でそれぞれを引っ張りました。

一度、設定をいじりながら、エラーでクラッシュしました Error: force on balls too great


10

私はかつてUnix用のデバイスドライバーを開発していました。ポインタの問題があり、テスト中にカーネルメモリ内の配列の終わりを書き始めました。私はこれを見つけるのが遅く、すぐにリセットボタンを押しませんでした。ドライバーは、ディスクバッファーキャッシュ全体に走り書きしていたので、リセットする前にディスクにフラッシュされました。ブロックの多くはiノードとディレクトリであり、最終的にはファイルシステムが完全に破壊されました。私lost+foundはあきらめて再インストールする前に、6000個の孤立したファイルが置かれたと思います。幸いなことに、これはテストシステムのみであり、すべてのファイルを含むワークステーションではありません。


今、あなたの作業システムでそれを行うのは本当にばかげていたでしょう;
ユルゲンA.エアハルト

8

/ etc削除してから回復しました。レッスンを学んだとは思わない...削除されたものから/binも回復しなければならなかった。で作業しているときに起こるようchrootです。


私はダウンモッドになった理由を知りたい
です-xenoterracide

1
私もこれを目撃しています。システムが/ etcなしで生き残ることができることに驚いています---何も再起動しないでください。
ステファンLasiewski

7

昨年、私の同僚がLinuxワークステーションの1つを使用して、ddコマンドを使用してフラッシュディスクのコピーを作成していました。彼は誤って次のようなものを入力しました。

dd if=flash-image.img of=/dev/sda1

フラッシュドライブの代わりにマシンのハードディスクを上書きするというミスに気付いたとき、マシンは既にホースで接続されていました。私たちはボックスを再構築する必要がありましたが、それは当時私たちの開発VMのすべてをホストしていたマシンでもありました...


2
+1- 非常に非常慎重にdd!!! :
ジョシュ

7

これは昨年私に起こりました。一時変数を使用してサーバーからいくつかのファイルを削除していました。

rm -rf ${prefix}*

何だと思う?変数$prefixが定義されていません!
あなたは災害を想像することができます...それはいくつかの非常に重要なファイルが削除されるという結果になりました。

私はほとんど壊れてControl-C、ネットワークケーブルを取り外すためにCPUに走りました!!

ハハハ私は誰かがすでにこれを行っていたと確信しています...


7

コンピューターサイエンスを勉強してから2年目に、多くのサブプロセスを生成forkし、「円」内のパイプと通信し、どちらが「リーダー」であるかを判断するプログラムをCで記述する宿題を与えられました。「。

当時はまだかなり初心者で、ほとんどの人はLinuxマシンを持っていなかったので、教員のメインサーバー(公式サイトとスタッフアカウントおよびサイトもホストしていました)でアカウントに取り組みました。ほとんどの人は宿題をしようとするある段階でフォークボムを書きました。私のグループの半分以上がabusersファイルにアクセスしました。それはあっという間にそのサーバーの最大負荷でした:)


それは馬鹿げたものでした...彼らはあなたをウェブサーバーやものと同じマシンに乗せるべきではありませんでした。(私の学校にも同じことがありますが、リモートシェル専用のサーバーがあり、年に1度のフォークボムが手に負えなくなることはありません)
Spudd86

マイクロソフトは、教員とのパートナーシップを獲得し、windowsと.netはすでにかなり推進されていました。誰もサーバーにたくさんの初心者を期待していませんでした:)
naugtur

6

私の大学が独自のCisco LEAP認証を使用するようにワイヤレスネットワークを切り替えることにしたとき...

非常に長い戦いが始まり、十分に終わりました。Linuxを実行してインターネットにアクセスしたい人のためにドキュメントを書きました。6か月後、PEAPサポートも追加することにしました。顔の平手打ち

私が勝ったので私のお気に入りです。うまくいきました。


6

Solarisのルートとして、

$ kill -9 1

...そしてすべてがダウンしました。

私の友人はこのために解雇されました。


6

私はLinuxクラスのラボアシスタントでした。彼女はもはや可能性があるため、生徒の一人は、私を呼ばないsu -彼女はなっていたのでpermission denied。OK、彼女はパスワードを間違えた/タイプミスしました。シングルユーザーモードで再起動してリセットします。何?!suそれでも動作しませんか?!私の意志に屈する必要があります!そこで、私はシングルユーザーモードで再起動して、彼女が何をしたかを調べました。彼女が走ったことに気づいたchmod -R 777 /var/www/html/drupal-6.19 /

ディレクトリ名と最後のスラッシュの間のスペースに注意してください。

「私は本当に彼女を再インストールしたくないので、これは何をどのようにしたいのか」という数分後、/ bin / suにのファイル許可があることがわかりました777。それはのファイル許可として読むこともできます0777、それはからsetuidビットを取り除き/bin/suます。素早くchmod u+s /bin/su、私はヒーローでした。


5
彼女のシステムを破壊しないように変更する必要があるのはそれだけですか?
マイケルMrozek

1
私はそれがまだ壊れていたと確信していますが、多分それはクラスの残りのために十分にうまくいったでしょう。
ステファンLasiewski

1
残りのクラスで十分に機能しました。学校では、すべての学生用ドライブを四半期ごとに再インストールする必要があるようです。そして、この四半期が終わった後、彼女はLinuxを使用していなかったので、残りの部分でLinuxを修正することはありませんでした。
ケビンM

5

ないその痛い...でも楽しい小さな瞬間:

私が誤って入力しましたlsとしてsl及びシステム管理者が持っていたことが判明何かそのような場合のためにインストールします。

(すでにDebianUbuntuGentoo、...リポジトリで利用可能)


4
それは痛みを伴う瞬間というよりもイースターエッグのようなものです。私はそれに出くわす前にそれについて読みましたが、それをタイプミスしたことは一度もなかったので、+ 1はありません。
ウマン

Grinn ..「システムがハッキングされています!11 lsと入力するとASCIIアートアニメーションが表示されます」
-blauwblaatje

^それほど面白くない!
-mr_eclair

5
git init
git clean -f

これはリポジトリを削除しません。これにより、リポジトリにないすべてのものが削除されます。

既存のレポジトリを削除してから(プロジェクトの最初のバージョンの完成版で)ソース管理を再開しようとすると、これら2つのコマンドはコード全体を無効にしました。


git rebase(squashingを使用)とgit filter-branch(ファイルを削除するための)はあなたの友達です:-)これにより、レポ履歴から不要なものを削除して比較的きれいなプロジェクトを作成するより安全な方法があることを意味します。通常、大規模なリベースの前に、現在のブランチのバックアップコピーを作成します。
ニールメイヒュー

5

私が働いていた会社の製品はSCOで稼働していました。デモサーバー上でアプリケーションの動作が非常に遅くなることについてデバッグを行っていましたが、同時に、今後の新機能に関するデモ/講義を受けているお客様がたくさんいました。

だから、私はスタックしていたアプリケーションを実行し、根本的な原因を確認するために自分のことをしましたが、それがまだ「スタック」しているので、私はそれを殺そうとしました:

pkill -9 mytestapplication

私が学んだことは、pkillはSCOでlinuxとはまったく同じではないということです=)

...基本的に、ユーザーがアクセスできるすべてのものを削除し、rootで...それがすべてです=)


1
SCOで何をするのか説明していただけますか?私には見当がつかず、Googleで簡単に見つけることができませんでした。
デニルソンサマイア

1
それはbasicly殺す、すべてのユーザーがアクセスし、ルートとしている...そのすべて =)
rasjani

3

DebianからUbuntuへの切り替えは、いくつかのファイルとディレクトリを削除しようとした日から始まりました。

rm -r /var/tmp/*

残念ながら、「/ var / tmp /」と「*」の間にスペースを挿入しました。さらに悪いことに、ファイルシステムのルートにいました。

root@workstation:/# rm -r /var/tmp/ *

自宅で試さないでください!


'zsh:/ [yn]のすべてのファイルを削除しますか?' -それは非常に便利です
アンドレパラメ

これは/からのファイルを削除しますか?
mr_eclair

3

巧妙なトリックは、同等のものを行うにはありますdirnameし、basenameバッシュで、それぞれ:

${path%/*}
${path##*/}

$path末尾のスラッシュが含まれている場合はそれほど面白くない...


3

1つのポイントに2つのドライブをインストールし、2番目のドライブのルートファイルシステムを内のディレクトリにマウントしました/mnt。私はそのディレクトリにいて、削除しようとしましたvarが、rm -rf /var代わりに入力しました。いくつかの本能は、スラッシュが先行しvar なければならないということでキックするように見えました!

私がやったことを理解したとき、私はすぐに打っCtrl-Cたが、手遅れだった。私のrpmデータベースは、建物を離れてから長い間ありました。何年もかけてすべてを正常に戻しました。

痛みのある部分です。

そのディレクトリに戻って、/mnt今までやっていたことを再開します。何を入力しますか?さて、本能が再び作動したとだけ言っておきましょう。

少なくとも2回目にはシステムをはるかに速く復元することができました;)


1
これは、chroot(1)を知る前のことですか?
ケビンM
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.