Samba 4最新動向
日本Sambaユーザ会
たかはし もとのぶ（髙橋基信）
monyo@samba.gr.jp

Samba 4系列の開発の軌跡（2008年迄）samba-4.0.0TP1～TP5
 Active Directoryログオンのサポートと改善

2007/09/06 samba-4.0.0alpha1
 グループポリシーのサポート
 ADUC（Active Directory ユーザーとコンピュータ）による管理のサポート
 Winbind機構のサポート

2007/12/17 samba-4.0.0alpha2
2008/04/15 samba-4.0.0alpha3
 SWATサポートが停止（開発者不足ほか）

2008/06/05 samba-4.0.0alpha4
 Pythonサポートが必須に（Pythonがないとインストールできません）
 SMB2サポートの開始 ユーザ情報のWinbind機構への格納開始

2008/06/30 samba-4.0.0alpha5
 SMB2署名のサポート開始
2

Samba 4系列の開発の軌跡（2009年）
2009/01/21 samba-4.0.0alpha6
 JavaScriptサポートの停止（Pythonで代替） 様々な内部コンポーネントが大きく改善

2009/02/26 samba-4.0.0alpha7
 Windows 7サポートの開始

2009/06/19 samba-4.0.0alpha8 Windows Server 2008互換のスキーマを実装

2009/11/30 samba-4.0.0alpha9
 ユーザのプロパティを完全サポート
 AD上のアクセス許可がWindows Server 2008互換に
 WindowsとのDRS（ディレクトリ複製サービス）のサポート開始



2009/12/08 samba-4.0.0alpha10
 alpha9の致命的なバグ（DRS関連）修正3

Samba 4系列の開発の軌跡（2010年）


2010/01/10 samba-4.0.0alpha11
 RID割り当て機構の改善により重複の可能性が排除

2010/09/20 samba-4.0.0alpha13（alpha12は正式リリースされず） ビルドシステムがWAFへ変更
 Winbind機構が大幅に改善
 DRS関連の大幅な改善
 動的DNSのサポート開始（ただしWindowsのDCとの相互運用性なし）

2010/12/23 samba-4.0.0alpha14（コードネーム:randomdata）
 DRS関連の大幅な改善
 バックアップ用のスクリプトが添付
 netコマンドがsamba-toolコマンドに名称変更
 Sambaの実運用が始まっていることがアピール

Although still in development, samba4 is already used in acouple of production sites …
4

Samba 4系列の現状（1） DCとしては、完成に近づいている
 DRSの完成度が一定レベルになればリリースか 実運用している箇所もある（とアピールできるレベル）
 Samba 4.0.0alphaをDCとして、ファイルサーバとしてはSamba 3系列を使用する形態
