poweroff , powertop の補完が怖い。
powertop を見ようとして、
マジ危険ですよ。危険。
リモートマシンの電源をいれる手段を失いました。
さらにヒストリで暴発。
そして注意してたけど、ヒストリに残って Ctrl-R で履歴から実行しちゃったよね。マジ危険。
ls -l /sbin/{shutdown,halt,poweroff}
シャットダウン関連のコマンド
takuya@:~$ ls -l /sbin/{shutdown,halt,poweroff} lrwxrwxrwx 1 root root 14 Nov 2 05:33 /sbin/halt -> /bin/systemctl lrwxrwxrwx 1 root root 14 Nov 2 05:33 /sbin/poweroff -> /bin/systemctl lrwxrwxrwx 1 root root 14 Nov 2 05:33 /sbin/shutdown -> /bin/systemctl
halt は昔からあったけど、poweroffコマンドなんて出来たんですね。
init スクリプト時代にもあったかなぁ。systemd からだよね、コレ。
poweroffコマンド、引数なしで、確認なしで実行できるのほんと怖いよ。
他にも telinit とかあるけど、引数必須だし、似た名前のtelnet とかさすがに使わないので、暴発する心配はなさそう。
sudoers で poweroff コマンドを制限する。
reboot はまぁ暴発してもなんとかなるさ、poweroff はやばい。まじやばい。
shutdown もまぁまぁやばい。 -h 引数つけなきゃいいんだけど、怖い。制限しよう。
sudo visudo
sudoers
# Cmnd alias specification Cmnd_Alias SHUTDOWN = /sbin/shutdown,/sbin/halt,/sbin/reboot,/sbin/poweroff # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL, !SHUTDOWN
暴発防止できる。
takuya@host:~$ sudo poweroff Sorry, user takuya is not allowed to execute '/usr/sbin/poweroff' as root on host.
ちょっと安心。
これで、ウッカリを防ぐことが出来ますね。
reboot も制限するとさすがに 不便だから reboot だけあとで許可するようにしました。
powertop 入れたときの poweroff はタブ補完で出てくるから本当に怖い。
念の為WOLも
うっかりすることがあるとして、失敗学として2重に回避策を作っておけばいいだろうから、Wake On Lanの環境も持っておくといいかもしれない。
ネットワークが繋がらない的なのは、IPv6のフレッツ網内通信でマルチホーミングできるはずなので、PPPoEやIPv6のいずれかが生きてるデュアル回線なので安心だね。
参考
- man sudoers