Samba 3.2.0pre3 リリースノート
Samba 3.2.0pre3リリースノート(2008年4月25日)
これはSamba 3.2.0の3番目のプレビューリリースです。*本番環境を意図したものではなく*テスト用途のみを想定しています。不具合を発見した場合には、Sambaバグ報告システムである https://bugzilla.samba.org/ に報告してください。
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) が登場した
- ドメイン参加(Join)
- ドメイン参加に関連するクエリをサポートする新しい NetAPI ライブラリ(libnetapi.so)と GTK+ を用いたドメイン参加 GUI のサンプルが同梱された
- リモートからのドメイン参加、削除がクライアント、サーバにおいてサポートされた
- Windows Server 2008 ドメインへの参加がサポートされた
- ユーザとグループ
- ローカルグループのマッピングテーブルについて、新規に ldb バックエンドがサポートされた
- 認証処理に関するセキュリティの規定値が向上した
- ドキュメント
- O'Reilly Publishing の「Using Samba」第三版の HTML 版が同梱された
ライセンスが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 debug level 新規 0 ldap debug threshold 新規 10 mangle map 削除 min receive file size 新規 0 open files database hashsize 削除 read bmpx 削除 registry shares 新規 No winbind expand groups 新規 1 winbind rpc only 新規 No
「include = registry」に新しく特殊な意味が追加されました。