

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
idmapとは何かをざっくり理解する
idmap は identity mapping の略で、異なるアイデンティティの世界をつなぐしくみです。たとえば Windows の世界と Linux の世界をまたぐと、同じ人でもサインイン時のIDが違います。idmap は 「この SID とこの UID は同じ人だよ」という橋渡し役。こうすることで、ファイル共有や認証がスムーズになります。
idmap が活躍する場面
Samba という Linux のファイル共有ソフトウェアを使って Windows の共有に接続する場面が典型です。Windows の SID と Linux の UID を結びつける必要があり、それを idmap が担当します。NFSv4 の認証にも idmap が使われ、NFS サーバとクライアント間の UID/GID が一致するようにします。
idmap の仕組み
簡単に言うと、ある集まりの中で「誰が誰か」を決めるルールが idmap です。SID は Windows の識別子、UID/GID は Linux の識別子です。idmap はバックエンドと呼ばれる実装に依存して、どの SID がどの UID に対応するかを決めます。代表的なバックエンドには次のようなものがあります。
| バックエンドの名前 | 説明 |
|---|---|
| idmap_rid | RID ベースで、ドメインごとの RID を UID に変換します。 |
| idmap_ad | Active Directory と連携して SID を UID に結びつけます。 |
| idmap_ldb | Samba の internal database を使います。中小規模環境で使われることが多いです。 |
| idmap_tdb | TDb データベースを使う軽量バックエンドです。 |
| idmap_ldap | LDAP データベースと連携します。大規模環境で使われます。 |
これらのバックエンドがどう動くかは環境次第で、 正しいバックエンドを選ぶこととレンジの設定が重要です。レンジとは、SID や UID の範囲のことです。間違えると、同じ UID が複数のユーザーに割り当てられるなど混乱が生じます。
設定の基本
代表的な設定は Samba の設定ファイル smb.conf で行います。以下はイメージです。 実際の運用環境では管理者の指示に従い設定してください。
例として、すべてのドメインに対してデフォルトバックエンドを使い、特定ドメインには Active Directory を用いる場合を挙げます。
| 説明 | |
| idmap config * : backend | デフォルトバックエンドを設定します |
| idmap config * : range | UID の割り当て範囲を決めます |
| idmap config DOMAIN : backend | DOMAIN というドメイン名に対するバックエンドを設定します |
| idmap config DOMAIN : range | DOMAIN 用の UID レンジを設定します |
実務での検証手順
実際に idmap を設定したら、検証が大切です。まずはログを確認します。smbd のログや systemd のジャーナル、idmap のバックエンド別のログを参照して、SID と UID の対応が正しく行われているかを確かめます。
次に、Windows 側のアカウント名と Linux 側の UID が期待通り結びつくかを確認します。コマンドを使って、ユーザー名と UID の対応関係を調べ、実際のファイル権限に反映されているかを見ます。
トラブルシューティングのコツ
よくあるトラブルとして、レンジが重複している、バックエンドの設定を読み込めていない、SID と UID の対応が崩れている、権限が反映されない、時間同期が崩れて認証が失敗するといったケースがあります。これらに対処するには、設定ファイルの再確認、バックエンドの選択の見直し、レンジの衝突解消、サーバーとドメインコントローラの時刻同期の確認が基本です。
| チェック項目 | ポイント |
|---|---|
| レンジ設定 | 地域・ドメインごとに重複を避ける |
| バックエンド選択 | 環境に適したものを使う |
まとめ
idmap は異なるアイデンティティ体系をつなぐ「橋渡し」の機能です。適切なバックエンドを選び、レンジ設定を正しく行うことで、Linux と Windows のファイル共有や認証がスムーズになります。初心者のうちは設定ミスを避けるため、公式ドキュメントの手順を丁寧に追い、実機での動作検証を行うとよいでしょう。
idmapの同意語
- IDマッピング
- 異なるシステム間で同一人物を指すIDを結びつける仕組み。例: WindowsのSIDとUNIXのUIDを対応付ける作業。
- ユーザーIDの対応付け
- 各システムのユーザーIDを対応させ、同一ユーザーを別システムでも識別できるようにする作業。
- 識別子の対応付け
- 複数のシステムで使われる識別子を相互に対応づける処理。
- ID紐付け
- IDを別のIDやアカウントと結びつけて関係付けること。
- アカウントIDの対応付け
- アカウントIDを他のシステムのIDへ対応づける具体的な作業。
- 識別子のマッピング
- 異なる識別子同士を対応づけて、同一人物を指すようにする処理。
- アイデンティティマッピング
- アイデンティティ情報を別システムのIDに結びつける概念。
- アイデンティティ連携
- 複数システム間でアイデンティティ情報を連携させ、同一人物認識を保つ仕組み。
- ID連携
- システム間でID情報を共有・統合するための連携機能。
- 同一人物のID対応付け
- 異なるID体系を持つシステム間で、同一人物を示すIDを結びつけること。
- 識別子紐付け
- 複数の識別子を結びつけ、同一アイデンティティを示すようにする作業。
- IDマッピングデーモン
- IDのマッピングを自動的に行う背景プロセス(例: idmapd)。
idmapの対義語・反対語
- 未マッピング
- IDの対応付けを行わない状態。あるシステムのIDと別システムのIDを結びつけるマッピングが欠如していること。
- 未割り当て
- 特定のIDが割り当てられていない状態。IDの対応付けが定義されていないこと。
- ローカルIDのみ使用
- 外部IDとの紐付けを行わず、ローカルのIDだけで運用する状態。
- 非識別マッピング
- 識別情報を他のIDへ結び付けない、または識別情報のマッピングを行わない状態。
- 不一致マッピング
- ID同士の対応関係に不整合があり、正しく対応付けられていない状態。
- 脱紐付け
- 既存のID紐付けを解除する行為。IDの対応付けを取り消すこと。
- 匿名化されたIDを保持
- 個人を特定できる識別情報をマッピングせず、匿名状態のままIDを保持すること。
- 直接ID使用
- IDのマッピングを介さず、直接的にローカルIDや別のIDを使用する運用状態。
idmapの共起語
- idmapd
- SambaのIDマッピングを実行するデーモン。Windows SIDとUnix UID/GIDの対応を処理する中心的なサービス
- winbind
- Sambaの認証・名前解決機能。SIDとUnix UID/GIDの対応付けを解決するサービス
- idmap.conf
- IDマッピングの設定を格納する設定ファイル。idmapdやSambaの動作を決定する
- idmap config
- ドメインごとにIDマッピングの設定を記述するセクション。バックエンドや範囲を指定
- idmap backend
- IDマッピングの実装バックエンドを指定する設定。tdb, rid, ldap, ad など
- idmap rid
- RIDバックエンド。WindowsのRIDを UnixのUID/GID へ対応付ける方式
- idmap tdb
- TDbバックエンド。軽量で中規模環境向けのIDマッピングバックエンド
- idmap ldap
- LDAPバックエンド。LDAP/Active Directoryと連携してIDをマッピング
- idmap ad
- ADバックエンド。Active Directoryと連携してIDをマッピング
- uidNumber
- POSIX属性の一つ。Unix側のUIDを表す属性名(RFC2307準拠で使われる)
- gidNumber
- POSIX属性の一つ。Unix側のGIDを表す属性名(RFC2307準拠で使われる)
- RFC2307
- LDAP/ADにPOSIX属性を格納する標準。uidNumber/gidNumberなどを含む
- RFC2307bis
- RFC2307の拡張仕様。追加の属性や運用オプションを提供する
- SID
- Windows系の識別子。idmapでSIDとUID/GIDを対応付ける際に使われる
- UID
- Unix系のユーザーID。idmapでSIDと対応付けられる値
- GID
- Unix系のグループID。idmapでSIDと対応付けられる値
- smb.conf
- Sambaの主設定ファイル。idmap設定を含む多くの設定を管理
- ドメイン
- IDマッピングが適用される対象のドメイン名。例: EXAMPLE
- idmap range
- idmap config DOMAIN:range の設定。UID/GIDの利用範囲を指定
- Active Directory
- Microsoftのディレクトリサービス。idmapバックエンドがADと連携する場合の対象
- Samba
- SMBサーバーの総称。idmapを含む認証・ファイル共有機能を提供
- Kerberos
- 認証プロトコル。ADと連携する際の核心要素として関係
- nsswitch.conf
- 名前解決の設定ファイル。winbind経由でID解決を有効にする場合に関連
- realm
- Kerberosの領域名。AD連携時には重要な概念
- RID-based mapping
- RIDを使ってUID/GIDを割り当てるIDマッピング方式
- POSIX
- POSIX標準。idmapで扱われる属性がPOSIX準拠かを示す概念
idmapの関連用語
- Identity Mapping
- idmapの総称。WindowsのSIDとUnixのUID/GIDを対応づける仕組みで、Samba/SSSDなどが利用します。
- SID (Security Identifier)
- Windowsのアカウントを一意に識別する識別子。ドメインSIDにRIDを組み合わせてSIDが作られます。
- UID / GID
- Unix系のユーザーIDとグループID。idmapの最終的なUnix側IDとして用いられます。
- RID
- Windows側の相対識別子。Domain SIDに加えてSIDを構成する要素で、idmap_ridなどのバックエンドで使われます。
- idmap
- Sambaが提供するIDマッピング機能全体。SID ↔ UID/GIDの変換を担うバックエンドを統括します。
- idmap_ad
- Active Directoryバックエンド。ADのSIDをUnixのUID/GIDへ対応づけます。
- idmap_rid
- RIDバックエンド。RIDベースでUID/GIDを割り当て、独立ドメインで有効なマッピングを提供します。
- idmap_tdb
- TD Bバックエンド。Sambaの内部データベース(tdblib)を用いたIDマッピングバックエンド。
- idmap_ldb
- LDBバックエンド。LDBデータベースを用いたIDマッピングバックエンド。
- idmap_ldap
- LDAPバックエンド。OpenLDAPなどLDAPディレクトリからUID/GIDを取得してマッピングします。
- UNIX属性 (RFC 2307)
- LDAP/Active DirectoryにposixAccount/posixGroupを定義し、uidNumber/gidNumber、loginShell、homeDirectoryを持つ標準。idmapでのUID/GID決定に用いられます。
- RFC 2307bis
- RFC 2307の拡張仕様。追加属性や運用の改善を含むLDAPスキーマ。
- Active Directory
- Microsoftのディレクトリサービス。idmap_adを使ってADとUnixのIDを連携します。
- Windowsドメイン
- Windowsのドメイン環境。IDマッピングはこのドメインのSIDとRIDで行われることがあります。
- Winbind
- Sambaの名前解決・認証・IDマッピングを担当するデーモン。AD/ドメインとの連携を実現します。
- Samba
- SMB/CIFSのサーバーソフト。Windows互換のファイル共有とドメイン連携を提供します。
- nsswitch (Name Service Switch)
- passwd/groupの解決に使われる仕組み。winbindやSSSDと組み合わせてID情報を得ます。
- SSSD
- System Security Services Daemon。LinuxでAD/LDAPと連携してID解決を行い、id_provider設定でIDマッピングを行います。
- POSIX属性
- LDAP/ADにおけるposixAccount/posixGroupの属性。uidNumber/gidNumber、homeDirectory、loginShellを表します。
- uidNumber
- LDAP/ADに格納されるUnix側のユーザーID。idmapのUIDの元となることがあります。
- gidNumber
- LDAP/ADに格納されるUnix側のグループID。idmapのGIDの元となることがあります。
- homeDirectory
- ログイン時のホームディレクトリ。POSIX属性の一部として保存されます。
- loginShell
- ログイン時のシェル。POSIX属性の一部として保存されます。
- posixAccount
- LDAPのオブジェクトクラス。ユーザーのPOSIX属性を表します。
- posixGroup
- LDAPのオブジェクトクラス。グループのPOSIX属性を表します。
- LDB
- Sambaの内部データベース(Lightweight Directory Backend)を指します。idmap_ldbで利用されます。
- Domain SID
- ドメインを一意に識別する識別子。RIDと組み合わせて個別SIDを形成します。
- Kerberos
- 認証プロトコル。AD連携時に Kerberos 認証が一般的で、IDマッピングと併用されます。



















