web-dev-qa-db-ja.com

OpenLDAPの新規インストールにログインできません

Oracle VM VirtualboxにUbuntu Server 14.04.1 64ビットバージョンの新しいコピーをインストールし、OpenSSHもインストールしました。私がしたステップ:

  1. Sudo apt-get install slapd ldap-utils

  2. nano /etc/ldap/ldap.confここにBASE dc=elemer,dc=localURI ldap://192.168.0.14と入力しました

  3. Sudo apt-get install phpldapadmin

  4. Sudo nano /etc/phpldapadmin/config.phpおよびすべての「dc = example、dc = com」を「dc = elemer、dc = local」に置き換えました

  5. 物理マシンからwebbrowserを起動し、192.168.0.14/phpldapadminと入力します。Webページが起動し、パスワードを入力します(LDAPパスワードをルートと同じに設定します)。

  6. LDAPは私を笑って言う

「LDAPサーバーMy LDAP Serverに接続できません

エラー:ユーザーの資格情報が無効です(49)

サーバーへの認証に失敗しました

ユーザー名かパスワードが無効"

パスワードは間違いなく正しいです。他の仮想マシンを作成し、無差別にプロセスを繰り返し、時には異なるアプローチを使用しましたが、それを正しくすることはできませんでした。

  1. ldapsearch -xを実行すると、「結果:32そのようなオブジェクトはありません

  2. ldapaddを実行してパスワードを入力すると、次のように表示されます。

ldap_sasl_interactive_bind_s: INvalid credentials (49) additional info: SASL(-13): user not found: no secret in database

  1. ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=com dnNo such object (32)を提供します
5
elemer82

