[samba-jp:21398] Re: [FYI]Samba 3.6.0pre3が出てます

TAKAHASHI Motonobu monyo @ monyo.com
2011年 5月 7日 (土) 03:33:20 JST


たかはしもとのぶです。

From: Samba-JP oota <ribbon @ samba.gr.jp>

Date: Wed, 27 Apr 2011 09:01:56 +0900

> http://lists.samba.org/archive/samba-technical/2011-April/077404.html
> 
> うーん、粘るなあ。

リリースメモは

http://www.samba.org/samba/ftp/pre/WHATSNEW-3-6-0pre3.txt

ですね。

遅ればせながらですが、一応翻訳してみました。逐語訳ベースで細かくは見て
ないので、細かいところはかなり意訳が入っていると思います。

あまりにも英文の趣旨と違う、そもそも誤訳しているなどありましたらご指摘
ください。

=====
                   =================================
                     Samba 3.6.0pre3 リリースノート
                           2011 年 04 月 26 日
                   =================================

これは Samba 3.6 系列の 3 番目のプレビュー版のリリースです。これは実環
境での使用を意図したものではなく、テスト環境以外での使用を想定していま
せん。不具合の報告については、https://bugzilla.samba.org にある Samba
バグ報告システムを利用してください。

Samba 3.6.0 の主な機能拡張点を以下に示します:


セキュリティ設定のデフォルト値変更
----------------------------------

Samba 3.6 では、既存の Samba ユーザに影響のあるセキュリティ設定のデフォ
ルト値変更が幾つか採用されています。

 client ntlmv2 auth = yes
 client use spnego principal = no
 send spnego principal = no

「client ntlmv2 auth = yes」により、クライアント動作のデフォルトでは
NTLM 認証が用いられなくなりました。これは smbclient や winbind といっ
た Samba のクライアント機能に影響します。ただし、別途カーネルの一部と
してリリースされている CIFS クライアントには影響しません。

脆弱な NTLM 認証を再度有効にしたい場合は、smbclient のコマンドラインで
「--option=clientusentlmv2auth=no」を設定するか、smb.conf で「client
ntlmv2 auth = no」を設定してください。

「client use spnego principal = no」により、smbclient、winbind といっ
た Samba のクライアント機能において、Kerberos を用いて通信可能なケース
が減少します。これまで「NegProt」 CIFS パケットによる非セキュアな情報
に依存していたケースでは、NTLMSSP にフォールバックするケースが増える
でしょう。このケースは、servicePrincipalName として登録されていない別
名でサーバに接続する際に頻繁に発生していました。問題の情報は、 Windows
Server 2008 以降では使用されず、現在の Windows クライアントでも使われ
ていません。そのため、この変更により Samba の挙動とその他のクライアン
トやサーバとの整合性が確保されます。

「send spnego principal = no」により、Windows Server 2008 の挙動との整
合性が確保され、プリンシパルが送信されなくなります。これにより、既存の
Samba クライアントと Windows Server 2008 との挙動の整合性が向上します
(NTLMSSP にフォールバックするケースが増加)。また、この非セキュアな情
報を用いているバージョンの Windows についても、使用を抑止することがで
きます。


SMB2 のサポート
---------------

Samba 3.6.0 における SMB2 サポートは、(1点を除き)完全に機能します。
これは以下の設定を smb.conf の [global] セクションに行い、Samba を再起
動することで有効化できます。

max protocol = SMB2

Windows のクォータ管理ツールを用いたユーザのクォータ設定変更を除くすべ
ての機能が SMB2 上で動作するはずです。

本リリースは、SMB2 プロトコルが完全に機能すると考えられる最初のリリー
スであるため、本機能をデフォルトで有効化していませんが、ユーザのみなさ
んで SMB2 を有効化して動作を確認することをお勧めします。

様々な環境において SMB2 サポートが安定して動作するという確認を、Samba
のユーザや OEM ベンダのみなさんから取れ次第、将来の Samba のリリースで
は SMB2 をデフォルトで有効化したいと考えています。


