どさにっきクラウド 〜2009年3月上旬〜

by やまや
<< = >>

2009年3月7日(土)

無題

_ おひさしぶりです。生きてます。風邪ひいてしばらく死んでたけど。

from

_ *BSD にはわりと古くあるコマンドに fromってのがある。BSD 発祥だけど、歴史が古いだけあって SysV 系でもたいてい使える。Linux では見たことないけどな。新着メールの送信者と到着時刻のリストを表示するというお便利コマンドなんだけど、今では活躍する機会があんまりない。だって mbox 形式しか使えないんだもん。Maildir な環境では使えないんだもん。

_ つーことで、風邪で死んでる間、布団の中でヒマだったので Maildir 版の from を書いてみた。sh で。

openssl base64 -d <<_EOF_ | gzip -dc
H4sIAENFskkAA5VWbW+bSBD+DL9iDsM1OKIGO00bKG19clInOpwqTnU6WXzAsBh0
NuR4udRK8987+4KNE6c9I9nsvDwzz+zO7tL5rTdPs16ZyHKUxrE76J+YptSBs0Qu
SRaRwpXDvM4q15RtUB+84eWfo8sb21XU8bV3rvS8IF1GafEo3yfpksCCVPldVUIY
26UNQbFwIMplwCcMSgKKiioF0oyrdInHthyHKWJdEgkw/vWX2+HNZ0WYSl0SfJ5a
urpEwiQHpS6DBbEhLvIVzIzQx78YVpwfFUrgEXwFrA+/9x0g39JKBCFlEMpRnhG5
TNK4AvXoiKa5nIzAAEvXZUHfYuQVRQcEdnUEstQ0J07PJ0gXWV6QSGRwZBZXrkhZ
gVEgXpTXy8i9At+/w8NOgDDIXlVQkCCCXc8tX7AceJRDXI44LyBGNjuuve7TCY83
063sOmINc0z1T3sG6IClT/CPFBBEUQHvWZRtTPVjE9HECdisArxYStwUEOZZlWY1
eZpSUOVJN3xnN4U/Oyf+7LbyZ19rn8mTzDdmX+782TDghnHi27osUabYGg/03Xn/
qOxqtA9U07QgKlgSCddRuNGZOb8xRsNz73pCO0ti5BoIb5wtiDqIQDodd2knb2pr
sC7tovCYto8UUypxp9PtUSZc0rTX3RYvthd4DhMRdAo60P1jOhLjKKgI7yKc0GPl
gvY54wBaANocNALa2NY8W5uC9rfSRPg8+boTIIJPB0YoE5jX6bIyKDWqmrLKYu3U
1AXRiGpQZajT4yOVniS63tuaPQaIGAB2EJGhem3PsfDsn+zxHOs9qpe5njcj836L
zg25gQ737rTO6EJQ+YTKXr6R31D5li8UlU+p/BeJGtlk9qRuZIvKF0XayH0WP6ga
mW9xNly71tlbk4+Xrtmir0a8DaiCn5QzUCMwFuyoGZy+OVaXWIPPdq8krRlmzTGS
iGCgm0HdULWpfa2diNqxaTApPUol7Eeanw15LzIi9HjjwzSGpw/ng8QGFqVRJSST
Vu5VIGaVLBGzIYK8nC2i/66FuCDzFgJ9lmCQf8ECI2D+OO6fvejfZOi/Y5U6L9Dy
guLXtAZmCzG824swf5ZjfWCOq3rvZP0kx1W9/B852ohhvTiQ1ZTcHcjqOqwOzDHJ
/2sQ2Jc7OSR8Vu6IiCaM053dO6YX2Ecdt72pjh0Htt3K7Z6we2j39tinwj5F+3SP
PRL2yFVQUBoPQZbdV61TUL0HdUVB6thWPRujq+vNZfDsS+HZsW3p7dss3FxkVvOF
cpuQgkBa4m5YkZJ+rlB667wu8B3mqzRbsA+Wef7t9bPPGw4O8KeGDbz8NV5QZ7R/
AN1Hm47tCQAA
_EOF_
POSIX sh の機能をフルに使ってるので、Bourne sh では動かん。いや、POSIX sh の正確な仕様を把握してるわけじゃないんだけど、手元にある posix 準拠を謳うシェル(ash, bash, dash, ksh) ではみんな動いたんでたぶんだいじょうぶだろ。逆に、POSIX sh であれば、それ以外のものは一切必要としない。外部コマンドはまったく起動しないし、サブシェルすら生成しないという、完全に sh の内蔵機能だけで書かれた変態スクリプト。

_ スクリプトの半分は date コマンド一発で済む日付計算なんだけど、実際に date に置き替えてみたら実行速度がだいぶ落ちたんでびびった。いくら外部コマンドの起動はコストが高いとはいえ、50行もあればさすがに外部コマンドを呼んだ方が速いかと思ってたのに。


2009年3月9日(月)

斬る

_ SIGTERM と SIGKILL の違いを説明した。

_ 「kill -TERM ってのはさ、正確にいうと殺さないんだよ。カーネル自身は手を下さず、おめー死ね、と迫るだけなの。だからそのプロセスは必要に応じて身辺整理してから切腹するわけな。kill -KILL はそうじゃなくて問答無用で打ち首な。で、たいていの場合は切腹でカタがつくんだけど、それで死にきれないヤツがたまにいるんで、そういうときはしかたないから SIGKILL でカーネルが介錯してやるわけだ」

_ まわりで聞いてる人から「ひどい説明だ」と笑われたけど、わし間違ったこと言ってないよね。


2009年3月10日(火)

無題

_ apache のアクセスログを見てたら、なんか脆弱性のある php スクリプト(?)を探しにやってきた攻撃の中で、ディレクトリトラバーサルで /proc/self/environ を拾おうとしてるものがあった。なんだこれ。

_ 環境変数だったらそんな方法を使わずにごくごくあたりまえの方法で取得できるし、/proc/self ならばパーミッションは開いてるからそんなことしなくてもふつーに読めるはずのに、なんでこんなことするんだろ。

……というあたり? だとしてももっとマシな方法はあるよなぁ。よくわからん。


<< = >>
やまや