だから、すべてのubuntuの最初は、重要なフェーズを省略するLDAPについての長い方法( https://help.ubuntu.com/14.04/serverguide/openldap-server.html )を作成することに成功しています:

Slapdをインストールした後、Sudo dpkg-reconfigure slapdを実行し、次を選択する必要があります。NO-your.domain.com-組織名-パスワード-パスワード- HDB-はい-はい-いいえ

dc = example、dc = com ldap ditはどこですか? で解決策を見つけました

mur をありがとう

5
elemer82

編集:どうやらこれは非常に広範に広がる問題であり、他の多くのフォーラムで実行可能な発言なしに報告されています。しばらく前に、ここでその解決策を解決して報告しましたが、しばらくして、手順をやり直したいと思ったときに、うまく複製できないと再確認しました。何度か試行錯誤を繰り返した後、ここで手順を説明しますが、今回は詳細を省略しません。うまくいけばそれが役立つ。手順を開始する前に、マシンのIPアドレスを持っていることを確認してください(たとえば、ifconfig、たとえば192.168.33.10を使用)

  1. ホスト名の確認/変更:ファイル/etc/hostnameを開きます。そこにあるものをすべて削除して、ドメインに置き換えてください(例:myserver.org)。

  2. openLDAPパッケージのインストール:3つのパッケージslapdldap-utilsおよびphpldapadminが必要です。 slapdをインストールすると、管理者パスワードの入力が求められます。

  3. openLDAPの設定:/etc/ldap/ldap.confを開き、以下の行のコメントを解除します(行の先頭から#を削除します)

    BASE dc = example、dc = com

    URI ldap://ldap.example.com ldap://ldap-master.example.com:666

    に変更します

    BASE dc = myserver、dc = org

    URI ldap://192.168.33.10 ldap://192.168.33.10:666

    サンプルIP 192.168.33.10をIPアドレスに置き換える必要があることを忘れないでください。

  4. phpldapadminの構成:エディターで/etc/phpldapadmin/config.phpを開きます。 $servers->setValueを持つ行を探し、127.0.0.1をサーバーのIPアドレスに変更します。すべてのexamplesおよびcomsをステップaで設定した用語に変更します

  5. OpenLDAPサーバーを再構成します:OpenLDAPサーバーを再構成する必要があります(実際に理由はわかりません!)Sudo dpkg-reconfigure slapdを選択してから、NO-> myserver.com-> OrganisationName-を選択します> password-> password-> HDB-> NO-> YES-> NO

  6. これで問題は解決するはずです。しかし、先に進むと、 この投稿では と説明されている別の問題があります。リンクの指示に従って解決できます

Anandd Nayyarに感謝し、これらの問題を解決するのに大いに役立った his youtube video を参照してください。

1
Foad

これらの手順に従いました。これは私のために働いた。

最初にSudo apt-get remove <package>を使用してすべてのパッケージ(インストールしたLDAPパッケージを意味します)を削除してから、次の手順を実行します。

ステップ1:OpenLDAPをインストールする

  1. Sudo apt-get install slapd ldap-utils
  2. 管理者パスワード/ルートパスワードを与える
  3. 管理者/ルートのパスワードを再入力します

ステップ2:OpenLDAPを構成する

  1. Geditで/etc/ldap/ldap.confファイルを開きます
  2. ファイルが次のようになっていることを確認します。

    #LDAP Defaults
    #See ldap.conf for details
    #This file should be world readable but not world writable.
    BASE dc=ldap,dc=com
    URI ldap://localhost:389
     12
     15
    never
    #TLS certificates (needed for GnuTLS)
    TLS_CACERT /etc/ssl/certs/ca-certificates.crt*
    
  3. ファイルを保存して終了します

ステップ3:更新された値でslapdを再構成します

  1. Sudo dpkg-reconfigure slapd
  2. 「いいえ」を選択してEnterを押します
  3. DNSドメイン名を入力してくださいldap.com
  4. 組織名を入力:任意の名前を入力します。 Anagh Software
  5. LDAP管理者パスワードを入力してください
  6. バックエンドデータベースを選択する
  7. デフォルトのみを選択
  8. 次の画面で「いいえ」を選択します
  9. [はい]をクリックして古いデータベースを移動します
  10. LDAPv2プロトコルの下で「いいえ」を選択します

ステップ4:openLDAPをテストする

  1. ldapsearch -x
  2. PART-B LDAPサーバー管理
  3. phpldapadminパッケージをインストールします

    Sudo apt-get install phpldapadmin
    
  4. Sudo gedit /etc/phpldapadmin/config.php

  5. 次の値を編集します

    1. LDAPサーバー名を設定する

      $servers->setValue('server','name', Anagh LDAP Server');
      
    2. LDAPサーバーのIPアドレスを設定します

      $servers->setValue('server','Host','IP-Address');
      
    3. サーバーのドメイン名を設定する

      $servers->setValue('server','base',array('dc=ldap,dc=com'));
      
    4. サーバーのドメイン名を再度設定します

      $servers->setValue('login','bind_id','cn=admin,dc=ldap,dc=com');
      
  6. 以下の行はコメント化されます。コメントを外してからtrueに設定します

    $config->custom->appearance['hide_template_warning'] = true;
    
  7. ファイルを保存して終了します

  8. Apache2を再起動します
  9. Webブラウザを開く
  10. 次に、IPアドレス/ phpldapadmin
0
Anagh Hegde

だから私はこの投稿を読んだ後にチュートリアルを作成しました+ 別の投稿 +いくつかの youtubeビデオ を見て、ついにそれを取得しました。 ESXIサーバーを使用すると、証跡とエラーが時間的に問題になりません

https://www.freesoftwareservers.com/index.php/2016/07/13/install-ldap-phpldapadmin-ubuntu-14-04/

https://youtu.be/BU48SA2uv1s

Hostname     : ldap.freesoftwareservers.com
[DOMAIN]     : freesoftwareservers
[LDAPIP]     : 192.168.1.200

テキストをコピーしてから検索と置換

[LDAPIP]    = Ldap Servers IP Address
[DOMAIN]    = Root domain without .com IE: freesoftwareservers
[COMNETORG] = .com or .net or .org or .whatever

Sudo su
apt-get update
apt-get install -y Apache2 slapd ldap-utils phpldapadmin
sh -c 'echo "BASE dc=[DOMAIN],dc=[COMNETORG]\nURI ldap://[LDAPIP]" >> /etc/ldap/ldap.conf'

dpkg-reconfigure slapd

以下を入力してください:

NO
[DOMAIN].[COMNETORG]
[DOMAIN]
Admin PWD (Note this is the Ldap User "Admin" PWD, doesn't have to be root/Sudo users PWD)
Admin PWD
HDB
NO
YES
NO

「127.0.01」のすべてのインスタンスを[LDAPIP]に置き換え、dc = exampleのすべてのインスタンスをdc = [DOMAIN]に置き換えます

sed -i -e 's/127.0.0.1/[LDAPIP]/g' /etc/phpldapadmin/config.php 
sed -i -e 's/dc=example/dc=[DOMAIN]/g' /etc/phpldapadmin/config.php

.comを使用していませんか?次に、以下も実行します

sed -i -e 's/dc=com/dc=[COMNETORG]/g' /etc/phpldapadmin/config.php

デフォルトのシェルを/ bin/bashに、デフォルトのホームディレクトリを/ home/$ usernameに変更します:

nano /etc/phpldapadmin/templates/creation/posixAccount.xml

<attribute id="homeDirectory">
        <display>Home directory</display>
        <!-- <onchange>=autoFill(homeDirectory;/home/%gidNumber|0-0/T%/%uid|3-%)</onchange> -->
        <order>8</order>
        <page>1</page>
</attribute>

<attribute id="loginShell">
        <display>Login Shell</display>
        <order>9</order>
        <page>1</page>
        <!-- <value><![CDATA[=php.PickList(/;(&(objectClass=posixAccount));loginShell;%loginShell%;;;;loginShell)]]></value> -->
        <type>select</type>
        <value id="/bin/sh">/bin/sh</value>
        <value id="/bin/csh">/bin/csh</value>
        <value id="/bin/tsh">/bin/tsh</value>
        <value id="/bin/bash">/bin/bash</value>
</attribute>

ユーザーを追加すると奇妙なPWDグリッチが発生します:

sed -i -e 's/password_hash/password_hash_custom/g' /usr/share/phpldapadmin/lib/TemplateRender.php

専用VMでこれを使用しますか?ルートdomain.comをdomain.com/phpldapadminにリダイレクトします:

sh -c 'echo "RedirectMatch ^/$ /phpldapadmin/" >> /etc/Apache2/Apache2.conf'
service Apache2 restart

UFWを開く

ufw allow 389
ufw allow 80

公開鍵属性を有効にする:

cat << EOL >~/openssh-lpk.ldif
dn: cn=openssh-lpk,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: openssh-lpk
olcAttributeTypes: ( 1.3.6.1.4.1.24552.500.1.1.1.13 NAME 'sshPublicKey'
  DESC 'MANDATORY: OpenSSH Public key'
  EQUALITY octetStringMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
olcObjectClasses: ( 1.3.6.1.4.1.24552.500.1.1.2.0 NAME 'ldapPublicKey' SUP top AUXILIARY
  DESC 'MANDATORY: OpenSSH LPK objectclass'
  MAY ( sshPublicKey $ uid )
  )
EOL

RSAキーサポート用のldifを追加:

ldapadd -Y EXTERNAL -H ldapi:/// -f ~/openssh-lpk.ldif

すべてが機能していることを確認します:

ldapsearch -x

似たようなものが手に入らないと、機能しません!

root@ldap:# ldapsearch -x
# extended LDIF
#
# LDAPv3
# base <dc=freesoftwareservers,dc=com> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# freesoftwareservers.com
dn: dc=freesoftwareservers,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: FreeSoftwareServers
dc: freesoftwareservers

# admin, freesoftwareservers.com
dn: cn=admin,dc=freesoftwareservers,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2
0

フルパッケージOpenLdapをインストールした後、service slapd restartの後にプロセスが正しく再起動しないことに気付きました。

コマンドを実行してプロセスを見つける必要があります

Sudo ps -aux | grep [s]lapd

そしてそれを殺します

kill -9 <PID>

およびSudo service slapd start。その後、すべてがうまくいきました。

0
Cifren