Samba (サンバ) は、マイクロソフトのWindowsネットワークを実装した自由ソフトウェア。
Linux、Solaris、BSD、macOSなどのUnix系オペレーティングシステム (OS) を用いて、Windowsのファイルサーバやプリントサービス、ドメインコントローラ機能、ドメイン参加機能を提供する。

1992年、アンドリュー・トリジェルによって最初のバージョンが開発され、後にGPL v2にて公開された。
3.2系からはGPL v3へ移行した。

## 特長

Sambaは12のサービスと12の通信プロトコルの実装で、CIFS、NetBIOS over TCP/IP (NetBT)、SMB/CIFS、DCE/RPCのほか、MSRPC、NetBIOSネームサーバ (NBNS) として知られるWINS サーバ、NT ドメインログオンを含めた NT ドメインプロトコルスイート、セキュアアカウントマネージャ (SAM) データベース、ローカルセキュリティ認証 (LSA) サービス、NTプリントサービス (SPOOLSS)、そしてバージョン3では(ケルベロス認証とLDAPに対応した) Active Directoryへのドメイン参加機能が含まれている(AD参加機能によってUNIX/Linux上でのユーザ管理が不要になる)。

大雑把には、UNIX機をクライアントあるいは共有ファイルサーバとしてWindowsネットワークへ参加させる機能の他、Windows NT 4.0サーバの機能と、バージョン3では一部Windows 2000 / 2003サーバの機能を持つ(例えば、VSS:ボリュームシャドウコピー機能など)。本家のWindows Serverと異なり、本体価格やサーバに接続するクライアント分のライセンスコストなどが一切不要であることや、アクセス権の指定など一部機能は本家を上回る部分もあるため、官公庁、大学、大企業を中心にSambaを導入する例も増えている。また、Mac OS X v10.6.8まではSambaの機能によって、Windowsネットワーク環境でのファイル共有やドメイン参加を実現していた。しかし、SambaのライセンスがGPL v3に移行しAppleがOSに添付できなくなったことにより、Mac OS X Lionからは取り去られ独自実装のsmbdに置き換えられている。

## 名前の由来

Sambaという名前は、Windowsで使用されているネットワークファイルシステム「SMB (Server Message Block)」に、2つの母音を入れて作られている。Sambaはもともと「smbserver」と呼ばれていたが、SMBserverの商標をもつSyntaxから登録商標であるとの通告があったため、名前が変更された。S, M, B が含まれる単語を探し、Samba が選ばれた。次点の名前は、salmonberry であった。

## 主な機能

### ファイルサーバ

共有フォルダと呼ばれるサーバ側の空間に、ファイルを格納する機能。NASとしての機能を果たす。

アクセス権を設定できるため、特定のユーザに同じファイルを提供するといった用途が実現できる。
ACLをサポートする環境なら、ユーザやグループ毎に細かくアクセス権を指定することも可能。
Windowsサーバと比べて、「$」で終わる共有名でなくても隠し共有にできる利点がある。(隠し共有...共有名の検索やリストアップを行っても画面に現れないが、正しい名前を指定すればアクセスできる共有フォルダ)

### プリントサーバ

Windowsクライアント向けのプリントサーバ機能。

共有プリンターの提供やプリンタドライバの配布を行う。

### Windowsドメインコントローラ

Windows NT 4.0サーバで提供される機能で、NT ドメインと呼ばれるネットワーク領域内で、ユーザやクライアントコンピュータの管理を行う機能。Samba 2.2から提供された。

ユーザアカウントやコンピュータアカウント、アクセス権などの情報を中央集権的に管理し、ユーザ認証やシングルサインオンなどのサービスを提供する。

ドメインメンバ(利用者側)からは、PDCとBDCは同じ機能を提供しているように見える。
BDCはバックアップの機能を提供しているため、ドメイン内に存在しなくても構わない。同じドメイン内にPDCとBDCが両方存在している場合、ドメインメンバは原則としてBDCにサービスの提供を依頼する。

Samba はPDC / BDCの機能を提供することができ、NT ドメイン内にメンバとして参加することもできる。ただし、WindowsサーバとSambaではアカウント情報の同期の取り方が異なるため、同じドメイン内でWindowsサーバのPDCとSambaのBDCを運用すること、或いはその逆はできない。(なおバージョン3からユーザやグループなどの属性を保持したまま、NT 4.0ドメインからSambaドメインへの移行がサポートされた。)

### Active Directory ドメインメンバ

Windows 2000サーバ以降から提供されるActive Directoryドメインへのドメインメンバとしての参加機能。Samba 3から提供された。

Active Directoryは前述のNT ドメインに代わるもので、既存のネットワーク技術を応用して構成されている。ユーザアカウントなどの管理情報をLDAPディレクトリサービスに格納し、認証機構にケルベロス、名前解決にDNS、管理情報の配布やコピーにTCP/IPのみを使用する。

### Active Directory ドメインコントローラー

2012年12月にリリースされたSamba 4よりActive Directoryドメインのドメインコントローラー機能がサポートされている。

### smbclient

UNIX側からWindowsやSambaの共有フォルダに接続するためのクライアントソフトウェア。

標準的なコマンドラインプログラムFTPのような操作で、共有フォルダに接続し、ファイルを操作することができる。

### libnss_wins

Name Service SwitchへWINSサーバーと137/udpのブロードキャストを使ったホスト名解決を行うライブラリの提供。

## バージョン履歴

