1. 記事一覧 >
  2. ブログ記事
Windows
category logo

ldapadd ldaps://でAD(Active Directory)のユーザーをパスワード付きで登録

(更新) (公開)

はじめに

OpenLDAP の ldapadd コマンドで AD(Active Directory)のユーザーをパスワード付きで登録してみました。パスワードを登録するには、ldaps://で接続する必要があり、環境を整えるところから紹介していきます。

【検証環境】

Windows Server 2019 Datacenter Desktop

 ドメインコントローラーに昇格したActive Directory

FreeBSD13(本ブログ別記事「FreeBSD-13.0-RELEASEにapache2,php,postgresql,openldapをインストール」まで実施したサーバーです。)

 OpenLDAP: ldapsearch 2.4.59


LDAPS 有効化

パスワードを ldapadd で登録したいため、Active Directory の LDAPS(LDAP over SSL/TLS)を有効化します。
パスワードを登録しない場合、特に必要無いです。


Powershell で自己署名証明書を作成し AD の LDAPS 接続を設定する(https://tech-lab.sios.jp/archives/25070)

こちらの手順を実施します。
(そのままで問題無かったため、詳細は省略します。)


・個人の証明書ストアに証明書と秘密鍵登録
・信頼されたルート証明機関に証明書登録
これを PowerShell 一発で行う手順です。


注意:ADのFQDNを入力してください:の部分は、フルコンピューター名を入力する必要があります。


フルコンピューター名は、net config workstationで確認できます。

C:\Users\Administrator>net config workstation
コンピューター名                                  \\WS2019DD
フル コンピューター名                             ws2019dd.ad.contoso.com
ユーザー名                                        Administrator

アクティブなネットワーク (ワークステーション)
        NetBT_Tcpip_{AAAAAAAA-5F90-4FB8-ABAC-AAAAAAAAAAAA} (000AAAAAAAAA)

ソフトウェア バージョン                           Windows Server 2019 Datacenter Evaluation

ワークステーション ドメイン                       AD
ワークステーション ドメイン DNS 名                ad.contoso.com
(略)

LDAPS ldapsearch

LDP.exe

この時点で、LDP.exe では接続を確認できます。ポート:636、SSL にチェックです。

LDP.exe ポート:636、SSL

ダメな場合、以下のエラーになります。

ld = ldap_sslinit("localhost", 636, 1);
Error 0 = ldap_set_option(hLdap, LDAP_OPT_PROTOCOL_VERSION, 3);
Error 81 = ldap_connect(hLdap, NULL);
Server error: <empty>
Error <0x51>: Fail to connect to localhost.

LDP.exe ポート:636、SSL エラー


ldapsearch

FreeBSD13 の ldapsearch で確認します。
なお、ldapsearch は、「FreeBSD-13.0-RELEASE に apache2,php,postgresql,openldap をインストール」の記事中、pkg installでインストールされたものです。

# ldapsearch -x -H "ldap://ws2019dd.ad.contoso.com" -o ldif-wrap=no -D "cn=administrator,cn=users,dc=ad,dc=contoso,dc=com" -w "password" -b "CN=Users,DC=ad,DC=contoso,DC=com" -s base dn
# extended LDIF
#
# LDAPv3
# base <CN=Users,DC=ad,DC=contoso,DC=com> with scope baseObject
# filter: (objectclass=*)
# requesting: dn
#

# Users, ad.contoso.com
dn: CN=Users,DC=ad,DC=contoso,DC=com

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

# ldapsearch -x -H "ldaps://ws2019dd.ad.contoso.com" -o ldif-wrap=no  -D "cn=administrator,cn=users,dc=ad,dc=contoso,dc=com" -w "password" -b "CN=Users,DC=ad,DC=contoso,DC=com" -s base dn
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

ldap://は成功しますが、ldaps://は、エラーになります。

-d1オプションを付けて実行します。

# ldapsearch -d1 -o ldif-wrap=no  -D "cn=administrator,cn=users,dc=ad,dc=contoso,dc=com" -w "password" -x -H "ldaps://ws2019dd.ad.contoso.com" -b "CN=Users,DC=ad,DC=contoso,DC=com" -s base dn
(略)
TLS certificate verification: depth: 0, err: 18, subject: /CN=ws2019dd.ad.contoso.com, issuer: /CN=ws2019dd.ad.contoso.com
TLS certificate verification: Error, self signed certificate
TLS trace: SSL3 alert write:fatal:unknown CA
TLS trace: SSL_connect:error in error
TLS: can't connect: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (self signed certificate).
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

証明書の読み込みが必要です。


まず、AD側の証明書を確認します。

# openssl s_client -connect ws2019dd.ad.contoso.com:636 -showcerts < /dev/null
CONNECTED(00000004)
depth=0 CN = ws2019dd.ad.contoso.com
verify error:num=18:self signed certificate
verify return:1
depth=0 CN = ws2019dd.ad.contoso.com
verify return:1
---
Certificate chain
 0 s:CN = ws2019dd.ad.contoso.com
   i:CN = ws2019dd.ad.contoso.com
-----BEGIN CERTIFICATE-----
MIIDQjCCAiqgAwIBAgIQS49nQ7cgn4tF+jPy5+llozANBgkqhkiG9w0BAQsFADAi
(略)

いろいろ表示されますが、-----BEGIN CERTIFICATE----------END CERTIFICATE-----が設置するべき証明書です。
以下のように設置します。(設置場所は、どこでも良いです。)

# vi /etc/ssh/cacerts.pem
-----BEGIN CERTIFICATE-----
MIIDQjCCAiqgAwIBAgIQS49nQ7cgn4tF+jPy5+llozANBgkqhkiG9w0BAQsFADAi
MSAwHgYDVQQDDBd3czIwMTlkZC5hZC5jb250b3NvLmNvbTAeFw0yMTExMTcwMjIz
MDNaFw0zMTExMTcwMjMzMDNaMCIxIDAeBgNVBAMMF3dzMjAxOWRkLmFkLmNvbnRv
c28uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6Y5sJmPmVdSp
QZdpOEMVoAsHOed8phgPwlwGrqe0yiqXqlp4f4h7I1nIkt9ip6j5KUx+bqE28DGR
7A8rdwluPr4P5ppYOUJPA1kUI5KF7qLmjh1Gf4jBdvaboy5BbVISym+LpIpnUXdc
Y8jc9SeJq/9rFcKLKQ92wNfEnO2iZRWy+wvKnXV7Fr6KiyNYtmz56Tu/X1MpdaK0
vxWr/2Qi+wx0KgN7zwA695Y0/iWGOJPiPhIK/4ZqHCHdL5y8p6iX8uNj972QAK+F
9Wh1wSEbVbTy7KnV0tNBlRIV3wJoX67fWkAbku5/srzp5oTtfBM6/6IF1xO6EzOz
P5fzFcfUPQIDAQABo3QwcjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB
BQUHAwIGCCsGAQUFBwMBMCIGA1UdEQQbMBmCF3dzMjAxOWRkLmFkLmNvbnRvc28u
Y29tMB0GA1UdDgQWBBTxcoO2zba8seS9rJF5Hwzletz9pDANBgkqhkiG9w0BAQsF
AAOCAQEAY6C1x6qLxvlyHeAtNPUfA8jNZ4xHQIJ/AZs/264HN1b/UFWXx9OvPI82
CjOqqYxhg7gUbUBaT7Q9It5qJL8kYaoCKCSCy48DWLSNU0FK6aqjRQtX11Fp9nrT
qR0aL3La/rlGNvKsqXmPcPr1fM21xKNjZZbFRjocp7e8tIlfPxaeaRmM9sovQWtf
/rHB+2LyJpvPPWrSWHd5C1LMw+UxP1pH3A0zAIjNUePaWMXlO+p3qztwj8BXySvm
sTRYN0LQhWeGd9IkBUQaj8/Kko1BYyMxYyz84XLKyc3L+VVB95WqUbumMVpYH2Y7
XenI5MHECGGXb+GfAkTrPhDVHqHD0Q==
-----END CERTIFICATE-----

LDAP クライアントの設定に証明書の場所を記述します。※ldap.conf の場所は、OS、インストール状況によって異なります。

# vi /usr/local/etc/openldap/ldap.conf
TLS_CACERT /etc/ssh/cacerts.pem

もう一度ldaps://で検索します。

# ldapsearch -x -H "ldaps://ws2019dd.ad.contoso.com" -o ldif-wrap=no  -D "cn=administrator,cn=users,dc=ad,dc=contoso,dc=com" -w "password" -b "CN=Users,DC=ad,DC=contoso,DC=com" -s base dn
# extended LDIF
#
# LDAPv3
# base <CN=Users,DC=ad,DC=contoso,DC=com> with scope baseObject
# filter: (objectclass=*)
# requesting: dn
#

# Users, ad.contoso.com
dn: CN=Users,DC=ad,DC=contoso,DC=com

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

ヨシ!


ユーザー ldapadd

unicodePwd

新規ユーザーCN=TEST User,CN=Users,DC=ad,DC=contoso,DC=comldapadd で追加しようと思います。
その際、unicodePwd(ログインパスワード)も登録しようと思います。
unicodePwd は、LDAPS 経由かつ、Administrator で登録する必要があります。
unicodePwd は、パスワード文字列を"でくくり、UTF16LE に変換し、さらに、base64 する必要があります。
また、パスワード文字列は記号、数字、大文字小文字を混ぜるなど複雑性の要件を満たしている必要があります。

パスワードの書き方は、以下のコマンドで分かります。(パスワードが「password$01」の場合)

# pkg install iconv
# pkg install base64
# echo -n '"password$01"' | iconv -f UTF8 -t UTF16LE | base64 -e
IgBwAGEAcwBzAHcAbwByAGQAJAAwADEAIgA=

ldif ファイルを書きます。

# vi add.ldif
dn: CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: TEST User
sn: TEST
givenName: User
distinguishedName: CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com
name: TEST User
sAMAccountName: TEST
userPrincipalName: TEST@contoso.com
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=ad,DC=contoso,DC=com
userAccountControl: 512
unicodePwd:: IgBwAGEAcwBzAHcAbwByAGQAJAAwADEAIgA=
# ldapadd -H ldaps://ws2019dd.ad.contoso.com -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "password" -f add.ldif
adding new entry "CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com"

ヨシ!


この記事の一番下の「エラーまとめ」にもありますが、unicodePwd の行の:(コロン)はunicodePwd::と2つ必要です。その他、base64 のところは、コロン2つが正解です。コロン1つの場合、以下のようなエラーになり、「コロンが足りていない」とは言ってくれません。

# ldapadd -H ldaps://ws2019dd.ad.contoso.com -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "password" -f add.ldif
adding new entry "CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com"
ldap_add: Server is unwilling to perform (53)
        additional info: 0000001F: SvcErr: DSID-031A1236, problem 5003 (WILL_NOT_PERFORM), data 0

userAccountControl

先ほど、userAccountControl: 512で登録しました。
これは、userAccountControl を指定しないまま登録した場合、「アカウントは無効」に設定されて、そのままログインした場合、「このアカウントは無効になっています。システム管理者に問い合わせてください。」となるからです。

「アカウントは無効」


このアカウントは無効になっています。システム管理者に問い合わせてください。

512 というのは、
NORMAL_ACCOUNT 0x0200 512
のフラグが有効で、通常ユーザー=「アカウントは無効」無しの意味になります。


以下のようにパスワード有効期間が自動的に決まります。

C:\Users\Administrator>net user TEST
ユーザー名                           TEST
フル ネーム
コメント
ユーザーのコメント
国/地域番号                          000 (システム既定)
アカウント有効                       Yes
アカウントの期限                     無期限

最終パスワード変更日時               2021/11/16 23:00:56
パスワード有効期間                   2021/12/28 23:00:56
パスワード次回変更可能日時           2021/11/17 23:00:56
パスワードあり                       Yes
ユーザーによるパスワード変更可能     Yes

ログオン可能なワークステーション     すべて
ログオン スクリプト
ユーザー プロファイル
ホーム ディレクトリ
最終ログオン日時                     2021/11/16 23:01:25

ログオン可能時間                     すべて

所属しているローカル グループ
所属しているグローバル グループ      *Domain Users
コマンドは正常に終了しました。

パスワード有効期間を無期限にする場合、
DONT_EXPIRE_PASSWORD 0x10000 65536 のフラグを有効にして、
userAccountControl を512+65536で、
userAccountControl: 66048
で登録すると、無期限になります。

パスワード有効期間を無期限


userParameters

userParameters 属性はバイナリ値なのですが、(詳細:AD(Active Directory)の userParameters 属性を php で解読に成功)バイナリ値については、base64 で登録すると問題無いようです。

# vi add.ldif
dn: CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: TEST User
sn: TEST
givenName: User
distinguishedName: CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com
name: TEST User
sAMAccountName: TEST
userPrincipalName: TEST@contoso.com
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=ad,DC=contoso,DC=com
userAccountControl: 512
unicodePwd:: IgBwAGEAcwBzAHcAbwByAGQAJAAwADEAIgA=
userParameters:: bSAgICAgICAgICAgICAgICAgICAgIGQCZGRkeBZmeAsLICAgICAgICAgICAgICAgUAwaCAFDdHhDZmdQcmVzZW5045S15pSx5oiw44GiGAgBQ3R4Q2ZnRmxhZ3Mx44Cw44Gm44Sy44C4EggBQ3R4U2hhZG9344Sw44Cw44Cw44CwKgIBQ3R4TWluRW5jcnlwdGlvbkxldmVs44SwICgBQ3R4V29ya0RpcmVjdG9yeeOMtOaEs+aMteOcteOktuaUtuOQtuaYtuOct+OMt+aMteOMt+Okt+OMt+OQt+OUtuaQtuOMs+OIs+OAsCJQAUN0eFdvcmtEaXJlY3RvcnlX44y044Cw5oSz44Cw5oy144Cw45y144Cw46S244Cw5pS244Cw45C244Cw5pi244Cw45y344Cw44y344Cw5oy144Cw44y344Cw46S344Cw44y344Cw45C344Cw45S244Cw5pC244Cw44yz44Cw44iz44Cw44Cw44CwGDQBQ3R4V0ZIb21lRGly44y05oSz5oy144i145C044y144C344i35pi245i246S25oy245S25oy146S344S25pC244S245C244S244y346C25pi25pC245S244CwGmgBQ3R4V0ZIb21lRGlyV+OMtOOAsOaEs+OAsOaMteOAsOOIteOAsOOQtOOAsOOMteOAsOOAt+OAsOOIt+OAsOaYtuOAsOOYtuOAsOOktuOAsOaMtuOAsOOUtuOAsOaMteOAsOOkt+OAsOOEtuOAsOaQtuOAsOOEtuOAsOOQtuOAsOOEtuOAsOOMt+OAsOOgtuOAsOaYtuOAsOaQtuOAsOOUtuOAsOOAsOOAsCBQAUN0eFdGUHJvZmlsZVBhdGjmjLXmjLXjhLPjpLPjiLPmlLLjhLPjmLPjoLPmlLLjhLPjiLPmlLLjiLPjhLPjpLPmjLXjiLXjkLTjjLXjgLfjiLfmmLbjmLbjpLbmjLbjlLbmjLXjpLfjhLbmkLbjhLbjkLbjhLbmlLLjkLfjhLbjiLfmmLbjgLAiwqABQ3R4V0ZQcm9maWxlUGF0aFfmjLXjgLDmjLXjgLDjhLPjgLDjpLPjgLDjiLPjgLDmlLLjgLDjhLPjgLDjmLPjgLDjoLPjgLDmlLLjgLDjhLPjgLDjiLPjgLDmlLLjgLDjiLPjgLDjhLPjgLDjpLPjgLDmjLXjgLDjiLXjgLDjkLTjgLDjjLXjgLDjgLfjgLDjiLfjgLDmmLbjgLDjmLbjgLDjpLbjgLDmjLbjgLDjlLbjgLDmjLXjgLDjpLfjgLDjhLbjgLDmkLbjgLDjhLbjgLDjkLbjgLDjhLbjgLDmlLLjgLDjkLfjgLDjhLbjgLDjiLfjgLDmmLbjgLDjgLDjgLAiQAFDdHhJbml0aWFsUHJvZ3JhbeOMtOaEs+aMteOcteOktuaUtuOQtuaYtuOct+OMt+aMteOMt+Okt+OMt+OQt+OUtuaQtuOMs+OIs+aMteaUtuaYtuOQt+OUtuOAt+OEtuOQtuaUsuOUtuOgt+OUtuOAsCTCgAFDdHhJbml0aWFsUHJvZ3JhbVfjjLTjgLDmhLPjgLDmjLXjgLDjnLXjgLDjpLbjgLDmlLbjgLDjkLbjgLDmmLbjgLDjnLfjgLDjjLfjgLDmjLXjgLDjjLfjgLDjpLfjgLDjjLfjgLDjkLfjgLDjlLbjgLDmkLbjgLDjjLPjgLDjiLPjgLDmjLXjgLDmlLbjgLDmmLbjgLDjkLfjgLDjlLbjgLDjgLfjgLDjhLbjgLDjkLbjgLDmlLLjgLDjlLbjgLDjoLfjgLDjlLbjgLDjgLDjgLA=


この例の userParameters は、Active Directory ユーザーとコンピューターで手動で登録したユーザーを LDAP 検索して得られたものです。

# ldapadd -H ldaps://ws2019dd.ad.contoso.com -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "password" -f add.ldif
adding new entry "CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com"

グループ ldapadd

所属メンバーを先ほどの TEST User とし、TESTGROUP を作成します。

# vi group.ldif
dn: CN=TESTGROUP,CN=Users,DC=ad,DC=contoso,DC=com
objectClass: top
objectClass: group
cn: TESTGROUP
distinguishedName: CN=TESTGROUP,CN=Users,DC=ad,DC=contoso,DC=com
name: TESTGROUP
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=ad,DC=contoso,DC=com
groupType: -2147483646
member: CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com
# ldapadd -H ldaps://ws2019dd.ad.contoso.com -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "password" -f group.ldif
adding new entry "CN=TESTGROUP,CN=Users,DC=ad,DC=contoso,DC=com"

特に問題無く登録されました。ldaps://である必要は有りません。

TEST User が所属メンバーとして登録されています。

所属メンバー


エラーまとめ

遭遇したエラーをまとめて書きます。
エラーメッセージだけでは判別できないものもあります。
AD 側の問題ではなく、LDAP クライアント側の問題の場合、ldapsearch -d 1 のようにオプションを付けると、なんとなく分かります。


エラー1

# ldapadd -H ldap://ws2019dd.ad.contoso.com -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "password" -f add.ldif
adding new entry "CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com"
ldap_add: Server is unwilling to perform (53)
        additional info: 0000001F: SvcErr: DSID-031A1236, problem 5003 (WILL_NOT_PERFORM), data 0

unicodePwd 属性が含まれるのにldaps://ではなく、ldap://で接続しています。


エラー2

# ldapsearch -d1 -o ldif-wrap=no  -D "cn=administrator,cn=users,dc=ad,dc=contoso,dc=com" -w "password" -x -H "ldaps://ws2019dd.ad.contoso.com" -b "CN=Users,DC=ad,DC=contoso,DC=com" -s base dn
(略)
TLS certificate verification: depth: 0, err: 18, subject: /CN=ws2019dd.ad.contoso.com, issuer: /CN=ws2019dd.ad.contoso.com
TLS certificate verification: Error, self signed certificate
TLS trace: SSL3 alert write:fatal:unknown CA
TLS trace: SSL_connect:error in error
TLS: can't connect: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (self signed certificate).
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

証明書の設置が必要です。


エラー3

# ldapadd -d 1 -H ldaps://192.168.12.219 -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "password" -f test.ldif
TLS: hostname (192.168.12.219) does not match common name in certificate (ws2019dd.ad.contoso.com).

証明書の FQDN が間違っています。(FQDN は、フルコンピューター名)


エラー4

# ldapadd -H ldaps://ws2019dd.ad.contoso.com -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "password" -f add.ldif
adding new entry "CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com"
ldap_add: Server is unwilling to perform (53)
        additional info: 0000001F: SvcErr: DSID-031A1236, problem 5003 (WILL_NOT_PERFORM), data 0

add.ldif の内容にエラーがあります。(例:unicodePwd:とコロンが1つになっていて、unicodePwd::とコロンが2つ付いていない。)


エラー5

# ldapadd -H ldaps://ws2019dd.ad.contoso.com -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "password" -f add.ldif
adding new entry "CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com"
ldap_add: Server is unwilling to perform (53)
        additional info: 0000052D: SvcErr: DSID-031A1236, problem 5003 (WILL_NOT_PERFORM), data 0

パスワードが短すぎです。


エラー6

# ldapadd -H ldaps://ws2019dd.ad.contoso.com -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "password" -f add.ldif
adding new entry "CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com"
ldap_add: Server is unwilling to perform (53)
        additional info: 0000052D: SvcErr: DSID-031A1236, problem 5003 (WILL_NOT_PERFORM), data 0

パスワードの複雑さの要件を満たしていません。


エラー7

# ldapadd -H ldaps://ws2019dd.ad.contoso.com -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "xxxxx" -f add.ldif
ldap_bind: Invalid credentials (49)
        additional info: 80090308: LdapErr: DSID-0C090434, comment: AcceptSecurityContext error, data 52e, v4563

Administrator のパスワードが間違っています。


エラー8

# ldapadd -H ldaps://ws2019dd.ad.contoso.com -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "password" -f add.ldif
adding new entry "CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com"
ldap_add: Already exists (68)
        additional info: 00000524: UpdErr: DSID-031A11C4, problem 6005 (ENTRY_EXISTS), data 0

フルネームが重複しています。
同姓同名の場合、アカウント ID をずらす必要があります。

例:
dn: CN=TEST User,CN=Users,DC=ad,DC=contoso,DC=com
cn: TEST User
sAMAccountName: TEST
userPrincipalName: TEST@contoso.com
をずらして、
displayName: TEST Userとする。


エラー9

# ldapadd -H ldaps://ws2019dd.ad.contoso.com -x -D "CN=administrator,CN=Users,DC=ad,DC=contoso,DC=com" -w "password" -f long.ldif
adding new entry "CN=longname,CN=Users,DC=ad,DC=contoso,DC=com"
ldap_add: Constraint violation (19)
        additional info: 00002082: AtrErr: DSID-031519DB, #1:
        0: 00002082: DSID-031519DB, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 4 (sn):len 144
dn: CN=longname,CN=Users,DC=ad,DC=contoso,DC=com
objectClass: organizationalPerson
objectClass: person
objectClass: top
objectClass: user
cn: longname
sn: LongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLong
givenName: Name
distinguishedName: CN=longname,CN=Users,DC=ad,DC=contoso,DC=com
sAMAccountName: longname
userPrincipalName: longname@contoso.com
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=ad,DC=contoso,DC=com

ldapadd しようとして、sn 属性の文字数制限に抵触しています。64 文字以内にする必要があります。(Active Directory ユーザーとコンピューターで入力しても同じく、64 文字を超えて入力できません。)

loading...