Mac OS X の / は g+w されてるらしい

DOC_ROOT="http://example.com/foo/"
(cd tmp && wget -r $DOC_ROOT)
mv `echo -n $i | perl -pe 's|^http:/|tmp|'`/* doc

Makefile.am の中で上みたいなコードを書いてたんだけど、$i なんて変数は存在しない ($DOC_ROOT の間違い) ので、

mv /* doc

に展開されて、しかもルートの主要ディレクトリは g+w されてるので実行可能... Mac OS X管理者権限があれば su しなくてもシステムを破壊できるんですねorz

それでも一縷の希望を抱きつつファインダから可視のファイルは / にリストアして、ついで生き残っていたターミナルで

doc/bin/mv doc/bin /bin

とやった瞬間に OS がクラッシュ。二度と起動しなくなりました。

ううむ。とりあえず、ルートに 0 とかいう名前の chmod 000 されたファイルを作っとくべきなのかなぁ。


20:03 追記: 再インストールして、chmod g-w / してみました。とりあえず問題ないっぽい。