Winbind 内部の passdb の変更
----------------------------

Winbind は、ローカルユーザやグループ情報を取得する際に、passdb 関数を
呼び出す代わりに、内部的に samr や lsa の RPC パイプを用いるように変更
されました。これは、共通インフラの使用を拡大し、それによりインフラのテ
ストを促進するために行われました。この結果、Winbind のコードの共通化が
促進されました。


spoolss コードの改良
--------------------

spoolss および古い RAP の印刷コードは徹底的に解析され、完全にリファク
タリングされました。

lanman/printing コードに由来するすべての呼び出しは spoolss RPC インタ
フェース経由に変更されました。これにより、すべてのチェックが一ヶ所で行
われるようになり、印刷コードの主要部分で例外的な処理を実装する必要がな
くなりました。これに伴い、印刷コードは spoolss コードに吸収されました。

spoolss RPC インタフェースを含む、すべての印刷コードはデータを格納する
際に winreg RPC インタフェースを用いるように変更されました。すべてのデー
タは、さまざまな独自の TDB ファイルからレジストリインタフェースに移行
されました。この移行により、プリンタデータの問い合わせを、winreg RPC
インタフェースを用いたサーバのレジストリへのアクセスにより実行すること
で、適切なデータを Windows クライアントに引き渡すことが可能となりまし
た。データはレジストリにより提供されるため、ほぼ 100% の前方互換性が確
保されています。

以前の TDB ファイル形式からの移行のためのコードも用意されています。こ
のコードはサーバ上で新しいコードが初めて実行される際に自動的に呼び出さ
れますが、「net printer migrate」コマンドによる手動での移行も可能です。

これらの変更により、 spoolss コードが「標準仕様」に大きく近づいただけ
でなく、spoolss と winreg インタフェース両方の内部テストが大幅に改善さ
れ、全体的なコードの重複も削減されました。

この作業の中で、カバレッジを増大させるため、新しいテストも追加されまし
た。

このコードにより、印刷機能を必要としないアプライアンスを提供する OEM
ベンダが全体のコード量を削減できるようにするため、将来スプール機能を別
のデーモンに切り出すことを容易にするための道筋が作られました。

ID マッピング処理の変更
-------------------

ID マッピング処理の設定は、以前からトラブルの源でした。今回のリリー
スにおいて、ID マッピング処理は、設定の簡素化と一貫性を実現しつつ、機
能追加に必要な柔軟性を維持するために、再度書き直されました。

設定の簡素化を実現するための主要な変更点は、ID マッピングシステムの中
枢にあります。従来、UNIX の ID 発行を制御し、tdb、tdb2、ldap バックエ
ンドで機能する idmap alloc システムが ID マッピングコード自体とは別に
存在していましたが、今回完全に削除されました。sids_to_unixids 処理は
アトミックな処理となり、マッピングのために生成される UNIX ID を割り当
てる際の処理に隠蔽されました。

これにより、全ての idmap alloc 関連のパラメータは削除され、idmap alloc
バックエンドを idmap バックエンドと別に設定する必要もなくなりました。
各 idmap バックエンドは、自身の UNIX ID 生成機構を用いることで、idmap
alloc 処理は透過的に実行されます。

ID マッピング処理の変更に伴い、ID マッピング情報の格納や削除に用いられ
てきたメソッドも winbindd の API から削除されました。「net idmap
dump/restore」コマンドも書き直され、winbindd と通信を行う代わりに、デー
タベースを直接操作するようになります。現在 tdb および tdb2 バックエン
ドのみが利用可能で、ldap は未実装です。

allocate_id 機能はデフォルトの ID マッピング設定における UNIX ID 生成
機構の管理下にあり、グループ ID のマッピングデータベースとしても、また
ldapsam:editposix 環境においては POSIX 属性のマッピングデータベー
スとしても用いられます。

