[samba-jp:21529] Re: [Announce] Samba 3.6.0 Available for Download
TAKAHASHI Motonobu
monyo @ monyo.com
2011年 8月 12日 (金) 00:59:45 JST
たかはしもとのぶです。
> たかはしもとのぶです。
>
> ようやく?ですが、Samba 3.6.0 がリリースされました。
> おそらく、Samba 3.6 系列が Samba 3 系列最後のリリースになると思います。
いちおうリリースノートを翻訳してみました。実際の所、
・Samba 3.6.0pre3 のリリースノート翻訳
<http://cgi.samba.gr.jp/mailman/archives/samba-jp/2011-May/002660.html>
から「client use spnego principal = no」のパラグラフをのぞき、ほとんど
変わっていませんでした。
=================================
Samba 3.6.0 リリースノート
2011 年 08 月 09 日
=================================
これは Samba 3.6 系列の最初のリリースです。
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」により、Samba は Kerberos チケット
を入手する際に、CIFS のホスト名を用いるようになります。そのため、
smbclient、winbind といった Samba のクライアント機能が Kerberos を用い
て CIFS サーバにアクセスする際の挙動も、Windows により近いものとなり
ました。これは、Kerberos 接続でサーバとのネゴシエートが成功するか否かに
影響します。この動作の変更は、Samba が Windows Server 2008 以降で使用
されなくなった、サーバから提供されるヒント情報を信頼しなくなったことに
起因します。クライアントが正しい動作を行うために、サーバの別名すべてが、
Active Directory 上のサーバレコード上の servicePrincipalName として登録
される必要があります(こうした理由により、この変更とパラメータ追加が
Samba 3.5.9 で行われました)。
「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 サービスに接続しようとする際には、エ
ンドポイントマッパーに対して、実行されているポートを問い合わせます。こ
れにより、サービスへの接続が可能となる他、サービスが実行中であるかも
確認できます。
このコードはデフォルトで無効となっています。これは、より多くのテストが
必要であることに加え、大規模環境へも未対応のためです。この機能を有効化
してエンドポイントマッパーをテストする際には、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
%i および %I 変数の置換の際に、IPv4 アドレスの IPv6 アドレスへのマップ
(例えば ::ffff:192.168.0.1 のような)は行われなくなりました。
※主要な変更点は省略
######################################################################
バグ報告と開発煮関する議論
##########################
本リリースに関する議論は 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 @ samba.gr.jp>
samba-jp メーリングリストの案内