Samba 3.2.0 リリースノート

提供: Samba-JP
移動先: 案内検索

Samba 3.2.0リリースノート(2008年7月1日)

(注:Web版のリリースノートではなく、MLで流れたフルバージョンのリリースノートを訳しています)

これは安定版 Samba 3.2.0の最初のリリースです。

SambaはGPL V3で頒布されるようになったことに留意してください。ライセンスのより詳細な条項については、本リリースノートと共に配布されているCOPYINGファイルを参照してください。

Samba 3.2.0における大きな拡張は以下の通りです:

  • ファイルサービス
    • いくつかのDCE/RPCインタフェースにおいて、IDLで生成された解析レイヤを用いるようになった
    • パス名の最大長 1024 バイトの制約、ファイル名関連コンポーネントの最大256バイトの制約がなくなり、ホストOS の MAX_PATH の設定までの長さが扱えるようになった
    • レジストリベースの設定機構が導入された
    • CIFS UNIX Extension サポートが改善された
    • ファイルサービスのクラスタリングが試行導入された
    • サーバ、クライアントツール、ライブラリでIPv6がサポートされた
    • 代替データストリームのxattr属性への格納がサポートされた
    • サーバ、クライアントツール、ライブラリで、暗号化された SMB トランスポートがサポートされた
    • Vista クライアントからの Kerberos 認証がサポートされた


  • Winbind 機構と Active Directory 統合:
    • Windows Server 2003 のクロスフォレスト、推移的な信頼関係及び一方向の信頼関係が完全にサポートされた
    • pam_winbind および NSS 機構の検索機構の拡充により、userPrincipalName を用いたログオンがサポートされた
    • NSS 呼び出しにおいて、ネストしたドメイングループのサポートが拡充された
    • Active Directory の LDAP 署名ポリシーがサポートされた
    • 新しい LGPL の Winbind クライアントライブラリ (libwbclient.so) が登場した
    • Windows2008における、ドメイン間の信頼関係確立がサポートされた
  • ドメイン参加(Join)
    • ドメイン参加に関連するクエリをサポートする新しい NetAPI ライブラリ(libnetapi.so)と GTK+ を用いたドメイン参加 GUI のサンプルが同梱された
    • リモートからのドメイン参加、削除がクライアント、サーバにおいてサポートされた
    • Windows Server 2008 ドメインへの参加がサポートされた
  • ユーザとグループ
    • ローカルグループのマッピングテーブルについて、新規に ldb バックエンドがサポートされた
    • 認証処理に関するセキュリティの規定値が向上した
    • ユーザアカウント関連の問合せをサポートする NetAPI ライブラリが新たに同梱された

ライセンスがGPLv3になりました

Sambaチームは3.2とそれ以降のリリースについて、バージョン3のGNU一般公的利用許諾を適用することにしました。GPLv3は現在頒布されているSambaに適用しているGPLv2ライセンスの更新版です。 これは他のライセンスとの互換性を改善するために更新されたもので、21世紀のフリーソフトウェアが必要とすることに対してよりよく対応している更新されたバージョンのライセンスです。

オリジナルの通知は以下にあります。

http://news.samba.org/announcements/samba_gplv3/

認証に関するセキュリティ設定の既定値

LANMAN ハッシュのサポートは、クライアント、サーバともに無効になりました。 さらに、smbclient 等のクライアントユーティリティや libsmbclient ベース のアプリケーションにおいて、平文認証の要求も無効となっています。これは、 DOS、Windows 9x/Me、OS/2 を実行しているホストとのやりとりに影響します。

設定が変更されたパラメータの詳細なリストについては、「変更点」セクショ ンを参照してください。

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

smb.conf による設定を補完するものとして、Samba をレジストリベースで設 定することが可能になりました。レジストリのみで設定を行う場合は「config backend = registry」を smb.conf の [global] セクションに記述することで、 この機能を有効にできます。併用する設定を行う場合は、「include = registry」 を記述することで、レジストリで設定した [global] セクションのパラメータ を取り込むことが可能となります。

新しいパラメータである「registry shares = yes」を smb.conf の [global] セクションに記載することで、レジストリから読み込んだ共有の定義を有効に することができます。この共有は、必要時にサーバによって読み込まれます。レジ ストリで定義された共有は、前述したレジストリに関するパラメータにより、 自動的に有効化されます。

レジストリに格納された設定は、「net conf」コマンドにより容易に管理する ことが可能です。

詳細な情報については、smb.conf(5) および net(8) のマニュアルページを参照してください。

なくなった機能

Pythonバインディングとlibmsprc共有ライブラリは公式なメンテナがいなくなったためにツリーから除外されました。

現在のkernelバージョン中では smbfsはもはやサポートされていないので、smbmountはこのSambaバージョンでは削除されました。その代わりにcifs(mount.cifs)を使ってください。 examples/scripts/mount/mount.smbfs に、smbmount や mount.smbfs の代わりに mount.cifs を呼び出すラッパーのサンプルがあります。

libsmbclientのAPI変更

libsmbclient の ABI の互換性維持および可読性を含めたコード管理の維持は 困難となってきています。ABI の互換性維持およびコードの保守性と拡張性維持と いう目的のため、API が拡張されることとなりました。

特に SMBCCTX コンテキスト構造体の各フィールドはユーザからの読み書きを サポートしなくなり、廃止される予定となりました。SMBCCTX コンテント構造体の メンバにアクセスしていたアプリケーションをリコンパイルすると、警告が出 力されます。

これは、新しいインタフェースに必要な細かい実装の変更を推進するため、意 図的に行われたものです。

大半のアプリケーションについては、これらの変更点の及ぼす影響は究めて小 さいものであると考えられ、多くのアプリケーションは変更の必要がありません。 一例を上げると、KDE (konqueror) が新しいインタフェースに移行するに際して 必要な変更は、1 つのファイル中のたった 4 行のみです。

アプリケーション側で手作業でコンテキスト構造体の値の変更や読み込みを行 う代わりに、この構造体の設定可能な各メンバに対して setter および getter 関数を発行することが可能です。smbc_option_get() および smbc_option_set() 関数も、setter および getter インタフェースへの移行 に伴い廃止予定となりました。setter および getter 関数は全て libsmbclient.h の以下のコメント部でドキュメント化されています。

 Getters and setters for CONFIGURATION
 Getters and setters for OPTIONS
 Getters and setters for FUNCTIONS
 Callable functions for files
 Callable functions for directories
 Callable functions applicable to both files and directories

"deprecated"の警告を削除するために必要な変更例を示します。


 /* Set the debug level */
 context->debug = 99;

次のように変更してください。

 smbc_setDebug(context, 99);

 /* Specify the authentication callback function */
 context->callbacks.auth_fn = auth_smbc_get_data;

次のように変更してください。

 smbc_setFunctionAuthData(context, auth_smbc_get_data);

 /* Specify the new-style authentication callback with context parameter */
 smbc_option_set("auth_function", auth_smbc_get_data_with_ctx);

次のように変更してください。

 smbc_setFunctionAuthDataWithContext(context, auth_smbc_get_data_with_ctx);

 /* Set kerberos flags */
 context->flags = (SMB_CTX_FLAG_USE_KERBEROS |
                   SMB_CTX_FLAG_FALLBACK_AFTER_KERBEROS);

次のように変更してください。

 smbc_setOptionUseKerberos(context, 1);
 smbc_setOptionFallbackAfterKerberos(context, 1);

変更点

smb.conf のパラメーター変更

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

 「include = registry」に新しく特殊な意味が追加されました。