Ldapsearch ব্যবহার করে গ্রুপের সদস্যদের তালিকা করা


12

আমাদের কর্পোরেট এলডিএপ ডিরেক্টরি একটি স্নো চিতা সার্ভার ওপেন ডিরেক্টরি সেটআপে রাখা হয়েছে। আমি বাহ্যিকভাবে প্রমাণীকরণের ldapsearchজন্য অন্য বাহ্যিক LDAP সার্ভারে আমদানির জন্য একটি .ldif ফাইল রফতানি করার সরঞ্জামটি ব্যবহার করার চেষ্টা করছি ; মূলত অভ্যন্তরীণ এবং বাহ্যিকভাবে একই শংসাপত্রগুলি ব্যবহার করতে সক্ষম হবার চেষ্টা করছেন।

আমি ldapsearchকাজ করেছি এবং আমাকে "ব্যবহারকারী" ওইউ-তে সমস্ত কিছুর বিষয়বস্তু এবং বৈশিষ্ট্যগুলি দিয়েছি এবং এমনকি আমার প্রয়োজনীয় বৈশিষ্ট্যগুলিতেও ফিল্টার করছি:

ldapsearch -xLLL -H ldap://server.domain.net / 
 -b "cn=users,dc=server,dc=domain,dc=net" objectClass / 
 uid uidNumber cn userPassword > directorycontents.ldif

এটি আমাকে ব্যবহারকারী এবং বৈশিষ্ট্যগুলির একটি তালিকা দেয় যা আমি আমার দূরবর্তী ওপেনলডিএপি সার্ভারে আমদানি করতে পারি।

dn: uid=username1,cn=users,dc=server,dc=domain,dc=net
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: organizationalPerson
uidNumber: 1000
uid: username1
userPassword:: (hashedpassword)
cn: username1

যাইহোক, যখন আমি "ধারক" এর পরিবর্তে কোনও ওডি "গ্রুপ" তে একই প্রশ্নটি চেষ্টা করি, ফলাফলগুলি এরকম কিছু:

dn: cn=groupname,cn=groups,dc=server,dc=domain,dc=net
objectClass: posixGroup
objectClass: apple-group
objectClass: extensibleObject
objectClass: top
gidNumber: 1032
cn: groupname
memberUid: username1
memberUid: username2
memberUid: username3

আমি যা চাই তা হল শীর্ষস্থানীয় উদাহরণগুলির ব্যবহারকারীদের একটি তালিকা যা তাদের গ্রুপ সদস্যতার উপর ভিত্তি করে ফিল্টার করা হয়েছে তবে দেখে মনে হচ্ছে এটির ব্যবহারকারীর অ্যাকাউন্টের দিকের চেয়ে গ্রুপের পক্ষ থেকে সদস্যতা সেট করা আছে। এটিকে ফিল্টার করার একটি উপায় থাকতে হবে এবং কেবল আমার যা প্রয়োজন তা রফতানি করতে হবে, তাই না?

উত্তর:


4

আমি এলডিএপি নিয়ে কাজ করি তবে সার্ভারের নির্দিষ্ট ব্র্যান্ডটি নয়।

প্রথম যেটি আমি চেষ্টা করব তা হ'ল আপনার উদাহরণটি যেমনভাবে সীমাবদ্ধ না করে ব্যবহারকারীরা তাদের সমস্ত বৈশিষ্ট্যগুলি টানছেন তেমন একটি অনুসন্ধান।

ldapsearch -xLLL -H ldap://server.domain.net \
    -b "cn=users,dc=server,dc=domain,dc=net" uid=username1 \* +

প্রায়শই ব্যবহারকারীর মধ্যে একটি "সদস্যআফ" বৈশিষ্ট্য রয়েছে যা একটি গ্রুপের নাম বা গোষ্ঠী ডিএনকে তালিকাভুক্ত করে যে ব্যবহারকারীরা যে গোষ্ঠীতে আছেন সেগুলি গ্রুপের তথ্যের সাথে সামঞ্জস্য রেখে রেখেছেন। যদি সেখানে থাকে তবে আপনি যা চান তা করার এটি সহজতম উপায়।

এটি *সমস্ত ব্যবহারকারীর বৈশিষ্ট্য (ডিফল্ট আচরণ) এবং এটি +সমস্ত ক্রিয়াকলাপের বৈশিষ্ট্য (বিশেষ বৈশিষ্ট্য) দখল করবে।


এটি একটি পুরানো থ্রেড তবে এটি উল্লেখ করা উচিত যে ওপেনএলডিএপ (ওপেন ডিরেক্টরিের ভিত্তি) memberOfএকটি অপারেশনাল বৈশিষ্ট্য এবং স্পষ্টভাবে অনুরোধ করা দরকার needs ldapsearchএখানে প্রস্তাবিত মতো কেবল ফিরে আসবে না memberOf, তা বিদ্যমান থাকলেও। এটিও উল্লেখ করা উচিত যে memberOfওভারলেটি সাধারণত ডিফল্ট হিসাবে সক্ষম হয় না, যদিও ওএস এক্স এবং ওপেন ডিরেক্টরিতে এটি কীভাবে পরিচালনা করা হয় তা আমি জানি না।
ড্যাফ

@ ড্যাফ আমি বিশ্বাস করি যে ++ এর সমস্ত অপারেশনাল গুণাবলী পাওয়া উচিত ...
ফ্রেইহাইট

আহ, সত্যিই। আপনার আপডেট ldapsearchকরা বিজ্ঞাপন হিসাবে কাজ করে।
ডাফ

0

আপনি কি বিভিন্ন ধারকগুলিতে অবস্থিত ব্যবহারকারীর জিনিসগুলি রেখে গোষ্ঠীগুলির প্রতিনিধিত্ব করার লক্ষ্য রাখছেন? ভালো লেগেছে:

dn: uid=username1,cn=users,cn=accounting,dc=server,dc=domain,dc=net
...
dn: uid=username2,cn=users,cn=engineering,dc=server,dc=domain,dc=net
...

যদি তা হয় তবে আমি আশা করি আপনাকে এলডিএফ ম্যাসেজ করার জন্য একটি স্ক্রিপ্ট লিখতে হবে। চমৎকার পাইথন-এলডিএপি মডিউল চেষ্টা করে দেখুন ।

আপনি যদিও এটি করতে চান তা আমি জিজ্ঞাসা করব। এটি একাধিক গোষ্ঠীর অন্তর্ভুক্ত ব্যবহারকারীদের কাছে অগোছালো করে তোলে এবং এটি ওপেন ডিরেক্টরির সম্মেলনের বিরোধী contrary আপনি কেবল নিজের ওপেনলডিএপি সার্ভারে সমস্ত ব্যবহারকারীর এবং গোষ্ঠী অবজেক্টগুলি অনুলিপি করতে পারবেন না এবং গোষ্ঠী সদস্যতার ভিত্তিতে এটি অনুসন্ধান করতে পারবেন না বরং ব্যবহারকারী কোন বস্তুটিতে উপস্থিত রয়েছে?


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