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

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


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

こんばんは、うすだです。

最近、会社から iPhone 4S を支給されました。

夜間や休日の対応のためのものですので、ある意味、 自分を縛られるものであるという考え方もできます。が、 そういう難しいことは抜きにして、 便利なアイテムとして活用させていただこうと思っています。

ただ、個人所有物としてすでに持っている Android携帯や iPod touch の存在意義が、 現在猛烈に問われております。

というわけで、目下の課題は、 これらをうまく使い分ける(というか使いこなす)ことではないかと思っております。

本末転倒だということには目をつむって、今回もはりきってまいります。

今回のお題 - SASL認証を使ってみる

今日、インターネット上で提供されているサービスには、 想像以上に様々なものがあるのではないかと思います。

ですが、それらは自由に使えるというわけではなく、ユーザ登録を行い、 許可されたIDとパスワードを入力する必要があったりすることが、 徐々に増えているような気がしております。

その際に使われる認証方式には、これまたたくさんの方式がありますが、 その中でも比較的古くから広く使用されているものとして、 SASL(Simple Authentication and Security Layer)認証が挙げられると思います。

唐突ですが、今回は、このSASL認証をちょいと使ってみようと思います。

SASL とは?

まず、SASLが何なのかということを、さらっと確認しておきましょう。

SASLとは、「Simple Authentication and Security Layer」の略で、 その名の通り、認証やセキュリティに関する処理(暗号化など)を行うための層です。

SASLを使用するアプリケーションなどは、 実際に使われる認証方式のことはSASLにまかせてしまうことで、 特定の認証方式に縛られなくて済むようになります。

具体的には、postfix や dovecot、svnserve など、様々なひとたちが、 SASLを使って認証を行うようになっています。

必要なもの

まず、SASL認証を試すために、「saslauthd」というデーモンを動かそうと思います。 そのためにはパッケージを入れる必要があります。

Debian系の貴兄は「sasl2-bin」、 RedHat系の貴兄は…すでに入っている可能性もありますが「cyrus-sasl」 というパッケージを、apt や yum 等でインストールしておいてください。

  # apt-get install sasl2-bin   (Debian系の場合)
  # yum install cyrus-sasl      (RedHat系の場合)

早速動かします

では早速、saslauthd を動かしてみたいと思います。

そのためにはまず、saslauthd の設定ファイルをちゃんと設定する必要があります。 Debian系の場合は「/etc/default/saslauthd」に、 RedHat系の場合は「/etc/sysconfig/saslauthd」にあります。

いくつか設定項目がありますが、大事な設定項目として、 使用する認証の機構を指定するための、以下の項目があると思います。

ldapやkerberosなど指定できますが、 今回は安直に/etc/shadowファイルを参照していただこうと思います。 以下のようにご指定ください。

  MECHANISMS="shadow"    (Debian系の場合)
  MECH=shadow            (RedHat系の場合)

あとは、実行するだけです。

  # service saslauthd start

動作確認

saslauthd が正しく認証するかどうか、 testsaslauthd というコマンドで確認したいと思います。 以下のように、「-u」オプションとID、 「-p」オプションとパスワードを指定して実行すると、 認証されるかどうかがわかるという寸法です。

  # testsaslauthd -u ユーザ名 -p パスワード

認証に成功すると、以下のように、ほっとする文言が得られます。

  0: OK "Success."

パスワードを間違えたとか、何か設定がおかしいなどの場合には、 以下のようなちょっとショックな文言が得られてしまいます。

  0: NO "authentication failed"

saslauthd は、ファシリティ「auth」でsyslogにログを出力しますので、 おかしいときは、ログを確認してみてください。

  # grep saslauthd /var/log/messages (もしくは auth.log など)
  Jul 30 15:11:56 centos56 saslauthd[5264]: do_auth         : \
  auth failure: [user=usu] [service=imap] [realm=] [mech=shadow] \
  [reason=Unknown]

おわりに

以上、SASL認証の超さわりだけをご紹介しました。

お察しの通り、1回お休みをいただいたにも関わらず、 今回はいつも以上に切羽詰まった状況で書いております。
そう思って読み返してみると、冒頭の枕詞からすでに、 なんだか投げやりな感じがしますね。

次回からは、もう少し余裕を持って調査などしたいと思います。
# というわけで、次回もSASLな内容をお送りする予定です。

宿題の答え

前回の宿題は、

  postfix のログだけを MySQL に記録してみましょう。

でした。

programname に postfix という文字が含まれている場合に、記録すればよいです。
ですので、MySQL へ記録するには、以下のような行を追加します。

  :programname,contains,"postfix" \
      :ommysql:192.168.1.1,Syslog,rsyslog,パスワード

テーブルをカスタマイズしている場合は、テンプレートを指定します。

  :programname,contains,"postfix" \
      :ommysql:192.168.1.1,Syslog,rsyslog,パスワード;mysqlCustom

rsyslogd を再起動(reload)して、postfix に何かログを出力させてみると、 ちゃんと MySQL のテーブルに記録されていることがわかります。

  mysql> select GeneratedTime,Message from SyslogCustom;
  +---------------------+-------------------------------------+
  | GeneratedTime       | Message                             |
  +---------------------+-------------------------------------+
  | 2011-10-19 16:29:34 |  refreshing the Postfix mail system |
  ...中略...
  +---------------------+-------------------------------------+
  9 rows in set (0.06 sec)

今回の宿題

今回の宿題は、

  saslauthd との通信には何を使っているのか調べてみましょう。

です。

いろいろな方法が考えられますが、古くからあるということで、 さすがに D-Bus とかは使っていないんじゃないかなどの予測が立てられます。

というわけで、いつものように strace で追いかければすぐわかるだろうと、 比較的たかをくくっている次第です。

あとがき

以前の会社では、数ヶ月のスパンの仕事を、 多くても3つくらいこなせばよいだけでしたので、 普段は開発が2つ重なる程度で済んでいました。

ですが、いま所属している会社は、複数の仕事を、 効率よく並行して行うことが求められます。

ですので、ものの見事に、毎日アップアップしながら生きています。
ひとつずつ確実に終わらせていけばよいのですが、なにかと焦ってしまいまして、 タスクリストがどんどん長くなっていく傾向にあります。

そんなとき、以下の記事にめぐりあう機会を得ました。

一日の時間を効率よく使い、タスクリストを着実にこなす「3+2の法則」
http://www.lifehacker.jp/2011/11/111101threeplustworule.html

1日にできる仕事は、2〜3時間ほどかかる大きなものが3つと、 20分程度の小さなものが2つ程度だけなのだ、と認識することから始めます。
そして、その5つのことに集中すればよいのだそうです。

わたしも、今日やるべきことは毎朝列挙しますが、 あれもこれもと考えてタスクスイッチを頻繁に起こしてしまうことが多々あります。
5つに絞って集中すれば、切り替えは4回だけで済むかもしれません。

冒頭から、自分とまったく同じ境遇が書かれていましたので、 ものの見事に引き込まれました。ぜひ、明日から実践してみたいと思います。

問題は、毎日5つこなすことで、タスクリストが減るかどうかですね…。

 

今回も、ここまで読んでいただき、たいへんありがとうございました。
次回は、11月20日(日) の未明にお会いしましょう!

 

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

バックナンバーは、こちらにほぼ全部そろっています。
http://www.usupi.org/sysad/backno.html

「栗日記」- いろんな話が舞い込んできてありがたいです。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/ (栗日記ブログ)
http://usupi.org/k/ (モバイル栗日記)


[バックナンバーのトップへ] [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

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本