2

現在、UNIX サーバー上にある LDAP を使用しています。現在の主な目的は、コマンド ラインから Ldapmodify を使用して、ディレクトリ内の 2 つのエントリを変更することです。コマンドは次のとおりです。

ldapmodify -a -D 'cn=ldap,dc=cs,dc=ttu,dc=edu' \
  -w *password* -H *server address* -f Documents/user.ldif

user.ldifファイルは次のとおりです。

dn: cn=*username*,cn=Users,dc=ttu,dc=edu  
changetype: modify  
replace: displayName  
displayName:  abc  
-
replace: loginShell  
loginShell: /bin/tc   
-

実行しようとすると、次のエラーが表示されます。

ldapmodify: invalid format (line 5) entry: "cn=*username*,cn=Users,dc=ttu,dc=edu"

「dn」を確認しましたが、正しいです。なぜこのエラーが発生するのですか?

4

4 に答える 4

2

同様の問題があります。私の場合、私の dn は正しかったのですが、「無効な形式 (16 行目) ...」と表示されます。

これが私がこれを解決した方法です。dnが実際に正しいため、エラーメッセージは誤解を招く可能性があります。しかし、行番号 "(line 5)" は、問題への正確なポインターです。あなたの場合、ダッシュ「-」が問題を引き起こしていると思います。ダッシュを削除してみてください。うまくいくかもしれません!

于 2014-02-24T23:48:40.070 に答える
0

ダッシュ(-)の文字コードの問題でしょう

Windowsでファイルを編集し、VirtualboxのcentOSで使用したため、以前に同じ問題に遭遇しました

次に、を使用して centos で新しいファイルを作成し、touchそれを使用して編集したところvi、機能しました。

于 2013-01-12T04:32:33.860 に答える
0

エントリの cn RDN は?

ディレクトリ sn=john, ou=Users ..... にエントリを持つことができます。


sn: ジョン

cn: ドウ

表示名: ジョニー

RDN は参照として使用される属性で、この場合は dn: cn=doe,.... です。

エントリが指定された値の属性を持っていても、間違っているでしょう。あなたが提供した例では、DNは最初の行であり、エラーは約5行目です。いくつかのバッチに入れたと仮定すると、おそらく SOME エントリの CN に特殊文字が含まれていますか? また、「Users」は通常、「ou」または「dc」などです。コンテナーに「Users」が cn 値の 1 つとして「cn」属性がある場合でも同様です。エントリは空の改行で区切られていますか? 上記の前のエントリの最後の変更の後に、1 つ (または複数) の改行の代わりにマイナス記号を付けませんでしたか?

ああ、ldif に多くのエントリ (変更) を入れるときは、「-n」を付けて試すのが賢明です。そして(実際には何らかの理由で覚えていません)個人的には「-f」の代わりにldifをパイプすることを好みます

猫ユーザー.ldif | ldapmodify ...オプション...

?

PS。ハハ :) 「-a」を削除してみてください。実際には ldapmodify が ldapadd に変わります :) 「単純な」認証を使用する場合は、「-x」を追加します ( -w password を使用)。

于 2012-05-28T17:15:31.490 に答える
0

私は同じ問題に遭遇しました。私の場合、エントリを区切るダッシュ (-) 文字の後に余分なスペースがありました。

たとえば、5 行目のダッシュの後のスペースに注意してください。

$cat -A sample.ldif 

dn: uid=noelp,ou=People,dc=example,dc=co,dc=us$
changetype: modify$
replace: employeeType$
employeeType: fulltime$
- $
replace: title$
title: Sr IT Analyst$
-$
replace: employeeNumber$
employeeNumber: 1299$

空白行の後にスペースがあると、同じ問題が発生する可能性があります。

于 2018-03-21T20:42:12.420 に答える