Samba 3.0系列での大きな拡張点の1つに、認証データベースの拡張が挙げられます。
Samba 2.2系列でも、configure時にオプションを指定することで、LDAP認証をはじめとするsmbpasswdファイル以外のいくつかの認証データベースを使用することができました。しかし、configure時に使用する認証データベースが固定されてしまい、複数の認証データベースを組み合わせて使うこともできませんでした。
Samba 3.0系列では、こうした問題に対応すべく、新たにpassdb backendというパラメータが新設されました。このパラメータのデフォルト値は、
passdb backend = smbpasswd |
で、Samba 2.2系列までと同様にsmbpasswdファイルで認証を行う設定になっています(注)。ここに認証データベースを示すキーワードを列挙することで、Sambaがサポートしている任意の認証方式を任意の順番で組み合わせることが可能です。
注:ただし、configureで--with-ldapsamを指定した場合、デフォルト値はldapsam_compat になります。
例えば、基本的にLDAP認証を用い、LDAP中に存在しないアカウントについてはローカルのsmbpasswdファイルで認証したい場合は、以下のように設定します。
[global] |
passdb backendパラメータの設定例 |
現在、デフォルトで使用可能な認証モジュールは表4のとおりです。
キーワード
|
認証方式
|
smbpasswd | デフォルト、従来の方式(ファイルのパス名を指定可能) |
tdbsam | TDB形式のデータベース(ファイルのパス名を指定) |
ldapsam | LDAPサーバ(LDAPサーバのURLを指定) |
ldapsam_compat | Samba 2.2系列互換のスキーマを持つLDAPサーバ(LDAPサーバのURLを指定) |
表4 Samba 3.0系列でサポートされている認証モジュール |
■LDAP認証の機能強化
表4に、LDAP認証の認証モジュールが複数用意されています。これは、Samba 3.0系列になってLDAP認証に用いるスキーマが変更されたためです。この変更により、より多くの情報が保持できるようになった半面、Samba 2.2系列でLDAP認証のスキーマとの互換性がなくなっています。
こうした問題に対処するため、Samba 3.0系列でもconfigure時に--with-ldapsamオプションを指定し、passdb backendパラメータでldapsam_compatを指定することで、Samba 2.2系列と同じLDAPデータベースを使用することが可能です。
■pdbeditコマンド
Samba 3.0系列では、実際の認証方式の違いを意識することなくアカウントの追加、変更などの各種操作を可能とするため、pdbeditというコマンドが新たに用意されています。
例えば、pdbeditコマンドを実行することで、ユーザー情報の詳細表示が可能です。これは、認証データベースがLDAPであってもtdbsamであっても、同一の操作で同一の表示が行えるようになっています。
# pdbedit -u monyo -v |
pdbeditコマンドによるユーザー情報の詳細表示 |
また、pdbeditコマンドを以下のように用いることで、異なる認証データベース間での移行が可能です。
# pdbedit -i smbpasswd:/etc/samba/smbpasswd -e tdbsam:/usr/local/samba/private/smbpasswd.tdb |
pdbeditコマンドによる認証データベースの移行 注:-iオプションで複製元(import)する認証データベースを、-eオプションで複製先(export)する認証データベースをそれぞれ指定する。 |
Samba 3.0系列はsmbpasswdコマンドもサポートしているので、smbpasswdファイルを使用している場合は、smbpasswdコマンドによる操作も可能です。しかし、pdbeditコマンドが認証データベース操作の標準コマンドとして位置付けられているので、管理者としては早めにこのコマンドに慣れておきたいところです。
SMBプロトコルの各種セキュリティ機能への対応も、Samba 2.2系列から大きく機能強化されました。
Samba 2.2系列までは、俗に「暗号化パスワード」と呼ばれるNTLMレスポンスおよびLMレスポンスと平文パスワードのみに対応しており、Windows NT 4.0 SP3やSP4以降で実装されたSMB署名やNTLMv2などの各種セキュリティ機能には対応していませんでした。そのため、デフォルトの設定ではWindows XP ProfessionalがSambaドメインに参加できないという問題が発生していました(注)。
注:Windows XP Professionalのマシンがドメインに参加できない
http://www.samba.gr.jp/project/kb/J0/0/71.html
Samba 3.0系列では、Windowsが実装しているSMBのセキュリティ機能はほぼすべてサポートされています(表5)。これにより、前述したSambaドメインに参加できない問題も解消しています。
機能
|
Windows NT系(*1)
|
Samba 2.2系列
|
Samba 3.0系列(*2)
|
平文パスワード 抑止 |
(設定なし) EnablePlainTextPassword |
encrypt passwords | encrypt passwords、 client plaintextauth |
LMレスポンス 抑止 |
LMCompatibilityLevel | lanman auth | lanman auth、 client lanman auth |
NTLMレスポンス 抑止 |
LMCompatibilityLevel | 不可能 | ntlm auth、 client ntlmv2auth |
NTLMv2対応 | LMCompatibilityLevel (NT 4.0 SP4以降) |
不可能 | ntlmv2 auth、 client ntlmv2auth |
SMB署名 | Require(Enable)SecuritySignature (NT 4.0 SP3以降) |
不可能 | server signing、 client signing |
セキュアチャネル、 署名・暗号化 |
RequireSignOrSeal (NT 4.0 SP4以降)など |
不可能 | server schannel、 client schannel |
NetBIOS無効化 | SMBDeviceEnabled | 不可能 | disable netbios |
表5 SMBセキュリティ機能の一覧 注1:「Windows NT系」は、Windows 2000/XP/Windows Server 2003を含む。 注2:上行がサーバ、下行がクライアント。 |
Samba 3.0系列では、新たにnetコマンドが追加されました。
Windowsのnetコマンドに類似したコマンドですが、はるかに多くの機能が実装されており、従来のコマンドの機能も多く統合されています。また、netコマンドを用いることで、WindowsマシンをUNIXコマンドラインから遠隔管理することも可能になります。
netコマンドの機能は多岐にわたりますので、詳細についてはドキュメントなどを参照してください。このほかにも、smbcacls、smbcquotas、smbtreeなどのコマンドが追加されています。
以上、Samba 3.0系列の特徴的な機能について、一通り紹介しました。Samba 3.0系列についてはまとまった情報があまりない状態ですが、本記事とSamba 2.2系列までの情報を合わせれば、Samba 3.0系列について一通りの機能を知ることができるのではないかと思います。
本記事が、Samba 3.0系列を使う方々のお役に立てれば幸いです。
Copyright © ITmedia, Inc. All Rights Reserved.