ldap_add ত্রুটি (80) <olcModuleLoad> হ্যান্ডলারটি 1 দিয়ে প্রস্থান করা হয়েছে


8

আমি ক্লিন্ট প্রমাণীকরণের জন্য একটি বেসিক এলডিএডি সার্ভার (ওপেনএলডিএপি) সেটআপ করার জন্য এই টিউটোরিয়ালটি অনুসরণ করার চেষ্টা করছি , তবে আমি যে ধাপে আমি ব্যাক-এন্ড কনফিগারেশন যুক্ত করছি তাতে আটকে আছি।

আমি নির্দিষ্ট হিসাবে আমার ব্যাকএন্ড.ল্ডিফ ফাইলটি তৈরি করেছি এবং আমি এটির সাথে যুক্ত করার চেষ্টা করছি:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif

তবে আমি পেয়েছি:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
    additional info: <olcModuleLoad> handler exited with 1

সম্পূর্ণ এলডিআইএফ হ'ল:

#Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=mydomain,dc=us
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=mydomain,dc=us
olcRootPW: dmx512
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=mydomain,dc=us" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=mydomain,dc=us" write by * read

সমস্যা সমাধানের জন্য কোনও পরামর্শ? আমি এলডিএপি সার্ভার সম্পর্কে কিছুই জানি না এটি আমার প্রথম।

হালনাগাদ:

আমি 11.04 সার্ভারের একেবারে নতুন ইনস্টল শুরু করেছি।

আমি নিম্নলিখিতগুলি করেছেন:

hostname ldap.mycompany.com
nano /etc/hosts (set to ldap.mycompany.com)
nano /etc/hostname (set to ldap.mycompany.com)
sudo apt-get install slapd ldap-utils

আমি প্রথম স্কিমা লোড করার চেষ্টা করি:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif

আমি পাই:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
    additional info: olcAttributeTypes: Duplicate attributeType: "0.9.2342.19200300.100.1.2"

আমি নীচে প্রস্তাবিত আদেশটি চেষ্টা করেছিলাম:

root@ldap:~# cat /etc/ldap/slapd.d/cn\=config/cn\=module\{0\}.ldif
dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
structuralObjectClass: olcModuleList
entryUUID: 3bedbe64-e4b2-1030-832a-17900c7b3644
creatorsName: cn=config
createTimestamp: 20120206020131Z
entryCSN: 20120206020131.785958Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20120206020131Z

তবে এটি এখন কোনও মডিউল সম্পর্কে কমপ্লাই করে না, এটি একটি "নকল বৈশিষ্ট্য টাইপ" সম্পর্কে অভিযোগ করে।

সুতরাং আমার একটি কমান্ড দরকার যা "" লোডেড অ্যাট্রিবিউট টাইপগুলি দেখান "বলে" কোসাইন "ইতিমধ্যে তালিকায় রয়েছে কিনা তা দেখতে?

ঠিক আছে, আমি ওকে ধরে নিচ্ছি যে:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif

তারা সমস্ত পণ্য একই ত্রুটি যেহেতু অপ্রয়োজনীয়।

সুতরাং আমি adding / ব্যাকএন্ড.ল্ডিফ যোগ করতে চলেছি। আমি উপরে থেকে লোড মডিউল লাইনগুলি সরিয়েছি, যেহেতু মডিউলটি ইতিমধ্যে লোড হয়েছে বলে মনে হচ্ছে।

এখন যখন আমি যুক্ত করার চেষ্টা করব:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif

আমি পাই:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcDatabase=hdb,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
    additional info: <olcSuffix> namingContext "dc=mycompany,dc=us" already served by a preceding hdb database

কম্পিউটারে এটিই একমাত্র ডাটাবেস হওয়ায় কোন ফল হয় না এবং এটি এটিতে প্রথম যুক্ত হ'ল।

উত্তর:


6

ত্রুটি বার্তাটি নির্দেশ করে যে back_hdbমডিউলটি ইতিমধ্যে কনফিগারেশনে অন্তর্ভুক্ত রয়েছে। আপনি কমান্ড দিয়ে এটি যাচাই করতে পারেন

cat /etc/ldap/slapd.d/cn\=config/cn\=module\{0\}.ldif

এতে যদি নীচের মতো লাইনগুলি অন্তর্ভুক্ত থাকে তবে এটি ইতিমধ্যে অন্তর্ভুক্ত রয়েছে:

olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb 

যদি এটি হয় তবে আপনার প্রথম ছয়টি লাইন সরান backend.ldifএবং আবার চেষ্টা করুন।

আপনি যদি স্ক্র্যাচ থেকে শুরু করতে চান তবে আপনি কমান্ডটি ব্যবহার করতে পারেন

