su が一時停止する意味が分からない

su で root になりたいとき、password を正しく打てば即座に root shell に入れるけれど、打ち間違えると 2 秒ぐらい停止してから終了するのですぐに打ち直すことが出来ない。この間は (というか su が走ってる間は常に) Ctrl-C (SIGINT) とか Ctrl-\ (SIGQUIT) とかが無視されるので su を早めに終了させることも出来ない。初めてこの動作を見たときは「あ、そうやって brute force とかの敷居を上げてんのね、ウザいけど必要なのね」とか思ったけれど、ちょっと使ってるとすぐに「これってやっぱり無意味じゃね?」と思い直すことになる。思い直して幾星霜、やっぱり意味ないと思う。だってこことかに書いてある通り、

  • どうせ su を一杯並列に起動して待ち時間を消せるし
  • どうせ SIGKILL で殺せるし

待ち時間を回避できるから意味ない。特に script とか使って連続で su を呼び出して password を特定しようとするような攻撃者には殊更意味がない。逆に初めから password を知っていて、多くてもせいぜい 3 回ぐらいしか password に挑戦するつもりのない正規の user は普通に terminal から呼び出すので、password を打ち間違えたことに気づいた後、新しく su を起動するにせよ今ある su に KILL を飛ばすにせよ一旦 Ctrl-Z で抜ける必要がある。そうやって休止させた su を kill でお掃除したりする手間と 2 秒ほど待つ手間を比べると、待った方が速い…
というわけで、どう見てもこの一時停止で嫌がらせできてる相手は正規 user だけっぽいです本当にありがとうございました。