質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

AWK

AWKは、UNIX 上で開発されたプログラミング言語で、CSVファイルなどのテキストファイルの処理を目的にデザインされています。

Q&A

解決済

3回答

1708閲覧

ldapのuidNumberの最大値を取得したい

gik

総合スコア152

LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

AWK

AWKは、UNIX 上で開発されたプログラミング言語で、CSVファイルなどのテキストファイルの処理を目的にデザインされています。

0グッド

0クリップ

投稿2018/06/04 11:04

編集2018/06/05 09:23

centos7でldapに関する質問です。
ldapのuidNumberの最大値を取得したいのですが

$uidnumber=$(ldapsearch -H ldaps://your-ldap-domain -D "cn=Manager,dc=domain,dc=com" -W | awk '/uidNumber: / {print $2}' | sort | tail -n 1)

で最大値uidNumber取得できないです。
どこか間違っていますか?
すいません。教えてください。

参考にしたURL
https://www.dynobin.com/linux-find-max-uidnumber-on-ldap/
https://www.openldap.org/lists/openldap-software/200110/msg00539.html

できればパスワードを求められない方法がいいのですが。
これでいきますかね?

$prefix = "dc=hogehoge,dc=co,dc=jp" $binddn = "cn=manager,${prefix}" $basedn = "ou=People,$prefix" $ldappw = "******" ←ディレクトリマネージャーのパスワード $ldapUidCmd = $(ldapsearch -x -D $binddn -w $ldappw -b $basedn '(objectClass=posixAccount)' -LLL |grep uidNumber: |cut -f 2 -d ' ' |sort -nr |head -n 1)

参照URL
https://www.ebisawa.co.jp/wiki/index.php?LDAP/%E3%83%A6%E3%83%BC%E3%82%B6%E7%AE%A1%E7%90%86

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

-b "dc=domain,dc=com" と baseDN を指定する必要があるのではないでしょうか。
(あるいは、/etc/openldap/ldap.conf の BASE 設定)

あと、-W だと対話的にパスワードを入力することになるのですが、その入力はどうやっていますか?

まずは、シェル(コマンドライン)から ldapsearch コマンドを実行して、ユーザーの情報が取得できることを確認ください。

投稿2018/06/05 01:34

TaichiYanagiya

総合スコア12141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gik

2018/06/05 09:12 編集

確認してみます
guest

0

数値が取れていて、最大値が取得できないのであれば、sortsort -n に変更してみたらどうでしょうか。

そもそも数値が取れていないのであれば

ldapsearch

1

の結果、エラーや内容を貼り付けてください

投稿2018/06/04 16:38

scsi

総合スコア2840

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gik

2018/06/04 19:24

実は数値がとれてなくて.... わかりました。調べてみます。 ldapsearch -H ldaps://your-ldap-domain -D "cn=Manager,dc=domain,dc=com" -W の結果調べてみます
scsi

2018/06/04 23:17 編集

your-ldap-domain や cn=Manager,dc=domain,dc=com を gig さんの構築した環境に合わせないと動きませんが、それは大丈夫ですか?
gik

2018/06/05 08:59

もう一度確認します
guest

0

自己解決

$prefix = "dc=hogehoge,dc=co,dc=jp"
$binddn = "cn=manager,${prefix}"
$basedn = "ou=People,$prefix"
$ldappw = "******" ←ディレクトリマネージャーのパスワード

$ldapUidCmd = $(ldapsearch -x -D $binddn -w $ldappw -b $basedn '(objectClass=posixAccount)' -LLL |grep uidNumber: |cut -f 2 -d ' ' |sort -nr |head -n 1)

こっちの方法でいけました。
みなさんありがとうございました。

投稿2018/06/06 12:01

gik

総合スコア152

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問