как правильно настроить openfire c openldap под freebsd?
все юзаеры находятся в ou=users,dc=artpaint,dc=spb,dc=ru
группы находятся тут: ou=groups,dc=artpaint,dc=spb,dc=ru
в настройках DN указал dc=artpaint,dc=spb,dc=ru
в настройках пользователей указал:
(&(objectClass=posixAccount)(uid={0}))
не знаю насколько это вернуо, но вроде как пишет что ок:
далее группы:
в груп фильтер указываю: (&(objectClass=posixGroup)(memberUid={0}))
опять таки, вроде все ок пишет:
в итоге мы имеем такую картину:
Он видит группы (16 штук), но почему-то их не отображает:
если сделать поиск по группе он находит ее (надпись 1 группа), но опять-таки не выводит ее:
точно также при просомтре юзеров не пишется какая у них группа:
Добавлено:
вот конфиг:
Код: [f0s@mail] /usr/local/etc/openfire/> cat openfire.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file stores bootstrap properties needed by Openfire.
Property names must be in the format: "prop.name.is.blah=value"
That will be stored as:
<prop>
<name>
<is>
<blah>value</blah>
</is>
</name>
</prop>
Most properties are stored in the Openfire database. A
property viewer and editor is included in the admin console.
-->
<!-- root element, all properties must be under this element -->
<jive>
<adminConsole>
<!-- Disable either port by setting the value to -1 -->
<port>9090</port>
<securePort>9091</securePort>
</adminConsole>
<admin>
<!-- Use this section to define users that will have admin privileges. Below,
you will find two ways to specify which users are admins. Admins will
have access to the admin console (only local users) and may have also access
to other functionalities like ad-hoc commands. -->
<!-- By default, only the user with the username "admin" can login
to the admin console. Alternatively, you can specify a comma-delimitted
list usernames that should be authorized to login to the admin console
by setting the <authorizedUsernames> field below. -->
<!-- <authorizedUsernames></authorizedUsernames> -->
<!-- Comma-delimitted list of bare JIDs. The JIDs may belong to local
or remote users. -->
<!-- <authorizedJIDs></authorizedJIDs> -->
<authorizedUsernames>admin</authorizedUsernames>
</admin>
<locale>en</locale>
<!-- Network settings. By default, Openfire will bind to all network interfaces.
Alternatively, you can specify a specific network interfaces that the server
will listen on. For example, 127.0.0.1. This setting is generally only useful
on multi-homed servers. -->
<!--
<network>
<interface></interface>
</network>
-->
<connectionProvider>
<className>org.jivesoftware.database.DefaultConnectionProvider</className>
</connectionProvider>
<database>
<defaultProvider>
<driver>com.mysql.jdbc.Driver</driver>
<serverURL>jdbc:mysql://127.0.0.1:3306/JABBER</serverURL>
<username>jabber</username>
<password>jabber</password>
<minConnections>5</minConnections>
<maxConnections>15</maxConnections>
<connectionTimeout>1.0</connectionTimeout>
</defaultProvider>
</database>
<ldap>
<host>127.0.0.1</host>
<port>389</port>
<baseDN>dc=artpaint,dc=spb,dc=ru</baseDN>
<adminDN>cn=root,dc=artpaint,dc=spb,dc=ru</adminDN>
<adminPassword>password</adminPassword>
<connectionPoolEnabled>true</connectionPoolEnabled>
<sslEnabled>false</sslEnabled>
<ldapDebugEnabled>false</ldapDebugEnabled>
<autoFollowReferrals>true</autoFollowReferrals>
<usernameField>uid</usernameField>
<vcard-mapping><![CDATA[
<vCard xmlns="vcard-temp">
<N>
<GIVEN>{displayName}</GIVEN>
</N>
<EMAIL>
<INTERNET/>
<USERID>{mail}</USERID>
</EMAIL>
<FN>{displayName}</FN>
<NICKNAME>{uid}</NICKNAME>
<ADR>
<HOME/>
<STREET>{homePostalAddress}</STREET>
</ADR>
<ADR>
<WORK/>
<STREET>{postalAddress}</STREET>
<LOCALITY>{l}</LOCALITY>
<REGION>{st}</REGION>
<PCODE>{postalCode}</PCODE>
</ADR>
<TEL>
<HOME/>
<VOICE/>
<NUMBER>{homePhone}</NUMBER>
</TEL>
<TEL>
<WORK/>
<VOICE/>
<NUMBER>{telephoneNumber}</NUMBER>
</TEL>
<TEL>
<WORK/>
<CELL/>
<NUMBER>{mobile}</NUMBER>
</TEL>
<TEL>
<WORK/>
<PAGER/>
<NUMBER>{pager}</NUMBER>
</TEL>
<TITLE>{title}</TITLE>
<ORG>
<ORGUNIT>{departmentNumber}</ORGUNIT>
</ORG>
</vCard>]]></vcard-mapping>
<nameField>displayName</nameField>
<emailField>mail</emailField>
<groupNameField>cn</groupNameField>
<groupMemberField>memberUid</groupMemberField>
<groupDescriptionField>description</groupDescriptionField>
<posixMode>true</posixMode>
<groupSearchFilter>(&(objectClass=posixGroup)(memberUid={0}))</groupSearchFilter>
<searchFields>(&(objectClass=posixAccount)(uid={0}))</searchFields>
</ldap>
<provider>
<vcard>
<className>org.jivesoftware.openfire.ldap.LdapVCardProvider</className>
</vcard>
<user>
<className>org.jivesoftware.openfire.ldap.LdapUserProvider</className>
</user>
<auth>
<className>org.jivesoftware.openfire.ldap.LdapAuthProvider</className>
</auth>
<group>
<className>org.jivesoftware.openfire.ldap.LdapGroupProvider</className>
</group>
</provider>
<setup>true</setup>
</jive>
все юзаеры находятся в ou=users,dc=artpaint,dc=spb,dc=ru
группы находятся тут: ou=groups,dc=artpaint,dc=spb,dc=ru
в настройках DN указал dc=artpaint,dc=spb,dc=ru
в настройках пользователей указал:
(&(objectClass=posixAccount)(uid={0}))
не знаю насколько это вернуо, но вроде как пишет что ок:
далее группы:
в груп фильтер указываю: (&(objectClass=posixGroup)(memberUid={0}))
опять таки, вроде все ок пишет:
в итоге мы имеем такую картину:
Он видит группы (16 штук), но почему-то их не отображает:
если сделать поиск по группе он находит ее (надпись 1 группа), но опять-таки не выводит ее:
точно также при просомтре юзеров не пишется какая у них группа:
Добавлено:
вот конфиг:
Код: [f0s@mail] /usr/local/etc/openfire/> cat openfire.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file stores bootstrap properties needed by Openfire.
Property names must be in the format: "prop.name.is.blah=value"
That will be stored as:
<prop>
<name>
<is>
<blah>value</blah>
</is>
</name>
</prop>
Most properties are stored in the Openfire database. A
property viewer and editor is included in the admin console.
-->
<!-- root element, all properties must be under this element -->
<jive>
<adminConsole>
<!-- Disable either port by setting the value to -1 -->
<port>9090</port>
<securePort>9091</securePort>
</adminConsole>
<admin>
<!-- Use this section to define users that will have admin privileges. Below,
you will find two ways to specify which users are admins. Admins will
have access to the admin console (only local users) and may have also access
to other functionalities like ad-hoc commands. -->
<!-- By default, only the user with the username "admin" can login
to the admin console. Alternatively, you can specify a comma-delimitted
list usernames that should be authorized to login to the admin console
by setting the <authorizedUsernames> field below. -->
<!-- <authorizedUsernames></authorizedUsernames> -->
<!-- Comma-delimitted list of bare JIDs. The JIDs may belong to local
or remote users. -->
<!-- <authorizedJIDs></authorizedJIDs> -->
<authorizedUsernames>admin</authorizedUsernames>
</admin>
<locale>en</locale>
<!-- Network settings. By default, Openfire will bind to all network interfaces.
Alternatively, you can specify a specific network interfaces that the server
will listen on. For example, 127.0.0.1. This setting is generally only useful
on multi-homed servers. -->
<!--
<network>
<interface></interface>
</network>
-->
<connectionProvider>
<className>org.jivesoftware.database.DefaultConnectionProvider</className>
</connectionProvider>
<database>
<defaultProvider>
<driver>com.mysql.jdbc.Driver</driver>
<serverURL>jdbc:mysql://127.0.0.1:3306/JABBER</serverURL>
<username>jabber</username>
<password>jabber</password>
<minConnections>5</minConnections>
<maxConnections>15</maxConnections>
<connectionTimeout>1.0</connectionTimeout>
</defaultProvider>
</database>
<ldap>
<host>127.0.0.1</host>
<port>389</port>
<baseDN>dc=artpaint,dc=spb,dc=ru</baseDN>
<adminDN>cn=root,dc=artpaint,dc=spb,dc=ru</adminDN>
<adminPassword>password</adminPassword>
<connectionPoolEnabled>true</connectionPoolEnabled>
<sslEnabled>false</sslEnabled>
<ldapDebugEnabled>false</ldapDebugEnabled>
<autoFollowReferrals>true</autoFollowReferrals>
<usernameField>uid</usernameField>
<vcard-mapping><![CDATA[
<vCard xmlns="vcard-temp">
<N>
<GIVEN>{displayName}</GIVEN>
</N>
<EMAIL>
<INTERNET/>
<USERID>{mail}</USERID>
</EMAIL>
<FN>{displayName}</FN>
<NICKNAME>{uid}</NICKNAME>
<ADR>
<HOME/>
<STREET>{homePostalAddress}</STREET>
</ADR>
<ADR>
<WORK/>
<STREET>{postalAddress}</STREET>
<LOCALITY>{l}</LOCALITY>
<REGION>{st}</REGION>
<PCODE>{postalCode}</PCODE>
</ADR>
<TEL>
<HOME/>
<VOICE/>
<NUMBER>{homePhone}</NUMBER>
</TEL>
<TEL>
<WORK/>
<VOICE/>
<NUMBER>{telephoneNumber}</NUMBER>
</TEL>
<TEL>
<WORK/>
<CELL/>
<NUMBER>{mobile}</NUMBER>
</TEL>
<TEL>
<WORK/>
<PAGER/>
<NUMBER>{pager}</NUMBER>
</TEL>
<TITLE>{title}</TITLE>
<ORG>
<ORGUNIT>{departmentNumber}</ORGUNIT>
</ORG>
</vCard>]]></vcard-mapping>
<nameField>displayName</nameField>
<emailField>mail</emailField>
<groupNameField>cn</groupNameField>
<groupMemberField>memberUid</groupMemberField>
<groupDescriptionField>description</groupDescriptionField>
<posixMode>true</posixMode>
<groupSearchFilter>(&(objectClass=posixGroup)(memberUid={0}))</groupSearchFilter>
<searchFields>(&(objectClass=posixAccount)(uid={0}))</searchFields>
</ldap>
<provider>
<vcard>
<className>org.jivesoftware.openfire.ldap.LdapVCardProvider</className>
</vcard>
<user>
<className>org.jivesoftware.openfire.ldap.LdapUserProvider</className>
</user>
<auth>
<className>org.jivesoftware.openfire.ldap.LdapAuthProvider</className>
</auth>
<group>
<className>org.jivesoftware.openfire.ldap.LdapGroupProvider</className>
</group>
</provider>
<setup>true</setup>
</jive>