この度、"$ sudo chmod 666 / "をしてしまいました

capistranoを使ってVMマシンにピコピコとデプロイの練習をしている時だった。
capisctranoのcap deployを実行すると正常に終わっていなくてロールバックしていた。
画面をよく見るとhome/rails/releaseへcdしようとしてerrorになっていた。
権限が原因なんじゃないのかと思ってchmodしに行った。
ここで何気なくすげー間違いをした。ドットを入力するつもりがスラッシュを入れてしまったのだ。

$ sudo chmod 666 /

以降、lsすらもPermission deniedとなった。
root直下の権限に実行権限がないので下層ディレクトリにあるスクリプト全てがPermission deniedとなる。
cdすらも許されない。なんだこれ状態。こんなデッドロック状態を容認するなんてOSのバグだろと少しずつ八つ当たりしはじめる。
(後で知った事なのだけど、ディレクトリに実行権限がないとそのディレクトリに入れない。)
rootでログインをしようとするが、vagrantで構築されたこのDebianのrootパスワードはわからなかった。
BOSSに助けを求めた。すると別のマシンからそのストレージをマウントしてchmodしようとのことでみてもらった。

やったこと

錯乱状態だったのであまり理解していないけどだいたい。

  • VertualBox(GUI)から生きてるVMマシンの設定画面からストレージタブのSATAコントローラーに不能になったストレージを追加した
  • 生きてるVMマシンから不能ストレージをmountしようとする
  • しかしファイルシステムがunknownって出た(はず)
  • sudo vgchange -ay VolGroup00
  • sudo lvscan
  • sudo vgchange -ay debian
  • sudo mout /dev/debian/root mymount
  • sudo chmod 775 mymount
  • sudo umount mymount

これでおk。

ファイルシステムが違うとか不明だとマウントできないらしい。
1コマンドで使用不能になるなんてこんなの絶対おかしいよ!