Samba 3.2.0リリース

 2008年7月1日に,Sambaの最新バージョンとして,Samba 3.2.0がリリースされました。Samba 3.0.0がリリースされたのが,2003年9月でしたので,約5年ぶりのバージョンアップになります。 今回は,Samba 3.2.0の特徴について紹介したいと思います。

Samba 3.2の特徴

 Samba 3.2は,大きく捉えて,Samba 3.0のマイナーアップデートと言えます。 運用方法などに大きな変更は無く,基本的にはSamba 3.0をそのままSamba 3.2に 置き換えることが可能です。 前回,Samba 2.2からSamba 3.0に変わった際は,国際化周りの実装が大きく 変更されたり,Active Directory連携機能が実装されたりと,かなり大掛かりな 変更でしたが,今回はそのような大きな目玉となる機能はありません。

 このように大きな変更はないものの,基本機能のいくつかの実装を思い切って 改善している箇所もありますので,しばらくは細かな問題が発生する 可能性もあります。 Samba TeamもSamba 3.2.0として正式リリースすることでユーザー環境での 導入が進み,フィードバックが増えることを期待しているようです。

 いずれにしても,Samba 3.0には今後新機能の追加などは積極的には 行われないことになりますので,安定度などの情報収集を行いつつ, Samba 3.2に置き換えていくことが良いでしょう。

 それでは,Samba 3.2.0の新しい特徴などについて具体的に紹介します。

  • GPLv3採用

    • Samba 3.2.0は,GPLv3を適用したオープンソース・ソフトウエアです。 これまでSamba 3.0に適用されていたGPLv2ではありませんので,Samba 3.2.0に適用された 修正をSamba 3.0にバックポートする際にはライセンスの注意が必要です。

  • 認証設定のデフォルト値のセキュリティ強化

    • LanManパスワード,およびクライアントツール(smbclientなど)の クリアテキストパスワードの利用がデフォルトで無効になりました。 その結果,Windows 9x/ME,OS/2クライアントなどの認証が行えません。 LanManパスワード,クリアテキストパスワードなどの利用を有効にするには, 次のパラメータを設定してください。

      client lanman auth = Yes 
      client plaintext auth = Yes 
      lanman auth = Yes

  • レジストリ設定バックエンド

    • smb.confの代わりに,レジストリベースの設定を行うことが可能になりました。 レジストリベースの設定は,次の2つの方法があります。

      1. レジストリのみで設定を行う場合

        smb.confの[global]セクションに "config backend = registry" のみ 設定します。

      2. レジストリとsmb.confを併用する場合

        smb.confの[global]セクションに "include = registry"を追加します。

      もちろんこれまで通り,smb.confのみで設定することも可能です。レジストリ設定バックエンドの利用方法については,本記事の最後で紹介します。

  • libsmbclientライブラリのAPI拡張

    • GnomeデスクトップのSMB共有機能などで利用されているlibsmbclientライブラリの APIが機能拡張に伴い変更されました。 Samba 3.2にアップデートすることで,libsmbclientライブラリを利用している 機能が動作しなくなる可能性がありますので注意が必要です。

  • クラスタサポート

    • ctdbと呼ばれるSambaのクラスタ機能が取り込まれました。 コンパイル時のconfigureのオプションに --with-cluster-support=yesを 指定することで,クラスタサポートが有効になります。

  • 削除された機能

    • mangled map機能は要望が低下したため,削除されました。 mangled map機能とは,DOSの8.3形式のファイル名と, ロングファイルネーム(LFN)をマッピングするための機能です。 古いWindowsアプリケーションなどで,ファイルを扱う際に DOSの8.3形式のファイル名を利用していることがあります。

    • メンテナ不在のため,Pythonバインディングと,libmsrpc共有ライブラリが 削除されました。

    • smbfsのサポートが削除されました。今後は,smbfsの代わりにcifsを 利用してください。

  • 共有ライブラリの追加

    • Samba 3.2で利用しているいくつかの機能を共有ライブラリとして利用することが 可能になりました。Samba 3.2.0で用意されている共有ライブラリは次の通りです。

      ライブラリ名 コンパイルオプション デフォルト値
      libtalloc --with-libtalloc yes
      libtdb --with-libtdb yes
      libnetapi --with-libnetapi yes
      libaddns --with-libaddns no
      libsmbclient --with-libsmbclient yes
      libsmbsharemodes --with-libsmbsharemodes yes

  • Samba 3.2.0でのパラメータの変更内容

    • Samba 3.2.0では,以下のパラメータ変更が行われています。

      パラメータ名 変更内容 デフォルト値
      administrative share 新規 No
      client ldap sasl wrapping 新規 plain
      clustering 新規 No
      cluster addresses 新規 “”
      config backend 新規 file
      ctdbd socket 新規 “”
      debug class 新規 No
      ldap connection timeout 新規 2
      ldap debug level 新規 0
      ldap debug threshold 新規 10
      min receive file size 新規 0
      registry shares 新規 No
      smb encrypt 新規 Auto
      winbind expand groups 新規 1
      winbind rpc only 新規 No
      client lanman auth デフォルト値変更 No
      client plaintext auth デフォルト値変更 No
      lanman auth デフォルト値変更 No
      mangled map 削除
      open files database hashsize 削除
      read bmpx 削除