« linux bash shell の便利な機能 history の使い方 | トップページ | Windows パーティションの種類 »

linux samba に関するメモ

linux samba に関するメモ


ワークグループ情報の通知

Workgroup Announcement パケット
15 分間隔
138/udp ブロードキャスト
Local Master Announcement パケット
12 分間隔

<01><02>__MSBROWSE__<02><01> 宛の Workgroup Announcement パケット

グループ内の各マシンが定期的にマスタブラウザに対し
Host Announcement パケットを送出
ワークグループのブラウズリストのエントリを維持

3 回更新に失敗するとブラウズリストから削除
最低でも 45 分間程度の間は表示される


ドメインマスタブラウザ(DMB)

ローカルマスタブラウザ(LMB)

PDC が存在しないセグメント

ブラウズリストの統合

Master Announcement パケット
ドメイン名<1B> に対して
12 分間隔
138/udp

マスタブラウザとバックアップブラウザ間の
ブラウズリストの交換
SMB の NULL セッション

複数セグメント間のブラウズリストの統合

必要なのは PDC ではなく DMB
DMB として機能できるプロダクト
PDC や Samba があれば良い

ドメイン名と同じ名前のワークグループに属する LMB

ファイル共有などの通信
139/tcp
SMB セッション

SS: Session Request
SMB セッション開始を宣言

SS: Positive Session Response
SMB セッションの開始を許可

※ NetBIOS 名が送信先で登録されていない場合など
    SS: Negative Session Response エラー

C negotiate, Dialect
利用可能なプロトコル一覧の提示
※ SMB プロトコルのバージョン
    通常利用されるのは NT LM 0.12

R negotiate, Dialect
利用するプロトコルの決定

C session setup & tree connect
認証情報の送信と共有への接続

R session setup & tree connect
フレームに対する可否の応答

C tree disconnect
共有からの切断

R tree disconnect

C logoff
R logoff
ログオフ
認証情報の破棄


** システムが内部的に利用する仮想的なリソース
IPC$

共有リソース一覧を取得
NetShareEnum()
IPC$ を用いる

C(Call)
R(Response)

** SMB セッションはマシン単位

切断されるまでは、接続先マシンに対する通信は
すべてセッション開設時に指定したユーザ権限で行われる

相手先を指定する名前が同一でなければ、別の認証情報を
用いてアクセスすることは可能

IP アドレスや DNS 名をしていして接続


** IPC$

イベントビューアやユーザマネージャ

** NULL アカウントと NULL セッション

\wkssvc
仮想的なリソース

代表的なもの
ドメインのユーザ一覧表示
ブラウズリストの交換

認証情報自体の交換のための SMB セッションなどで用いられる

** Direct Hosting of SMB
445/tcp
0x01BD


C session setup & X
認証情報の送信

R session setup & X - NT error, System, Error = (22)
STATUS_MORE_PROCESSING_RQUIRED

C session setup & X
R session setup & X

IPC$ 共有への接続
C tree connect & X, Share = ...
R tree connect & X, ...
C transact2 NT Get DFS Referral
R transact2 - NT error, System, Error. Code = ...
※ DFS 共有かどうかの判定

実際の共有への接続
C tree connect & X, Share = ...
R tree connect & X, ...

実際の通信

NetBIOS 名の確認などを行わない

STATUS_MORE_PROCESSING_REQUIRED
チャレンジアンドレスポンス認証を行うためのチャレンジコードが
送信されているため

セッション要求の
SMB か Direct Hosting of SMB のどちらか一方
どちらのプロトコルで要求を行うかが決定される
アルゴリズムは不明

ワークグループと認証

各マシン毎に独自の SAM (Security Account Manager) データベース
中に格納されたアカウント情報を用いる

ドメイン構成

ドメインコントローラ上に保持される SAM を用いて
ドメインに所属するマシンにアクセスする際の認証を
一元的に行うシステム

SAM
ユーザアカウント、コンピュータアカウント、
グローバルグループなど、ドメインコントローラ以外の
マシンに対する認証で利用されうる情報

Builtin
ローカルグループなど。
ドメインコントローラ上での認証にのみ利用される情報。

LSA
コンピュータアカウント、信頼関係のアカウント、
アカウントポリシーなど

コンピュータアカウント
サーバ側で、クライアントマシンをドメインに追加した時点で
作成される
コンピュータ名$

NBT
NS: Query req. for DOMAIN
NS: Query (Node Status) resp. for DOMAIN
DOMAIN<1C> の問い合わせ

Netlogon
SAM LOGON request from Client
SAM Response to SAM LOGON request
ログオン要求の送出と応答

NBT
SS: Session Request. Dest: ...
SMB セッション開始

NULL セッションによるセキュアチャネルの確立

ユーザ認証に使われる NULL セッションによるセキュアチャネルを使った通信

ユーザのログオンに伴う SMB セッションの開始

ポリシーファイル NTCONFIG.POL の呼び出しを試行

ログオンスクリプトへのアクセスや、ユーザプロファイルの
適用が設定により行われる



137/udp
名前解決やブラウジング

138/udp
ドメインログオン

139/tcp
ファイル共有

445/tcp
Direct Hosting of SMB

42/tcp
WINS の複製

MS-RPC
svchost.exe
services.exe

リソースキット
rpcdump /i


linux samba 設定ファイル

http://rootdown.cocolog-nifty.com/memo/2009/09/samba-07da.html


« linux bash shell の便利な機能 history の使い方 | トップページ | Windows パーティションの種類 »

Linux」カテゴリの記事

記事一覧

スポンサードリンク


Twitter


無料ブログはココログ

ブログ検索