2009年9月30日水曜日

MacBook (Late 2006) メモリ4GB増設(3GB認識)

MacBook (Late 2006) に BUFFALO の D2/N667-2GX2/E というメモリを増設した.Mac 対応を謳っていなかったけど,無事に2GBのメモリ2枚と認識している.だけど,実際には3GBのメモリとしての使用となる.(1GBは天使の取り分らしいw)

システムプロファイラで,2GBメモリ2枚が認識されていることが確認できる.アクティビティモニタで,3GBのメモリとして動作していることが確認できる.

VMware Fusion とか使ってると2GBじゃ微妙に足りなくなるからなぁ.最近の MacBook は,4GBをちゃんと認識するので4GB積むことをオススメする.MacBook (Late 2006) とか,3GB までしか使用できない場合は,財布とメモリ使用状況を天秤にかけてみよう.

関連製品:
BUFFALO D2/N667-2GX2/E

2009年9月28日月曜日

MacBook (Late 2006) Snow Leopard HDD vs. SSD

MacBook (Late 2006) に Snow Leopard をインストールするついでに SSD に換装したので,起動スピードの違いを調べてみた.Snow Leopard を標準インストールしたときの起動時間を動画に撮ってみた.

○実験環境
・MacBook (Late 2006)
Processor: 2 GHz Intel Core 2 Duo
Memory: 2 GB 667 MHz DDR2 SDRAM

・HDD
Fujitsu MHV2080BH

・SSD
Intel SSDSA2MH080G1C5

まず,HDD の場合.



だいたい,32秒くらい.

次に,SSD の場合.



だいたい,25秒くらい.

わかりきってたことだけど,体感できる速度差があるねw普通に使っていても,軽いなぁと思う.新しい Mac 買うより,MacBook なら SSD に換装した方が体感速度はよくなりそう♪

2009年9月25日金曜日

iCal (Mac OS X & iPhone) と Google カレンダーを CalDAV で同期する方法

iCal と Google カレンダーを CalDAV で同期する方法について.これによって,Google カレンダーを Mac OS X や iPhone から参照・編集できるようになる.(なので,厳密には同期じゃない.)

その手順は,以下の通り.

○iCal (Mac OS X)
1. メニューバーの iCal >環境設定…をクリックする.
2. アカウントタブをクリックし,+をクリックしてアカウントを追加する.
3. 説明(任意)を入力し,ユーザ名とパスワードに Google のアカウントを入力する.さらに,サーバオプションのアカウントの URL に以下のように入力し,追加ボタンをクリックする.

https://www.google.com/calendar/dav/YOUREMAIL@DOMAIN.COM/user(YOURMAIL@DOMAIN.COM を Gmail のメールアドレスに書き換えること.)

○iCal (iPhone)
1. 設定をタップする.
2. メール/連絡先/カレンダー>アカウントを追加…>その他>CalDAVアカウントを追加をタップする.
3. サーバとユーザ名,パスワード,説明を Mac OS X と同様に入力する.

こんなかんじで設定すると,Google カレンダーを編集できるようになる.

ちなみに,iCal に存在していたカレンダーを Google カレンダーに移行する場合は,まず,iCal で移行元のカレンダーを選択し,メニューバーのファイル>書き出し…をクリックして対象となるカレンダーを書き出す.次に,移行先のカレンダーを選択し,メニューバーのファイル>読み込み…をクリックしてその書き出したファイルを読み込むという手順を踏めばいい.

また,MobileMe には同期されないため,カレンダーを参照・編集したいそれぞれの端末でこの設定をする必要がある.

参考文献:
Google Calender Help: Get Started with CalDAV

2009年9月15日火曜日

FreeBSD でサーバ構築 #15 SMTP Authentication (SMTP-AUTH)

林檎生活100: FreeBSD でサーバ構築 #14 リレー設定の続き.今回は,SMTP に認証を付加する SMTP Authentication の設定を行う.これによって,認証に通ったものだけリレーするようになるので,前回の設定を使わなくてもよくなるw(前回の設定を解除する場合は,/etc/mail/access を空にし,make maps を実行する.)だけど,Sendmail に設定するのは少し面倒くさいんだなぁ…….

SMTP Authentication は,SMTP の拡張機能として RFC2554 で規定されている.Sendmail も V8.10 からサポートしているが,FreeBSD に付属している Sendmail は SMTP Authentication を組み込まれてコンパイルされていない.したがって,SMTP Authentication を組み込むために,Sendmail をリビルドする必要がある.

SMTP Authentication は,SASL (Simple Authentication and Security Layer) というフレームワークによって実現される.そのため,SASL ライブラリが必要になるので,Sendmail に SMTP Authentication を組み込むときによく使われる Cyrus SASL を使用する.(そもそも,ほかのライブラリを知らないw)

また,当然のことながら,認証の際にはユーザ名とパスワードが必要になる.今回は,FreeBSD のユーザ名とパスワードに連動するような方法をとる.(もちろん,独立したユーザ名とパスワードにすることも可能であるが,その方法については説明しない.そのような方法については,sasl auxprop というようなキーワードで検索してほしい.)

FreeBSD のユーザ名とパスワードに連動させる場合,saslauthd というデーモンが必要になる.これは,SASL ライブラリを使用した認証のためのデーモンである.このデーモンが,FreeBSD の PAM (Pluggable Authentication Modules) を使用して FreeBSD のユーザ名とパスワードでの認証を行う.(念のため言っておくと,PAM 以外を使用した認証のデーモンとして動作させることもできる.)つまり,Sendmail は SASL ライブラリを使用して,saslauthd に認証を依頼し,saslauthd が PAM を使用して FreeBSD のユーザ名とパスワードで認証を行い,その結果を Sendmail に返却する.というような仕組み.(たぶん…….)