apt-get purge slapd ldap-utils

সমস্ত ডেটা ফাইল সহ সম্পূর্ণ এলডিপ্যাপ ইনস্টলেশন থেকে মুক্তি পেতে।

এর পরে, আপনাকে সংশ্লিষ্ট কমান্ড দিয়ে ওপেনলডিএপি পুনরায় ইনস্টল করতে হবে

apt-get install slapd ldap-utils

বিটিডাব্লু, আমি এই টিউটোরিয়ালটি অনুসরণ করেছি (তাদের স্ক্রিপ্ট থেকে সমস্ত ডিফল্ট মান ব্যবহার করার সময়) এবং এটি একটি সদ্য নির্মিত লুসিড ভিএম-তে দুর্দান্ত কাজ করেছে।


সম্পাদন করা

ঠিক আছে, আপনার অন্য পোস্টে আপনি 10.04 সম্পর্কে কথা বলেছেন। আসলে, slapd10.04 এর তুলনায় 11.04 এর জন্য অটো কনফিগারেশনটি আরও ভাল। এটি আপনার জন্য যা করে তা হ'ল স্কিমা ফাইল এবং ব্যাকএন্ড.ল্ডিফ এবং সামনের অংশের একটি অংশ সম্পর্কিত টিউটোরিয়ালের সমস্ত কিছুই: আপনি নীচের লাইনগুলি ফ্রন্ট্টড.ল্ডিফ থেকে সরাতে পারেন এবং সেখান থেকে চালিয়ে যাওয়ার চেষ্টা করতে পারেন:

# Create top-level object in domain
dn: dc=tuxnetworks,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: Tuxnetworks
dc: Tuxnetworks
description: LDAP Server 

# Admin user.
dn: cn=admin,dc=tuxnetworks,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: mypassword 

আরও কিছু ইঙ্গিত: cn=configওপেনডিএডিএপ ( ) এর ব্যাকেন্ড কনফিগারেশন এলডিএপি স্ট্রাকচারের সমতুল্য একটি ফাইল সিস্টেম স্ট্রাকচারে এলডিআইএফ ফাইল সংগ্রহ ছাড়া আর কিছু নয়। আপনি নিজে এটিতে ব্রাউজ করতে পারেন /etc/ldap/slapd.d। 10.04 এর slapdকাজ করার জন্য সেখানে সর্বনিম্ন ন্যূনতম ছিল , যখন 11.04 সবকিছু প্রস্তুত করেছিল যাতে আপনি ঠিক শুরু করতে পারেন।


আমি আবার পুরো জিনিসটি করার চেষ্টা করতে যাচ্ছি। আমি একটি 11.04 ভিএম এ করছি। নতুন সংস্করণে কিছুটা বেমানান থাকতে পারে? অথবা 11.04 এর সাথে আসা ওপেনলডিএপ সংস্করণটি ইতিমধ্যে 10 মডিউল যেখানে মডিউলটি লোড হয়েছে? সুতরাং আমি যদি এলডিএপ ইনস্টল করি এবং এটি স্ক্রু আপ করি তবে "আপ্ট-গেট পুরেজ স্ল্যাপড এলডিপ-ইউপস" চালানো একই হবে যদি আমি একটি ক্লিন ইনস্টল দিয়ে শুরু করেছি? এটি কোনও "আবর্জনা" কোথাও ছেড়ে যায় না?
নিক

ঠিক আছে, আমি আবার একটি নতুন ইনস্টল দিয়ে চেষ্টা করেছি এবং "কোসাইন" স্কিমাটি লোড করার চেষ্টা করার সময় একটি "অ্যালকাআট্রিবিউট টাইপস: নকল বৈশিষ্ট্য টাইপ" পেয়েছি। সম্পূর্ণ বার্তা জন্য দয়া করে উপরে দেখুন।
নিক

আমার সম্পাদনা দেখুন, এটি একটি মন্তব্যের জন্য দীর্ঘায়িত হচ্ছে।
সেভেন

আমি 10.04 ব্যবহার করে আবার টিউটোরিয়াল অনুসরণ করে এলডিএপ কাজ করেছি working আমি শিরোনাম হিসাবে চিহ্নিত করছি কারণ এটি শিরোনাম প্রশ্নের উত্তর দেয়। ধন্যবাদ!
নিক

1

back_hdb এর শেষে .la যুক্ত করুন

এলডিআইএফ এখন পড়া উচিত

#Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb.la

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=mydomain,dc=us
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=mydomain,dc=us
olcRootPW: dmx512
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=mydomain,dc=us" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=mydomain,dc=us" write by * read

ব্যাখ্যার জন্য: http://ubuntuforums.org/archive/index.php/t-1594138.html

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.