Although still in development, samba4 is already
リリースノートよりused in a couple of production sites … (alpha14リリースノート
リリースノートより）より）
 ファイルサーバとしてはこれから ブラウジング、印刷ほか、あまりケアされていない
 ただし、Samba 3のコードを流用して一気に進むかも5

Samba 4系列の現状（2） Samba 3.6の次にリリース？
 今年中にリリースか 現在の最新バージョンはSamba 3.5.6
 Samba 3.6はそろそろリリースされる予定 Samba 3.7系列がリリースされるかどうかは微妙 「リリースする事態にならないことを願いたい」とのこと

 現在、9ヶ月ごとにバージョンアップするポリシー 最近の議論を見ている限り、Samba 3.6リリース後は、Samba 4.0リリースに注力するとのこと AD対応など、Samba 3系列ではそろそろ限界

6

Samba 4概要（1） プロセス名は「samba」
 従来のnmbd、smbd、winbinddすべてを統合

 Windowsサーバとして必要なサービスの大半を実装
 外部ライブラリへの依存性を極力排除
 Kerberos（Heimdal Kerberosをソースに取り込み） LDAP（独自実装）
 OpenLDAPの使用も考慮されているが、優先度は低い

 実装されていないサービス
 DNS（BIND用の定義ファイルあり）、NTP

7

Samba 4概要（2） BINDとの連携
 BIND 9.7.2rc1以降でKerberosを用いたAD互換のセキュアな動的更新をサポート
 簡単な設定方法がSamba4-HOWTOに記載されている
 BIND 9.8 と連携して、セキュリティで保護された動的更新を実現できるように動いている
 NTP
 ntpd 4.2.6以降で--enable-ntp-signdオプションをつけてconfigureすることでSamba 4互換のNTPをサ
ポート
8

Samba 4概要（3） 参考：Sambaがオープンしているポート 従来のnmbd、smbd、winbinddすべてを統合
ポート

プロトコル

用途

42

tcp

WINS複製

88

tcp/udp

Kerberos

135

tcp

MS-RPC

137

udp

NetBIOSネームサービス

138

udp

NetBIOSデータグラム

139tcpファイルサービス389

tcp/udp

LDAP

445

tcp

Direct Hosting of SMB

464

tcp/udp

kpasswd

646

tcp/udp

LDAPS

3268

tcp

グローバルカタログ（3269 LDAPSによるグローバルカタログも実装中）

参考：http://support.microsoft.com/kb/179442/ja

9

Samba 4のDC機能（1） Windows Server 2008とほぼ互換
 ADUC（Active Directoryユーザーとコンピュータ）からWindowsサーバと同様に管理可能
 よくも悪くもWindowsそのものとしての管理が可能

 WindowsのDCとSambaのDCの混在も可能
 スキーマ Windows Server 2008と同等のスキーマをサポート

 信頼関係、ドメインの機能レベル
 サイト、FRS 設定は可能。動作は未検証

 Windows 7を完全サポート
10

Samba 4のDC機能（2） Windows Server 2008とほぼ互換
 ADUC（Active Directoryユーザーとコンピュータ）からWindowsサーバと同様に管理可能
 グループポリシー
 グループポリシーのアクセス許可、継承のブロック、複数個所へのGPOのリンクなど、細かい機能もサポート ユーザー属性の設定、編集

11

Samba 4のDC機能（3） Windows Server 2008とほぼ互換
 UNIX上からの管理 samba-toolにより、ある程度の管理が可能
 ただし、ADの管理自体は基本的にはGUIからの操作をお奨め# samba-tool
Usage:
samba-tool <command> [options]
Available commands:
password
Changes/Sets the password on a user account[server connection needed]samdumpdump the sam of a domain
samsync
synchronise into the local ldb the sam of an NT4
domaingpo
Administer group policies
setexpiry
Sets the expiration of a user account
fsmo
Makes the targer DC transfer or seize a fsmo role
[server connection needed]pwsettings
Sets password settingsgroupGroup management
gpo2
GPO commands
machinepw
Gets a machine password out of our SAM

rodc
RODC commands
domainlevel Raises domain and forest function levelsacl
NT ACLs manipulation
vampireJoin and synchronise a remote AD domain to the
local server [server connection needed]enableaccount Enables a user
exportDumps the sam of the domain we are joined to[server connection needed]
user
User management [server connection needed]
spn
SPN management [server connection needed]
time
Retrieve the time on a remote server [serverconnection needed]
setpassword (Re)sets the password on a user accountjoin
Joins domain as either member or backup domain
controller [server connection needed]
newuser
Creates a new userdrs
DRS commands
ldapcmpcompare two ldap databases

12Samba 4のDC機能
 ADUCによる管理

13

Samba 4のDC機能
 ADUCによる管理

14

Samba 4のDC機能
 SambaのDCとWindowsのDCの混在

SambaとWindowsのDCが共存

15

Samba 4のDC機能
 Active Directoryサイトとサービスによる管理「Active Directoryドメインと信頼関係」も動作します。信頼関係締結も可能。
16

Samba 4のDC機能
 Active Directoryドメインと信頼関係による管理

17

Samba 4のDC機能
 Windows 7も完全サポート18

Samba 4のDC機能
 グループポリシーの管理によるGPO管理

19

Samba 4のDC機能
 ADSIエディタによる編集にも対応

20

Samba 4のファイルサーバ機能
 基本機能のWindows互換性はほぼ完全か
 ACL、ファイル属性などは、すべて拡張属性に格納
 グループのファイル所有者も実現
 日本語関連はSamba 3と同様の設定

 現状問題と思われる機能 短いファイル名生成のロジックはSamba 3と同様（の問題点がある）
 POSIX ACLへのマッピングは（少なくともデフォルトでは）考慮されていない
 UNIX環境との相互運用性より、Windowsからアクセスした際の互換性向上を優先させている

21

Samba 4のファイルサーバ機能
 アクセス許可関連は、ADと高い互換性グループが所有者
22

Samba 4のファイルサーバ機能（2） Winbind機構がデフォルトで有効
 Sambaで構築したADドメインのユーザは、原則すべてWinbind機構に格納される
 /etc/passwdファイルには現れない$ getent passwd……
bind:x:103:104::/var/cache/bind:/bin/false
ntp:x:104:105::/home/ntp:/bin/false
Administrator:*:0:100::/home/%U:/bin/bash
Guest:*:3000012:3000013::/home/%U:/bin/bash
krbtgt:*:3000014:100::/home/%U:/bin/bash
dns-samba40-1:*:3000015:100::/home/%U:/bin/bash
samba02:*:3000021:100:Samba 02:/home/%U:/bin/bash
Samba01:*:3000022:100:Samba 01:/home/%U:/bin/bash

23Samba 4のファイルサーバ機能（3） 高度な機能はこれから実装か
 ホストベースDFS、ボリュームシャドウコピー、…
 ドメインベースDFSがサポートされるかは微妙

 現在サポートされていない機能
 印刷
 ブラウジングなど

24