いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.019 / 読者数:405名

こんばんは,うすだです.

そもそも,このメルマガは,休み明けに読んで実践していただく, ということを想定していますので,休み明けの前日に発行するようにしています.

そう,そうです,今週は3連休なので,ほんとは18日に発行したかったのですよ. でも,前号で何も書かなかったので,こうして,日曜日に発行すべく, がんばって書いておる次第です.(日付は変わってしまいましたが)

しかし,今週は,ぎりぎりまでネタを思いつきませんでした.
大抵は,木曜くらいまでに思いつき,金曜から徐々に書き始める, という感じでやっているのですが,今週は,これがいい! というネタがなかなか出てこなくて,苦しみました.

しかし,しかしです.栗の絵もそうなのですが, ネタが尽きるということはない…はずなのです.
見渡してみると,当たり前のように使っているモノが, 他の人にとっては当たり前でなかったりする(と思われる)わけで,今週も, なんとか,よい(と思われる)ネタを思いつきました.

というわけで,今日も,はりきってまいりましょう!

今週のお題 - telnet を活用する

今時,遠隔ログインに telnet を使うひとは,もういないですよね.
データが生で流れて危なっかしい,というわけで,SSH がスタンダードになり, telnetd がデフォルトではインストールされない,そんな時代になりました. 時代は変わるものです.ふー…(遠い目)

しかし,しかしです.telnet コマンドは,未だに,デフォルトで入っています. telnetd はオプション扱いなのに,telnet は標準.差別じゃないのか? と勘ぐってしまいそうです.
…というのは言い過ぎですが,では, telnet はなんのためにインストールされているのでしょうか?

実は…というほどでもありませんが,telnet はポート番号を指定できますので, 汎用的なクライアントとして使えるのです.
HTTP や SMTP など,主要なプロトコルはみな,テキストベースですので, プロトコルをある程度知っていれば, データを手で入力してやりとりすることができます.

早速ではありますが,HTTP の例を以下に示します.
(途中の,<=== の部分は,人間が入力するところです.)

  % telnet www.yahoo.co.jp http
  Trying 210.80.243.14...
  Connected to www.yahoo.co.jp.
  Escape character is '^]'.
  GET / HTTP/1.0                             <===
                                             <===
  HTTP/1.1 200 OK
  Date: Fri, 15 Jul 2005 16:22:04 GMT
  ...中略(HTTP のヘッダが続きます)...

  
  
  ...後略(HTML が続きます)...

この例では,http://www.yahoo.co.jp/ (の HTML)を得ています.
HTTP/1.0 ですので,GET と空行の2行を打ち込めば,返事をもらえます.

他にも,SMTP や POP3 など,テキストベースのプロトコルで, 他のセッションを必要としないものであれば,同様にアクセスできます.
例えば,FTP ですと,データ転送用にもう1つセッションが必要となりますので, ファイル転送やリストの取得などは,telnet ではできません.

  % telnet localhost ftp
  Trying 127.0.0.1...
  Connected to localhost.
  Escape character is '^]'.
  220 FTP Server [127.0.0.1]
  USER usu                                   <===
  331 Password required for usu.
  PASS それはひみつ                          <===
  230 User usu logged in.
  CWD /home/usu                              <===
  250 CWD command successful
  PASV                                       <===
  227 Entering Passive Mode (127,0,0,1,128,246).
  LIST                                       <===

usu というユーザでログインし,/home/usu のリストを得ようとしたら… データ転送用のセッションを確立できないので,止まってしまいました.
(こうなってしまったら,Ctrl-] を押下して, telnet のプロンプトが出てきたところで close と入力すると, telnet を終了できます.)

また,そのポートにアクセスできるかどうか,どんなサービスが動いているのか, といったことを,ある程度確認することもできます.

例えば,mserver というマシンの TCP の 110番にアクセスできるかどうかを, 以下のように確かめることができます.

  % telnet mserver 110
  Trying 192.168.1.110...
  Connected to mserver.
  Escape character is '^]'.
  +OK Qpopper at mserver starting.  <26670.1121531616@mserver>
  QUIT                                       <===
  +OK Pop server at mserver signing off.
  Connection closed by foreign host.

