利用環境に合わせたパラメーター
ファイル、フォルダのタイムスタンプに関するパラメーター
タイムスタンプ関連のパラメーターは、ドメイン参加設定や、ユーザーのアクセス許可の設定などと比べると地味なため見落としがちです。しかし、WindowsとLinuxではタイムスタンプの取り扱い方に差があるため、知らずにいると実運用上で問題が発生する可能性があるパラメーターです。
これらパラメーターは用法上はVisual C++やFATファイルシステム互換アプリケーション向けとなっています。
Linuxではフォルダの作成日は属性として保存されていないため、Windowsクライアントからの問い合わせには、Sambaサーバーが便宜的に作成日の代わりにディレクトリの最終更新時間を応答しています。
ディレクトリにファイルを作成したり、ファイルを削除した場合にはその時間がディレクトリの作成日として認識されることとなります。このためVisual C++などのアプリケーションでは、ディレクトリ以下のオブジェクトファイルがすべてリビルドすべきファイルとして認識されてしまうなどの問題が発生する可能性があります。この問題を回避するために、以下のように[fake directory create times]パラメーターを設定し、常にディレクトリの作成日は1979/12/31:22:00:00を応答(図2-1)するように設定することができます。
fake directory create times = yes
同様に、FATやVFATファイルシステムでのタイムスタンプの粒度は2秒になっています。このため偶数のタイムスタンプを期待しているVisual C++では、奇数のタイムスタンプの応答により、ファイル変更時間を正しく処理できない可能性があります。この問題を回避するためには、以下のように[dos filetime resoluntion]パラメーターを設定します。
dos filetime resoluntion = yes
これにより、ファイルのタイムスタンプの粒度をFATファイルシステムと互換性のある2秒に丸めて応答するようになります。
Linuxではposixのセマンティックス上、rootユーザーかファイルのオーナーでなければファイルのタイムスタンプを変更できません。Excel 2000以降で複数のユーザーがファイルを開いている場合に、オーナー以外のユーザーに「他のユーザーが更新済みです」とのメッセージが出て、ファイルが保存できないなどの問題が発生する可能性があります。この問題を回避するためには、以下のように[dos filetimes]パラメーターをyesに設定します。
dos filetimes = yes
これで、ファイルのタイムスタンプ変更権を書き込み権限のあるユーザーに与えることができます。
ファイルシステムの機能と動作の違い
Linuxでは同じファイルシステムでも、ディストリビューションのバージョンやファイルシステムのマウントオプションによって動作が異なり、Sambaで利用できるパラメーターも変わります。
今回検証に利用しているCentOS 5.2のfstabでは、ext3のマウントオプションに特に指定はありませんが、extended attributesやACLが利用可能となっていました。しかしCentOS 4のext3ではfstabには明示的にマウントオプションを指定しないとextended attributesやACL機能は利用できません。
この場合、CentOS 4のfstabのマウントオプションに以下のように設定します。
/dev/VolGroup00/LogVol00 / ext3 acl,user_xattr 1 1
続いて、OpenLDAPのloglevelパラメーター設定とデータベースインデックス設定について説明します。