さて,Sendmail に SMTP Authentication を組み込む作業をしていこう.

1. Cyrus SASL のインストール
cyrus-sasl2 と cyrus-sasl2-saslauthd という Port をインストールする.(cyrus-sasl2-saslauthd は cyrus-sasl2 に依存しているので,cyrus-sasl2-saslauthd をインストールするだけで両方インストールされる.)オプションとして,Berkeley DB を使うように BDB にチェックをいれる.(今後のエントリで書く予定の Cyrus IMAP でも Cyrus SASL を使用する予定で,そのインストール要件に Cyrus SASL を Berkeley DB を使用するようにコンパイルしておくことを強く推奨されてるためである.)
# cd /usr/ports/security/cyrus-sasl2-saslauthd
# make install clean



cyrus-sasl2-saslauthd をインストールすると,Sendmail.conf というものが /usr/local/lib/sasl2 に作成される.これは,Sendmail が Cyrus SASL を使用するときの設定ファイルで,pwcheck_method オプションが記述されており,認証に saslauthd を使用するように設定されている.

2. saslauthd の起動
rc.conf に次の行を追記する.
saslauthd_enable="YES"

そして,次のコマンドで起動する.いつものサーバと同じようなかんじだが,Ports からインストールしたので,/usr/local 以下に起動スクリプトが配置されている.
/usr/local/etc/rc.d/saslauthd start

3. Sendmail のコンパイルオプションの設定
/etc/make.conf に次の行を追記する.(FreeBSD Handbookの説明通り.)
SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2

4. Sendmail のリビルドとインストール
次の手順でリビルドとインストールを行う.(FreeBSD Handbookの説明通り.)&& は,左辺の実行が成功したら右辺を評価するという動作をする.
# cd /usr/src/lib/libsmutil
# make cleandir && make obj && make
# cd /usr/src/lib/libsm
# make cleandir && make obj && make
# cd /usr/src/usr.sbin/sendmail
# make cleandir && make obj && make && make install


5. FreeBSD の再起動
再起動して,Sendmail と saslauthd の自動起動を確認する.(saslauthd が起動していないというのが,認証時のハマりポイントだったりするので覚えていてほしい.)

6. Sendmail の設定
次のコマンドを実行することで,ホスト名.mc という設定ファイル(僕の環境では lucifer.legna.org.mc になる.)が生成される.
# cd /etc/mail
# make

その設定ファイルに次の行(バッククウォートとクウォートが対応していることに注意.)を追記する.SASL での認証に平文を使用するという設定である.(認証で最終的に PAM を使用するので,平文でないと認証できないため.)メールクライアントとして,Outlook Express を使用する場合 LOGIN という項目も追加する必要があるらしい.(/usr/ports/security/cyrus-sasl2/files/Sendmail.README を参照のこと.)
dnl Set SASL options
TRUST_AUTH_MECH(`PLAIN')
define(`confAUTH_MECHANISMS', `PLAIN')

設定ファイルをインストールし,Sendmail を再起動する.
# make install
# /etc/rc.d/sendmail restart

7. 設定の確認
次のコマンドを実行し,Compiled with 行に SASLv2 という項目があることを確認する.(sendmail を起動(デーモンとして起動するわけではない.)して最低限のデバッグ情報を出力するようにデバッグモードを設定し,/dev/null を標準入力させることで何も動作させずに終了させている.)
# sendmail -d0 < /dev/null

さらに,telnet で認証方式 250-AUTH PLAIN が表示されることを確認する.
# telnet localhost smtp
EHLO localhost
QUIT

LAN 内の PC で メールクライアントから SMTP Authentication による認証ができるか確認する.平文による認証なので,WAN 側から実行するのはセキュリティ上の問題がある.
また,次のサイトを利用して,不正リレーのチェックを実行する.

Abuse.net: Mail relay testing

これで,SMTP Authentication の設定は完了である./etc/mail/access を設定している場合は,ファイルの内容を空にして make maps を実行しておこう.さて,次回は,STARTTLS という機能を使用して,SMTP セッションを暗号化する方法について記述する.これで,平文による認証ごと暗号化できるので,WAN 側から SMTP サーバを安全に利用することができるようになるのだ♪

参考文献:
sendmail 第3版〈VOLUME1〉運用編
sendmail 第3版〈VOLUME2〉設定編
sendmailクックブック―設定と運用のためのレシピ集
FreeBSD Handbook

追記(2009年10月26日):
saslauthd が使用する PAM について.saslauthd を d オプションで起動して試してみるとわかるのだが,Sendmail から saslauthd を使用した場合,サービス名は smtp になる.しかしながら,/etc/pam.d には smtp がないので,デフォルトの other が使用される.その中身の説明は省くが,デフォルトのままだと UNIX 認証モジュールが使用されることになる.つまり,ログイン時のようにユーザ名とパスワードによる認証が裏で行われる.Sendmail での認証がログイン時のユーザ名とパスワードでできるのはこのためなのだ.

2009年9月14日月曜日

DVD プレーヤーのダウングレード

Apple 製 DVD プレーヤーのバージョンが,最近の Mac では5.1.0になっている.以前購入した Mac OS X Leopard に付属している DVD プレーヤーのバージョンは5.0.3である.

なぜか,5.1.0のバージョンから,VIDEO_TS フォルダを直接再生することができなくなった. そこで,5.1.0を5.0.3にダウングレードしてみた.

その手順は,5.0.3の入っている Mac から,5.1.0の入っている Mac へ,次のファイルをコピーして持ってくるだけ.これで,問題なく VIDEO_TS フォルダを再生できるようになる.
/System/Library/Frameworks/DVDPlayBack.framework
/Applications/DVD Player.app

Snow Leopard については,そのうち調査予定♪