NS4300N Telnet 有効化 2
前回の続き。
原因判明。
/etc/crontab に記述されている /usr/sbin/chkhttpd が、
毎分 httpd 監視のついでに /etc/telnet.user を書き換えてました。
/usr は squashfs というリードオンリーなファイルシステムなので、
chkhttpd を直接書き換えられません。
仕方がないので苦し紛れに chkhttpd をコピーして /etc/crontab でそちらを読むようにしました。
手順を一応書いておきます。
ちなみに定型文的になってしまいますが、
あくまで作業される場合は自己責任でお願いします。
- Telnet でログインする
前回の技で plugin 導入後1分間はログインできるのでその間にログインします(笑)
1分間といいましたが NS4300N の時計が00秒になったときに発動するので注意してください。
59秒に plugin 導入が完了した場合1秒しか余裕がありません……。
- 落ち着きます
ログインするときに /etc/telnet.user を参照し、
Telnet で接続できるユーザかどうか判断しています。
すでに接続されている状態で /etc/telnet.user が元に戻されていても、
強制的にログアウトされる訳ではありませんので作業が進められます。
chkhttpdを書き込み可能な場所にコピーします
/root がいいのではないかと思います。
cp /usr/sbin/chkhttpd /root
- コピーした
chkhttpdを修正します
vi を使って編集します。
ちなみに vi は知らないとなんじゃこりゃ!って操作系ですが、
慣れると離れられなくなるような代物です。
chkhttpd の最後の方に print OUT "engmode\n"; という記述がありますので、
そのすぐ下に print OUT "admin\n"; を追加しましょう。
以下のようになるはずです。
open(OUT,">/etc/telnet.user");
print OUT "root\n";
print OUT "engmode\n";
print OUT "admin\n";
close(OUT);
完成!
あ、
よく考えたら /etc/telnet.user 作ってる部分をまるまるばっさり消しても良かったんですね。
まぁでも間違って壊しちゃっても元に戻るということで……。
追記
/root にコピーしておくといつの間にかきえちゃいます……。
仕方がないので HDD (/VOLUME1 とか)に置くことにしました。
次回につづく……

