Samba (サンバ) は、Windowsネットワークで使用されSMB/CIFS通信プロトコルを実装した自由ソフトウェアである。主にLinuxやBSDなどのUnix系オペレーティングシステム上でWindows互換のネットワーク機能を提供するソフトウェアに位置づけられる。
ネットワーク経由のファイル共有、プリンター共有、ユーザー認証、ドメインコントローラ運用などに用いられる。異なるOS間で互換的に資源共有を実現する点を特徴とする。
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と異なり、本体価格やサーバに接続するクライアント分のライセンスClient Access Licenseのことであるコストなどが一切不要であることや、アクセス権の指定など一部機能は本家を上回る部分もあるため、官公庁、大学、大企業を中心に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の商標をもつSyntaxTotalNET Advanced Serverという製品などを販売している。から登録商標であるとの通告があったため、名前が変更された。S, M, B が含まれる単語を探し、Samba が選ばれた。次点の名前は、salmonberry であった。
主な機能 ファイルサーバ 共有フォルダと呼ばれるサーバ側の空間に、ファイルを格納する機能。NASとしての機能を果たす。
アクセス権を設定できるため、特定のユーザに同じファイルを提供するといった用途が実現できる。 ACLをサポートする環境なら、ユーザやグループ毎に細かくアクセス権を指定することも可能。 Windowsサーバと比べて、「$」で終わる共有名でなくても隠し共有にできる利点がある。(隠し共有…共有名の検索やリストアップを行っても画面に現れないが、正しい名前を指定すればアクセスできる共有フォルダ)
プリントサーバ Windowsクライアント向けのプリントサーバ機能。
共有プリンターの提供やプリンタドライバの配布を行う。
Windowsドメインコントローラ Windows NT 4.0サーバで提供される機能で、NT ドメインと呼ばれるネットワーク領域内で、ユーザやクライアントコンピュータの管理を行う機能。Samba 2.2から提供された。
ユーザアカウントやコンピュータアカウント、アクセス権などの情報を中央集権的に管理し、ユーザ認証やシングルサインオンなどのサービスを提供する。 プライマリドメインコントローラ (PDC) ユーザアカウントやコンピュータアカウントなどの、データの原本を持つコンピュータ。 バックアップドメインコントローラ (BDC) PDCのデータのコピーを持つコンピュータ。 ドメインメンバ PDC の認証を受けたコンピュータや、そのコンピュータを利用するユーザ。 ドメインメンバ(利用者側)からは、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)概要SambaをActive Directoryドメインメンバにして、Windows Active Directoryドメインに参加できる。Unicodeサポート。N/A3.2に向けての開発ブランチ。GPL2からGPL3にライセンス変更。IPv6のサポート。ファイルサービスの従来の最大1,024バイトというパス名、および最大256バイトのファイル名という制約がなくなり、ホストOSで設定した値までの文字列が扱えるようになった。クラスタサポートや管理ツールが強化。Samba 3とSamba 4ソースコードの両方を含む最初のリリース。デフォルトではSamba 4のビルドは無効。SMB2の実験的サポートを含む最初のリリース。SMB2を完全にサポートする最初のブランチ。SMB2.1のサポート。SambaをActive Directoryドメインコントローラにして、Windows Active Directoryドメインに完全に参加できる 。SMB3のサポート。Btrfsベースのファイル圧縮、スナップショット、 winbind統合。新しいロギング機能、SMB3.1.1のサポート。非同期フラッシュリクエスト。NTLMv1が既定で無効に、バーチャルリストビュー(VLV)、さまざまなパフォーマンス改善。マルチプロセスNetlogonのサポート。Samba ADとMIT KerberosPython 3のフルサポート。preforkプロセスモデルの改良。SMB1が既定で無効に。Python3.6以降が必要。新VFSインターフェースの導入。新VFS。server multi channel supportが既定で有効に。~2023年9月samba-dcerpcdの導入。証明書の自動登録。~2024年3月SMB1プロトコル無しで構成可能。RBCD(リソースに基づくドメイン間の制約付き委任)をサポート。DNSリスニングポートがカスタマイズ可能。~2024年9月SMBサーバーのパフォーマンス向上。samba-toolのメッセージ機能を更新。新しいwbinfoオプション。
脚注
関連項目 Server Message Block (SMB) Windows Internet Naming Service (WINS) Active Directory
外部リンク
日本Sambaユーザ会