다운로드
소프트웨어 개발
계정
다운로드
소프트웨어 개발
Login
Forgot Account/Password
계정 만들기
언어
도움
언어
도움
×
Login
Login Name
Password
×
Forgot Account/Password
Translation Status of 한국말
Category:
Software
People
PersonalForge
Magazine
Wiki
검색
OSDN
>
브라 우즈 소프트웨어
>
System
>
Systems Administration
>
Authentication/Directory
>
LDAP
>
LISM
>
Ticket List/Search
>
Ticket #10562
LISM
Description
Project Summary
Developer Dashboard
웹 페이지
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
다운로드
List of Releases
Stats
소스 코드
Code Repository list
CVS
View Repository
티켓
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
포럼
List of Forums
도움 (1)
Open Discussion (1)
Mailing Lists
list of ML
lism-devel
lism-users
News
Ticket #10562
Ticket List
Submit New Ticket
RSS
システムデータからマスターへの同期不備
오픈 날짜:
2007-06-10 00:25
마지막 업데이트:
2007-06-10 23:16
monitor
ON
OFF
Reporter:
ks0315
소유자:
k-sekiguchi
Type:
Bugs
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None
Details
Reply
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
dn: uid=Xoopsuser,ou=People,ou=Xoops,dc=lism,dc=com
objectClass: Person
uid: Xoopsuser
cn: 関口
mail: syncuser@lism.com
userPassword: password
businessCategory: cn=User,ou=Role,ou=Xoops,dc=lism,dc=com
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
上のデータをシステムデータXoops下に登録後
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
dn: cn=sync,ou=LDAP,dc=lism,dc=com
changetype: modify
replace: description
description: sync
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
#ldapmodify -x -H ldap://localhost:9001 -D
'cn=Manager,dc=lism,dc=com' -w secret -f desc.ldif
と入力したところ次の様なログがでてサーバがおちました。
modifications:
replace: description
one value, length 4
Cannot decode string with wide characters at
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/Encode.pm
line 166, <DATA> line 995.
Ticket History (3/3 Histories)
2007-06-10 02:05
Updated by:
k-sekiguchi
소유자
Update from
ks0315
to
k-sekiguchi
댓글 올리기
Reply
Logged In: YES
user_id=20689
LISMの設定ファイル(lism.conf)についても、教えて下さい。
2007-06-10 19:10
Updated by:
ks0315
댓글 올리기
Reply
Logged In: YES
user_id=22777
ちなみにlismの設定ファイルは
<config>
<sync>
<transaction>off</transaction>
<data name="Xoops">
<masterop>add-delete</masterop>
<masterop>modify</masterop>
<object name="User">
<syncdn>ou=People</syncdn>
<masterdn>ou=People</masterdn>
<masterattr>cn</masterattr>
<masterattr>userPassword</masterattr>
<masterattr>mail</masterattr>
</object>
</data>
<data name="CSV">
<syncop>add-delete</syncop>
<syncop>modify</syncop>
<object name="User">
<syncdn>ou=People</syncdn>
<syncattr>cn</syncattr>
<syncattr>sn</syncattr>
<syncattr>uidNumber</syncattr>
<syncattr>gidNumber</syncattr>
<syncattr>userPassword</syncattr>
<syncattr>mail</syncattr>
<syncattr>homeDirectory</syncattr>
</object>
</data>
<master>LDAP</master>
</sync>
<data name="Xoops">
<rewrite context="request" match="createtimestamp:
*([0-9]*Z)" substitution="createtimestamp: %{date2time('%1')}"/>
<rewrite context="searchResult" match="createtimestamp:
*([0-9]*)" substitution="createtimestamp: %{time2date('%1')}"/>
<container>
<oc>organizationalUnit</oc>
<rdn>ou=Xoops</rdn>
<attr name="description">Web Portal</attr>
<attr name="businessCategory">Area</attr>
</container>
<storage name="SQL" hash="MD5:hex">
<dsn>DBI:mysql:xoops:localhost</dsn>
<admin>admin</admin>
<passwd>secret</passwd>
<object name="User">
<container>
<oc>organizationalUnit</oc>
<rdn>ou=People</rdn>
</container>
<table>xoops_users</table>
<id>uid</id>
<oc>Person</oc>
<oc>inetOrgPerson</oc>
<rdn>uid</rdn>
<attr name="uid">
<column>uname</column>
</attr>
<attr name="cn">
<column>name</column>
</attr>
<attr name="sn">
<selexpr>substring(name,position(' ' in
name)+1,char_length(name)-position(' ' in name))</selexpr>
</attr>
<attr name="userpassword">
<column>pass</column>
</attr>
<attr name="mail">
<column>email</column>
</attr>
<attr name="createtimestamp">
<column>user_regdate</column>
</attr>
<strginfo>
<addproc>insert into xoops_groups_users_link(uid,
groupid) values(%o, (select groupid from xoops_groups where
group_type = 'Anonymous'))</addproc>
</strginfo>
</object>
<object name="Group">
<container>
<oc>organizationalUnit</oc>
<rdn>ou=Groups</rdn>
</container>
<table>xoops_groups</table>
<id>groupid</id>
<oc>posixGroup</oc>
<rdn>cn</rdn>
<attr name="cn">
<column>group_type</column>
</attr>
<attr name="memberuid">
<selexpr>uname</selexpr>
<fromtbls>xoops_users,xoops_groups_users_link</fromtbls>
<joinwhere>xoops_groups.groupid=xoops_groups_users_link.groupid
and xoops_users.uid=xoops_groups_users_link.uid</joinwhere>
<addproc>insert into xoops_groups_users_link(uid,
groupid) values((select id from xoops_users where uname =
'%a', %o)</addproc>
<delproc>delete from xoops_groups_users_link where
uid = (select id from xoops_users where uname = '%a') and
groupid = %o</delproc>
</attr>
</object>
</storage>
</data>
<data name="CSV">
<container>
<rdn>ou=CSV</rdn>
<oc>organizationalUnit</oc>
</container>
<storage name="CSV" hash="CLEARTEXT">
<delim>,</delim>
<object name="User">
<container>
<rdn>ou=People</rdn>
<oc>organizationalUnit</oc>
</container>
<file>/usr/local/lism/var/csv/user.csv</file>
<id>0</id>
<oc>person</oc>
<oc>inetOrgPerson</oc>
<oc>posixAccount</oc>
<rdn>uid</rdn>
<attr name="uid">
<column>0</column>
</attr>
<attr name="cn">
<column>1</column>
</attr>
<attr name="sn">
<column>2</column>
</attr>
<attr name="uidnumber">
<column>3</column>
</attr>
<attr name="gidnumber">
<column>4</column>
</attr>
<attr name="userpassword">
<column>5</column>
</attr>
<attr name="mail">
<column>6</column>
</attr>
<attr name="businesscategory">
<idcolumn>7</idcolumn>
<file>/usr/local/lism/var/csv/group.csv</file>
<id>0</id>
<value>cn=%0,ou=Role,ou=%1,dc=lism,dc=com</value>
</attr>
<attr name="homedirectory">
<column>8</column>
</attr>
</object>
</storage>
</data>
<data name="LDAP">
<container>
<oc>organizationalUnit</oc>
<rdn>ou=LDAP</rdn>
<attr name="description">LISM Master</attr>
<attr name="businessCategory">Area</attr>
</container>
<handler name="Script" type="post">
<execrule dn=".*,ou=People,ou=LDAP,dc=lism,dc=com">
<op name="add">
<script>/usr/local/lism/lib/scripts/mkhomedir.sh
add %r %i</script>
</op>
<op name="delete">
<script>/usr/local/lism/lib/scripts/mkhomedir.sh
del %r >& /tmp/log</script>
</op>
</execrule>
</handler>
<storage name="LDAP" hash="CLEARTEXT">
<uri>ldap://localhost/dc=example,dc=com</uri>
<binddn>cn=Manager,dc=example,dc=com</binddn>
<bindpw>secret</bindpw>
</storage>
</data>
</config>
2007-06-10 23:16
Updated by:
k-sekiguchi
Ticket Close date
is changed to
2007-06-10 23:16
Resolution
Update from
None
to
Fixed
Status
Update from
Open
to
Closed
댓글 올리기
Reply
Logged In: YES
user_id=20689
searchによって、システムデータとマスタデータの差分となるエン
トリを取得して、そのエントリ情報をそのままadd、modify、
deleteといった関数に渡して、他のシステムに対してデータの同期
を行なっています。このとき、add、modify、deleteに渡すエント
リ情報はperlのUTF8フラグが立っていないことを想定しています
が、searchから返って来るエントリの情報はUTF8フラグが立ってい
たため、Encode.pmがエラーを返していました。そこで、差分のエ
ントリ情報をEncode::encodeにより、UTF8フラグを落してから、
add、modify、deleteに渡すように修正しました。
Attachment File List (
0
)
Attachment File List
No attachments
Edit
Add Comment
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Login
Add Comment
Preview
Submit
dn: uid=Xoopsuser,ou=People,ou=Xoops,dc=lism,dc=com
objectClass: Person
uid: Xoopsuser
cn: 関口
mail: syncuser@lism.com
userPassword: password
businessCategory: cn=User,ou=Role,ou=Xoops,dc=lism,dc=com
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
上のデータをシステムデータXoops下に登録後
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
dn: cn=sync,ou=LDAP,dc=lism,dc=com
changetype: modify
replace: description
description: sync
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
#ldapmodify -x -H ldap://localhost:9001 -D
'cn=Manager,dc=lism,dc=com' -w secret -f desc.ldif
と入力したところ次の様なログがでてサーバがおちました。
modifications:
replace: description
one value, length 4
Cannot decode string with wide characters at
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/Encode.pm
line 166, <DATA> line 995.