web-dev-qa-db-ja.com

Ruby net:LDAPは「コード= 53メッセージ=実行したくない」エラーを返します

EDirectoryツリーベース= "ou = Users、o = MTC"をトラバースしているときに、このエラー "code = 53、message = Unwilling toperform"が発生します。私のRubyスクリプトはeDirectoryから約126のエントリを読み取ることができ、その後停止してこのエラーを出力します。なぜこれが発生しているのかわかりません。

Ruby net:LDAPライブラリバージョン0.0.4を使用しています。以下はコードの抜粋です。

require 'rubygems'
require 'net/ldap'

ldap = Net::LDAP.new :Host => "10.121.121.112",
 :port => 389,
 :auth => {:method => :simple, :username => "cn=abc,ou=Users,o=MTC", :password => "123"
 }

filter = Net::LDAP::Filter.eq( "mail", "*mtc.ca.gov" )

treebase = "ou=Users,o=MTC"

attrs = ["mail", "uid", "cn", "ou", "fullname"]

i = 0
ldap.search( :base => treebase, :attributes => attrs, :filter => filter ) do |entry|
  puts "DN: #{entry.dn}"
  i += 1
  entry.each do |attribute, values|
    puts "   #{attribute}:"
    values.each do |value|
      puts "      --->#{value}"
    end
  end
end

puts "Total #{i} entries found."
p ldap.get_operation_result

これが出力と最後のエラーです。手伝ってくれてありがとうございます。

DN:cn = uvogle、ou = Users、o = MTC

郵便物:

  --->[email protected]

フルネーム:

  --->Ursula Vogler

ou:

  --->Legislation and Public Affairs

dn:

  --->cn=uvogle,ou=Users,o=MTC

cn:

  --->uvogle

合計126のエントリが見つかりました。

OpenStruct code = 53、message = "実行したくない"

1
Yong

それで、問題はユーザー126のUIDを取得することです(私がここで見ているものに基づいて)?または、すべてのユーザーのUIDを取得し、ユーザー126の完全な出力後に停止しますか?

Uidについて:デフォルトのNovell eDirectoryインストールでは、「uid」(小文字)は、CNと同じNovellのuniqueIDにマップされます。 Unixスタイルの数値uidを取得しようとしている場合は、uidNumber属性が必要になります。インストールの管理者がいくつかの異なるLDAPマッピングを実行し、そのユーザーにuidが存在しない可能性があります(uidNumberはeDirectoryの必須またはデフォルトの属性ではなく、posixUser補助クラスを介して取得されます)。

一方、126がすべて表示されて失敗した場合は、管理者がeDirectory内のこのサーバーのLDAPサーバーオブジェクトに検索エントリ制限を設定している可能性があります。デフォルトでは、そのような制限はありません。あなたは管理者ですか?エントリを生で調べてLDAPのトラブルシューティングを行うための他のツール(今では見つけにくいJava LDAPブラウザなど)はありますか?

1
Johnnie Odom

これは私がGoogleコード検索を使用して見つけたものです:

unwillingToPerform       (53), -- unable to sort

unwillingToPerform       (53)  -- server cannot process control
0
ptman

EDirectoryサーバーにアクセスできますか?つまりこれは開発または本番のeDirectoryインスタンスですか?

そうでない場合は、管理者に監視するように依頼してください https:// serverIP:8030/nds/trace トレース構成でLDAPスイッチを有効にします。クエリと結果を確認し、eDirectoryがDstraceログでより適切なエラーを示しているかどうかを確認します。

表示される可能性のある例として、この記事ではSAP GRCによるLDAPの使用について説明しました。 SAP GRCのLDAPインターフェイスのトラブルシューティング これは、クエリと応答がどのように表示されるかを示しています。そしてそれの他のものは失敗します。

0
geoffc