unicornidm.template.samba_ldap(5)
===================================

概要
-----

::

    unicornidm.conf, templates/<name>.py

説明
------

バックエンドセクションのうち、 *type* が *samba_ldap* となっているバックエンドは、
Samba と連携している LDAP サーバーへの接続に関する設定を行います。

各バックエンドには必ずテンプレートファイルを用意する必要があります。
テンプレートファイルとは Unicorn ID Manager の任意属性をバックエンド固有の属性に
マッピングするためのものです。

パラメーター
--------------

:doc:`unicornidm-template-ldap` のパラメーターに加えて以下のパラメーターを設定します。

samba_domain_sid
    Samba のドメイン SID を指定します。

テンプレート
-------------

以下は、 samba_ldap のテンプレートファイルの例です。

::

    User = {
        "objectClass": [
            "top",
            "person",
            "organizationalPerson",
            "inetOrgPerson",
            "posixAccount",
            "sambaSamAccount",
        ],
        "uid": userName,
        "cn": userName,
        "uidNumber": default(uidNumber),
        "gidNumber": default(gidNumber, 100),
        "loginShell": default(loginShell, "/bin/bash"),
        "homeDirectory": default(unixHomeDirectory, "/home/%(userName)s"),
        "sn": familyName,
        "givenName": givenName,
        "userPassword": password,
        "mail": mail,
        "description": default(description),
        "displayName": default(displayName, "%(familyName)s %(givenName)s"),
        "sambaAcctFlags": default(sambaAcctFlags, "[UX         ]"),
    }


    Group = {
        "objectClass": [
            "top",
            "posixGroup",
            "sambaGroupMapping",
            ],
        "cn": groupName,
        "gidNumber": default(gidNumber),
        "description": default(description),
    }


注意すべき点は以下のとおりです。

* User と Group の辞書には必ず、 *objectClass* を list 型で指定する必要があること

* *objectClass* で必須の属性を必ず含めること