Samba 3.0までの歩みは「Sambaの10年」を参照。

| リリース日 | バージョン | メンテナンス期限(EOL) | 概要 |
| --- | --- | --- | --- |
| 000000002003-09-25-00002003年9月25日 | サポート終了:3.0 | 000000002009-08-05-00002009年8月5日 | SambaをActive Directoryドメインメンバにして、Windows Active Directoryドメインに参加できる。Unicodeサポート。 |
| 000000002004-09-25-00002004年9月25日 | サポート終了:3.1 | N/A | 3.2に向けての開発ブランチ。 |
| 000000002008-07-01-00002008年7月1日 | サポート終了:3.2 | 000000002010-03-01-00002010年3月1日 | GPL2からGPL3にライセンス変更。IPv6のサポート。ファイルサービスの従来の最大1,024バイトというパス名、および最大256バイトのファイル名という制約がなくなり、ホストOSで設定した値までの文字列が扱えるようになった。 |
| 000000002009-01-27-00002009年1月27日 | サポート終了:3.3 | 000000002011-08-09-00002011年8月9日 | クラスタサポートや管理ツールが強化。 |
| 000000002009-07-03-00002009年7月3日 | サポート終了:3.4 | 000000002012-12-11-00002012年12月11日 | Samba 3とSamba 4ソースコードの両方を含む最初のリリース。デフォルトではSamba 4のビルドは無効。 |
| 000000002010-03-01-00002010年3月1日 | サポート終了:3.5 | 000000002013-10-11-00002013年10月11日 | SMB2の実験的サポートを含む最初のリリース。 |
| 000000002011-08-09-00002011年8月9日 | サポート終了:3.6 | 000000002015-03-04-00002015年3月4日 | SMB2を完全にサポートする最初のブランチ。 |
| 000000002012-12-11-00002012年12月11日 | サポート終了:4.0 | 000000002015-09-08-00002015年9月8日 | SMB2.1のサポート。SambaをActive Directoryドメインコントローラにして、Windows Active Directoryドメインに完全に参加できる 。 |
| 000000002013-10-11-00002013年10月11日 | サポート終了:4.1 | 000000002016-03-22-00002016年3月22日 | SMB3のサポート。 |
| 000000002015-03-04-00002015年3月4日 | サポート終了:4.2 | 000000002016-09-07-00002016年9月7日 | Btrfsベースのファイル圧縮、スナップショット、 winbind統合。 |
| 000000002015-09-08-00002015年9月8日 | サポート終了:4.3 | 000000002017-03-07-00002017年3月7日 | 新しいロギング機能、SMB3.1.1のサポート。 |
| 000000002016-03-22-00002016年3月22日 | サポート終了:4.4 | 000000002017-09-21-00002017年9月21日 | 非同期フラッシュリクエスト。 |
| 000000002016-09-07-00002016年9月7日 | サポート終了:4.5 | 000000002018-03-13-00002018年3月13日 | NTLMv1が既定で無効に、バーチャルリストビュー(VLV)、さまざまなパフォーマンス改善。 |
| 000000002017-03-07-00002017年3月7日 | サポート終了:4.6 | 000000002018-09-13-00002018年9月13日 | マルチプロセスNetlogonのサポート。 |
| 000000002017-09-20-00002017年9月20日 | サポート終了:4.7 | 000000002019-03-19-00002019年3月19日 | Samba ADとMIT Kerberos |
| 000000002018-03-13-00002018年3月13日 | サポート終了:4.8 | 000000002019-09-17-00002019年9月17日 |  |
| 000000002018-09-13-00002018年9月13日 | サポート終了:4.9 | 000000002020-03-03-00002020年3月3日 |  |
| 000000002019-03-19-00002019年3月19日 | サポート終了:4.10 | 000000002020-09-22-00002020年9月22日 | Python 3のフルサポート。preforkプロセスモデルの改良。 |
| 000000002019-09-17-00002019年9月17日 | サポート終了:4.11 | 000000002021-03-09-00002021年3月9日 | SMB1が既定で無効に。 |
| 000000002020-03-03-00002020年3月3日 | サポート終了:4.12 | 000000002021-09-20-00002021年9月20日 |  |
| 000000002020-09-22-00002020年9月22日 | サポート終了:4.13 | 000000002022-03-21-00002022年3月21日 | Python3.6以降が必要。 |
| 000000002021-03-09-00002021年3月9日 | サポート終了:4.14 | 000000002022-09-13-00002022年9月13日 | 新VFSインターフェースの導入。 |
| 000000002021-09-20-00002021年9月20日 | サポート終了:4.15 | 000000002023-03-08-00002023年3月8日 | 新VFS。server multi channel supportが既定で有効に。 |
| 000000002022-03-21-00002022年3月21日 | サポート中:4.16 | ~2023年9月 | samba-dcerpcdの導入。証明書の自動登録。 |
| 000000002022-09-13-00002022年9月13日 | サポート中:4.17 | ~2024年3月 | SMB1プロトコル無しで構成可能。RBCD(リソースに基づくドメイン間の制約付き委任)をサポート。DNSリスニングポートがカスタマイズ可能。 |
| 000000002023-03-08-00002023年3月8日 | 現行バージョン:4.18 | ~2024年9月 | SMBサーバーのパフォーマンス向上。samba-toolのメッセージ機能を更新。新しいwbinfoオプション。 |
| 凡例  サポート終了  サポート中  現行バージョン  最新プレビュー版  将来のリリース | | | |