14.4. Samba のセキュリティモード

Samba のセキュリティモードは共有レベルユーザーレベルの 2 種類のみで、まとめてセキュリティレベルと呼ばれています。共有レベルセキュリティの実装方法は 1 つだけですが、ユーザーレベルセキュリティは 4 種類の実装方法から選ぶことができます。セキュリティレベルの異なる実装方法はセキュリティモードと呼ばれます。

14.4.1. ユーザーレベルセキュリティ

ユーザーレベルセキュリティは Samba のデフォルト設定です。security = user ディレクティブが smb.conf ファイルに一覧表示されていなくても、Samba はこれを使用します。サーバがクライアントのユーザー名/パスワードを受け取ると、クライアントは各インスタンスのパスワードを指定しなくても複数の共有をマウントすることができます。また、Samba はセッションベースのユーザー名/パスワード要求を受け取ることができます。クライアントは各ログオンに固有の UID を使って複数の認証を管理します。

smb.conf 内のユーザーレベルセキュリティを設定する security = user ディレクティブは次のようになっています。

[GLOBAL]
...
security = user
...

14.4.2. 共有レベルセキュリティ

共有レベルセキュリティを使用すると、サーバはクライアントからの明確なユーザー名がないパスワードだけを受け取ります。サーバはユーザー名とは異なる各共有のパスワードを期待します。Microsoft Windows クライアントは共有レベルセキュリティサーバに互換性の問題があることが最近報告されています。Samba 開発者は共有レベルセキュリティを使用しないよう強く警告しています。

smb.conf の共有レベルセキュリティを設定するsecurity = share ディレクティブは次のようになっています。

[GLOBAL]
...
security = share
...

14.4.3. ドメインセキュリティモード (ユーザーレベルセキュリティ)

ドメインセキュリティモードでは、Samba サーバはマシンアカウント(ドメインセキュリティトラストアカウント)を持つので、すべての認証要求がドメインコントローラを通過するようになっています。Samba サーバはsmb.conf で次のディレクティブを使ってドメインメンバーサーバに構築されます。

[GLOBAL]
...
security = domain
workgroup = MARKETING
...

14.4.4. Active Directory セキュリティモード (ユーザーレベルセキュリティ)

Active Directory 環境の場合、ネイティブの Active Directory メンバーとしてそのドメインに参加することができます。セキュリティポリシーが NT 互換の認証プロトコルの使用を制限するものであっても、Samba サーバは Kerberos を使って ADS に参加することができます。

smb.conf にある次のディレクティブで Samba を Active Directory メンバーサーバにします。

[GLOBAL]
...
security = ADS
realm = EXAMPLE.COM
password server = kerberos.example.com 
...

14.4.5. サーバセキュリティモード(ユーザーレベルセキュリティ)

サーバセキュリティモードは以前、Samba がドメインメンバーサーバとして動作できなかったときに使用されました。

注記注記
 

多数のセキュリティ障害があるので使用しないよう強く警告します。

smb.conf の次のディレクティブで amba がサーバセキュリティモードで動作できるようにします。

[GLOBAL]
...
encrypt passwords = Yes
security = server
password server = "NetBIOS_of_Domain_Controller"
...