- 記事一覧 >
- ブログ記事
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 にチェックです。
ダメな場合、以下のエラーになります。
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.
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=com
を ldapadd
で追加しようと思います。
その際、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 文字を超えて入力できません。)
その他、宣伝、誹謗中傷等、当方が不適切と判断した書き込みは、理由の如何を問わず、投稿者に断りなく削除します。
書き込み内容について、一切の責任を負いません。
このコメント機能は、予告無く廃止する可能性があります。ご了承ください。
コメントの削除をご依頼の場合はTwitterのDM等でご連絡ください。