水曜日, 1月 14, 2009

NS4300N Telnet 再有効化

[概要]
NS4300Nに、Firmware 01.05.0000.03を適用するとtelnetへのアクセスが出来なくなる現象への回避方法を説明しています。
[詳細]
Firmwareを01.05.0000.03へバージョンアップを行うと、
cronが1分毎に"/usr/sbin/chkhttpd"を実行して"/etc/telnet.user"を更新するように変更されてしまいます。
このため、"/data/etc/telnet.user"にユーザの記載があっても、telnetが出来なくなってしまいます。
chkhttpdを置き換えることで、"telnet.user"の上書きを防止まします。
  1. 事前準備
    telnet有効化するプラグインアプリケーションをインストールします。方法はこちら

  2. NS4300Nへのログイン

  3. サービスの開始後、1分以内にNS4300Nへログインしてください。
    cronが実行されログイン出来なくなった場合には、「DLNA Server」の「有効」を実行してください。
  4. 新しいchkhttpdの作成

    1. "/data/"の下に任意のディレクトリを作成します。ここでは"/data/usr/local/sbin"とします。

    2. /usr/sbin/chkhttpdを作成したディレクトリへコピーします。
      sudo mkdir -p /data/usr/local/sbin
      sudo cp /usr/sbin/chkhttpd /data/usr/local/sbin

    3. "/data/usr/local/sbin/chkhttpd"を編集します。
      sudo vi /data/usr/local/sbin/chkhttpd

      最後の4行をコメントアウトしてください。
      #open(OUT,">/etc/telnet.user");
      #print OUT "root\n";
      #print OUT "engmode\n";
      #close(OUT)

  5. /etc/crontabの編集

    1. chkhttpdの行を編集します。
      * * * * * root /usr/sbin/chkhttpd>/dev/null 2>/dev/null
      sudo vi /etc/crontab
      から
      * * * * * root /usr/local/sbin/chkhttpd>/dev/null 2>/dev/null

    2. 再起動後も有効になるように/data/etcにcrontabをコピーします。
      cp /etc/crontab /data/etc/crontab

以上でTelnet 再有効化は完了です。