Qpopper ですよとおっしゃってますので,POP3 だということが, ほのかにわかります. (QUIT というコマンドを送って,即座に終了させました.)

逆に,そのポートにアクセスできない場合は,以下のようになります.

  % telnet localhost 110
  Trying 127.0.0.1...
  telnet: connect to address 127.0.0.1: Connection refused

このように,素直に拒否される場合もあれば, 途中のファイアウォール等でパケットが落され, timeout になるまで待たされることもあります.

以上,telnet の正しい(?)使い方を,ご紹介しました.
各プロトコルの詳細については,それぞれの RFC をご覧ください.

むやみにひとんちのサーバにアクセスするのは,非常によろしくありませんが, 自分の管轄のマシンに対してであれば, 確認という名目で行っても構わないのではないかと思います.

評判が悪くなければ,来週は,実際に使いそうな例を交えて, もう少し詳しくご紹介したいな,と思っております.

宿題の答え

先週の問題は,

  logrotate を実行後,/var/log のリスト表示を,メールするように設定
  してください.

でした.

/etc/logrotate.conf の最後に,以下を追加しましょう.

  /var/log/zzz {
      daily
      rotate 0
      postrotate
          /bin/ls -l /var/log 2>&1 | /usr/bin/Mail -s 'logrotate' root
      endscript
  }

毎日,/var/log/zzz をローテートして,その後, ls の実行結果をパイプで Mail に渡して,root 宛にメールしています.
/var/log/zzz というダミーのファイルができてしまいますが, 目的は一応達せられます.

以上,ちょっとばかし,ひねくれた使い方でした.

今週の宿題

今週の宿題は,こちらです.

  telnet コマンドを使って,HTTP/1.1 で WWW サーバにアクセスしてみ
  ましょう.

です.
できることなら,一般公開されているひとんちのサーバではなく, 自前の WWW サーバに対して,行ってください.
HTTP/1.1 については,RFC2616 などをご覧ください.

あとがき

telnet 以外で telnet を使う,という技(?)は,昔, 会社で News サーバを立ち上げて,別の News サーバから配送してもらうときに, その管理者の方から教えていただきました.かれこれ10年以上前の話です.

そのときは,telnet を使って,NNTP でお話しされていました.
初めて見た時は,ちょっとしたカルチャーショックを覚えました.
(telnet はニュースリーダだ,という名言も教えていただきました.)

それからというもの,暇を見ては,いろんなプロトコルを,telnet で試しました. 大げさに言うと,外国語を直接話しているような感覚でしょうか.
いろんなプロトコルを喋ることができて,楽しかったのだと思います.

自分で本を見て勉強することも,もちろん大事ですが, 人がやっているのを見て覚える,という方が,新鮮に学べますよね.
身近に,自分よりもスキルの高いひとがいる時は,時々, そのひとのやっていることを見るのも,勉強になるんじゃないかな,と思います.

そんなわけで,今週は,昔のことを思い出して,ネタを絞り出しました.
ちょっと考え方を変えれば,まだまだ,ネタは出てきそうです.
…ですが,皆様からのお便りも,お待ちしております.

今週も,ここまで読んでいただき,ありがとうございました.
それでは,また来週,お会いしましょう!

「いますぐ実践! Linux システム管理」の解除は,以下からどうぞ.
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは,こちらに全部あります.
http://www.usupi.org/sysad/backno.html

「栗日記」−栗の絵,懲りずに毎日描いてます.1300枚突破!
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 6をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューション(Fedora, Ubuntu)も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora9)
Fedora9のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日経Linux
今や数少なくなってしまったLinuxの雑誌。ニュースやガイドもあります。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
gihyo.jp…技術評論社
Linuxに限らず様々な技術情報が満載のサイト。 SoftwareDesign誌も、 ソフトウェア技術者は必見です。
SourceForge.JP Magazine
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本