Sambaの認証について簡単にまとめる。

スポンサーリンク

「LPI-302 Mixed Environment」(LPIC302)試験の学習。 
Linux教科書 LPIC レベル3 」をベースに進める。

学習進捗状況は、以下のエントリを参照。
LPIC302 学習進捗状況: ほぼニートの資格取得日記☆

まだまだ勉強中の身なので、記事内容の正確性については保証しかねる。

——————————————————

今回はSambaの認証について簡単にまとめる。
Linux教科書 LPIC レベル3 」では、「第10章 Sambaの認証とユーザー管理」(p.257~)に該当。

まず、ユーザーがSambaサーバーへアクセスした際の認証の流れについて。
この認証の流れが少しだけややこしい。

Sambaサーバーにアクセスした際の認証はSambaユーザーに対して行われる。
しかし、認証を通過した後で、Linuxマシン上のリソースへアクセスするのはSambaユーザーに対応するLinuxユーザーである。
Samabaユーザーがリソースへアクセスするのではない。
対応するLinuxユーザーの権限でリソースへアクセスする。

そのため、Sambaユーザーと同じ名前のLinuxユーザーが存在していなければならない。
事前にLinuxユーザーを作成しておくことが必要。

※SambaユーザーとLinuxuユーザーは同じ名前になるが、
WindowsユーザーとSambaユーザーの対応については、
[username map]や[username map script]パラメーターを使えば、
Windowsユーザーに対して別の名前のSambaユーザーを対応させることも可能とのこと。

Sambaユーザーは、あくまで認証情報やWindowsユーザーとしての情報を格納するためのもの。

Samba3.0には以下の5つの認証方式(セキュリティモデル)が用意されている。
認証方式は/etc/samba/smb.confのsecurityパラメーターで指定できる。

 

認証の単位 説明
share 共有レベル Windows NTまたはSambaにて共有単位で認証を行う
user ユーザーレベル Sambaにて、ユーザー単位でのパスワード認証を行う
server ユーザーレベル Windows NTまたはSambaで認証を行う
domain ユーザーレベル Windowsドメインで認証を行う
ads ユーザーレベル Active Directoryドメインで認証を行う

共有レベルの認証方式(security = share)の場合

  • 認証は共有単位
  • 「ユーザーによる認証」は行われない
  • 「パスワードによる認証」のみが行われる
  • Linuxマシンには「パスワードによる認証」のみの機構はない
  • そのため、各共有に[only user]、[user]パラメーターを設定する必要がある

ユーザーレベルの認証(security = share以外)の場合

  • user → Samba自身で認証。Samba自身が管理する認証データベースを用いる。Samabaをスタンドアロンやドメインコントローラーとして使用する場合に指定する。
  • server → 他のサーバーに認証を委任
  • domain → NTLM認証でNTまたはADドメインに参加
  • ads → Kerberos認証でADドメインに参加。SambaをADドメインのメンバとして使う場合に指定する。

なお、smb.confでのsecurityパラメーターに関するコメントを見ると、
shareとserverには「deprecated(廃止される可能性がある)」が付いている。
これらは実際には使わないほうが良さそうだ。
また、domainも使わない方が良さそうだ…。
というのも、

Windows 2003 R2やVista、Windows 2008、XP 64ビットエディションでは、security=share/server/domainを使うと、うまく接続できない場合が増えてきました。 Kerberos認証やNTLMv2認証などの新しい認証方式では、セキュリティ強化のために、代理認証やパスワードのリダイレクトを許さないためです。

【参考】
Sambaサーバ構築、5つのべからず:2008年版(2/2)

とのこと。

Samba自身でSambaユーザーの情報を管理する場合、Sambaユーザーの情報は認証データベースに格納される。
Sambaで使われる主な認証データベースには以下がある。
smb.confの[passdb backend]パラメーターで指定できる。

  • smbpasswdファイル(smbpasswd) → Samba2.2系列互換用。今後は使うな。
  • TDBファイル(tdbsam) → Sambaをスタンドアローンやドメインメンバにするときに利用。複数サーバーで共有不可、複製不可。
  • LDAP(ldapsam) → SambaをDCにする場合やユーザー数が多いときに利用。拡張性が高い。

Samba2.2系列まではsmbpasswdファイルが使われていたが、
smbpasswdはSamba3.0で拡張された機能がいくつかサポートされていない。Samba2.2系列との互換利用の場合をのぞいて、使うな。
今回はここまで。
Sambaの認証について簡単にまとめた。
次回以降は

  • ゲスト認証について([map to guest]パラ
    メーター)
  • [username map]や[username map script」パラメーターでのマッピングを実際に設定
  • 認証データーベースについてより細かく
    • TDBファイルの操作
    • pdbeditを使って、smbpasswdからTDBへ以降
    • LDAPを用いた認証

あたりをやるとしよう…。

スポンサーリンク
  • このエントリーをはてなブックマークに追加