これらの変更の一部として、デフォルトの ID マッピング設定は、ドメイン毎
の設定と緊密に結び付く形に変更されました。「idmap uid」、「idmap gid」、
「idmap range」といったパラメータは、より一貫性のある「idmap config *
: range」および「idmap config * : backend」パラメータに置き換えられる
形で廃止予定となりました。これは、古いオプションでは不充分な情報しか提
供できないため、後方互換性があるかのような錯覚を与えてしまい、アップグ
レード時に多くの問題を引き起こしかねないためです。

この変更を行うことで、Samba 3.0 スタイルの単純な ID マッピングがもはや
動作しないことを利用者に意識させることが可能となります。


エンドポイントマッパー
----------------------

マイクロソフトがエンドポイントマッパーへの依存度を日に日に高めていき、
実装が追い付かないため、我々は Samba 用のインスタンス作成を決断しまし
た。

エンドポイントマッパーは TCP/IP のポートの割り当てを DNS サーバのよう
にして行う機構です。TCP/IP で RPC サービスに接続しようとする際には、エ
ンドポイントマッパーに対して、実行されているポートを問い合わせます。こ
れにより、サービスへの接続が可能となる他、サービスが実行中であるかも
確認できます。このコードはデフォルトで無効となっています。これは、より
多くのテストが必要であることに加え、大規模環境へも未対応のためです。

これらの制約事項を乗り越え、可能であれば pre3 の段階でリリースしたいと
考えています。この機能を有効化してエンドポイントマッパーをテストする際
には、smb.conf ファイルで「rpc_server:epmapper = daemon」を設定し
てください。


内部構造の再編成
----------------

内部のサブシステムの分離を促進することで、

Samba 3 の waf ビルドの際のビルド高速化、バイナリサイズの縮小、依存関
係の明確化を達成すべく、内部的なサブシステムの分離を促進するために、内
部構造の再編成を現在実施しています。


SMB Traffic Analyzer
--------------------

新しい SMB Traffic Analyzer (SMBTA) VFS モジュールの protocol 2 が追加
され、暗号化、複数の引数への対応、より容易な解析機能が提供されます。
「smbta-util」という新たに追加されたツールにより、SMBTA の暗号化関連の
挙動が制御されます。互換性のために、SMBTA のデフォルトでは version 1
として動作します。このモジュールが送るデータを用いるプログラムも用意さ
れています。

より詳細な情報は、以下を参照してください。
http://holger123.wordpress.com/smb-traffic-analyzer/


Linux における NFS クオータバックエンド
---------------------------------------

既存の Solaris および FreeBSD の実装をベースとした Linux 用の NFS クオー
タバックエンドが新規に追加されました。これにより、Samba が NFS でマウ
ントしているディスクをさらに共有している際に、ディスクの空き領域情報を
適切にやりとりすることが可能となっています。


######################################################################
変更点
######

smb.conf の変更点
-----------------

   Parameter Name                      Description     Default
   --------------                      -----------     -------

   async smb echo handler              New             No
   client ntlmv2 auth                  Changed Default Yes
   client use spnego principal         New             No
   ctdb locktime warn threshold        New             0
   idmap alloc backend                 Removed
   log writeable files on exit         New             No
   multicast dns register              New             Yes
   ncalrpc dir                         New
   send spnego principal               New             No
   smb2 max credits                    New             128
   smb2 max read                       New             1048576
   smb2 max trans                      New             1048576
   smb2 max write                      New             1048576
   username map cache time             New             0
   winbind max clients                 New             200


※主要な変更点は省略


######################################################################
バグ報告と開発煮関する議論
##########################

本リリースに関する議論は samba-technical メーリングリストもしくは
irc.freenode.net 上の #samba-technical IRC チャンネルへの参加により実
施願います。

問題を報告頂く際には、品質の高いフィードバックをお願いします。我々が問
題を特定するための詳細な生情報を提供頂けない場合、おそらくその報告は無
視されます。すべてのバグレポートは、プロジェクトの Bugzilla データベー
ス (https://bugzilla.samba.org/) の Samba 3.6 プロダクトに記録をお願い
します。

======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================

---
TAKAHASHI Motonobu <monyo @ monyo.com>




samba-jp メーリングリストの案内