第二話:まだまだ簡単な設定

結局,httpサーバやftpサーバとしてFMV君がDNSサーバになる必要は無かった.

前提として

とりあえず,Dynamic DO!.jp - ダイナミックDNS -とかでドメインを取得.んで,ルータがおるとする.

httpサーバやftpサーバとして

使うには,DNSとかは要らない.そりゃあった方がカッチョイイけども.何をするかと云うと,ルータの設定だけ.

  1. ウチの場合http://192.168.11.1/なんだけど,ルータの設定画面を開く.
  2. アドレス変換テーブルの設定を行う(モノに依っては,NATテーブルとか言う)
    • httpなら80番,ftpなら20-21番,sshなら22番を使う
  3. 終わり

外から来た信号やらコネクションやら何やらを,ルータが「あ,あなたは80番ね,それじゃ192.168.11.3の端末ね.あなたは22番.それじゃ192.168.11.4の端末へお願い」みたいにしてくれる訳だ*1.ネットワーク関係は苦手です.webプログラミングはやってみたいけど…….

マッピングしてもらう

ddo.jpやらでマッピングしてもらう*2.IPが変わる度に(常時接続だと滅多に変わらないけど),自分がわざわざウェブページを訪れ更新するのは,面倒くさいしクールじゃない.そこで,wgetとcronにがんばってもらう.
まず,ddo.jpにも書いてある通り,wgetをすればIPの情報は更新してもらえるけど,一度きりで,一定時間毎にやってくれない.そこでcronの登場.
cronってのは,http://www.linux.or.jp/JM/html/cron/man8/cron.8.htmlによると,

cron - 予定されたコマンドを実行するデーモン(Vixie Cron)

ということだ.まぁ一定時間毎に与えられたお仕事をしてくれる,ナイスガイってこと.
そこで,今回彼にやってもらいたいのは,「一定時間毎にwgetddo.jpに繋いでIPアドレスマッピング情報を更新して欲しい」って事.便利だ.それでは,今回cronにしてもらうシェルスクリプトをあっさりと.

#! /bin/sh

wget -q -O - 'http://free.ddo.jp/dnsupdate.php?dn=hoge&pw=hage'

まーこんな感じ.hogeは自分のドメイン名に,pwは自分のパスワードに.ログとか残したい人は,適当に付け加えるとよいよ.名前はdns-updateとかそれと分かるように,適当に.

# chmod 700 dns-update
# mv dns-update /etc/cron.daily

これでとりあえず,毎日やってくれる.毎日やってくれるのは良いけど,同じ時間にする人が多いと,トラフィックが大変になっちゃう.そこで,cronの設定ファイル,/etc/crontabをviなどのテキストエディタで開き,編集する.http://park15.wakwak.com/~unixlife/linux/sys-cron.htmlなんかに,詳しく書いてる.たとえば,

02 5 * * * root run-parts /etc/cron.dialy

とすると,毎日の午前5時2分に/etc/cron.dialy以下を実行してくれる事になる.これでマッピングの自動更新の設定はおしまい.おう,そんなに時間かかんないね.

sshから繋いでsudoしたい

sshで仕事先や学校から作業したいとします.sshだと,rootで入れないみたいなので,とりあえず一般ユーザで入ってsuして・・・と行きたいとこですが,初期の設定だと,一般ユーザにsuになる権利は無い(はず).
ならどうすればできるか.これも,とても簡単.


まず,端末にrootでログイン(もちろん,ssh経由とかじゃなく,普通に).次に,

# visudo -f sudores

とする.visudoは,sudoresファイルを編集するためのエディタで,なんか強いらしい.普通にviで編集する気分で編集できます.次に,sudoresファイルの任意の場所に,

omochi ALL=(ALL) ALL

と追加し,保存.終了.簡単だ.sudoresファイルに書き込むのが自分(管理者)ならコレでも良いけど,あまりにも強力だしセキュリティ的にも怖いものがあるので,@IT:特定のroot用コマンドを一般ユーザーが実行できるようにするにはなんかも参考の事.


多分次回に続く

*1:自分の理解を深めるためにメモっておくけど,WANのIPアドレスをLANのIPアドレスに変換してくれると考えて良いと思おう

*2:なんちゅうか,ddo.jpにやり方が書いてるけど,微妙に変だし,そのままやると出来ない