标签: ldif

LDAP:如何将人员添加到现有组?

使用命令行 (Linux) 或 LDIF,我可以找到许多创建新组并定义其成员的示例,但没有这样的示例:

如何将用户添加到现有组?

假设这个人也已经存在。

例如将用户添加uid=fred,ou=people,dc=example,dc=com到组cn=vipb,ou=groups,dc=example,dc=com

ldap ldif

15
推荐指数
1
解决办法
5万
查看次数

ldap_add:违反约束 (19)

我在导入用户ldapaddldif文件时遇到问题。我得到的错误是:

ldap_add: Constraint violation (19)
additional info: structuralObjectClass: no user modification allowed
Run Code Online (Sandbox Code Playgroud)

导入的用户都是ou=People,dc=example,dc=org. LDAP 服务器已包含此基本 DN。

/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif文件包含以下 ACL 条目:

olcAccess: {2}to dn.base="ou=People,dc=example,dc=org" attrs=children by gr
 oup.exact="cn=Manager,ou=Roles,dc=example,dc=org" manage
Run Code Online (Sandbox Code Playgroud)

ldif文件被导入如下:

ldapadd -f import.ldif -xv -D "cn=drupal,ou=Apps,dc=example,dc=org" -h localhost -W
Run Code Online (Sandbox Code Playgroud)

cn=drupal,ou=Apps[...]条目是 的成员,cn=Manager,ou=Roles,dc=example,dc=org因此它应该具有足够的写入权限(因为管理是可用的最高权限级别)。

当我发出ldapadd命令时,导入在第一个ldif条目时失败。完整的命令输出是:

add objectClass:
    top
    person
    inetOrgPerson
add uid:
    John.Merrell
add mail:
    john.merrell@example.org
add cn:
    John D Merrell
add structuralObjectClass:
    inetOrgPerson
add …
Run Code Online (Sandbox Code Playgroud)

openldap ldap ldif ubuntu-10.04

9
推荐指数
1
解决办法
3万
查看次数

ldapadd/ldapmodify:需要对这些命令进行说明

ldapmodify手册页指出:

ldapmodify 的默认值是修改现有条目

然而,当我尝试导入 LDIF 文件时,ldapmodify出现以下错误:

ldapmodify: modify operation type is missing at line X
Run Code Online (Sandbox Code Playgroud)

Q1:为什么,我应该将哪些参数添加到我的 ldapmodify 命令中?

如果我使用 LDIF 文件导入ldapadd并且条目已经存在,我会收到以下错误:

ldap_add: Already exists (68)
Run Code Online (Sandbox Code Playgroud)

这可以使用-c开关忽略(继续),但是 ldap_add 不会更新现有条目。相反,为了更新现有条目,应该使用ldapmodify,但ldapmodify不会添加丢失的条目。

Q2:有没有办法通过创建丢失的条目并同时更新现有条目来导入 LDIF 文件?

openldap ldap ldif ubuntu-10.04

7
推荐指数
1
解决办法
3万
查看次数

ldapadd 错误是什么意思:“附加信息:objectClass:value #3 invalid per syntax 是什么意思?

我有 ldif

dn: olcOverlay=ppolicy,olcDatabase={1}hdb,cn=config
objectClass: top
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcOverlay: ppolicy
olcPPolicyDefault: cn=default,ou=policies,dc=local
olcPPolicyHashCleartext: TRUE

dn: olcOverlay=memberof,olcDatabase={1}hdb,cn=config
objectClass: top
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcMemberOf
olcOverlay: {1}memberof
olcMemberOfMemberAD: uniqueMember
olcMemberOfGroupOC: groupOfUniqueNames
olcMemberOfRefInt: TRUE
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下命令来配置 ldap 服务器:

ldapadd -Y EXTERNAL -H, ldapi:/// -f /tmp/overlays.ldif
The error I'm getting is:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcOverlay=ppolicy,olcDatabase={1}hdb,cn=config"
ldap_add: Invalid syntax (21)
additional info: objectClass: value #3 invalid per syntax
Run Code Online (Sandbox Code Playgroud)

我怀疑是因为密码不正确,但我不能确定。我在网上搜索的点击次数是“值 #2”或“值 #1”——作为非 ldap …

openldap ldif

6
推荐指数
1
解决办法
1万
查看次数

openLDAP ldap_modify:尝试删除自定义架构时,服务器不愿意执行 (53)

我创建了这个自定义的非常基本的架构:

objectclass ( 2.25.2.2.1
    NAME 'myObjectClass'
    DESC 'myObjectClass objectclass'
    STRUCTURAL
    MUST ( cn )
    )
Run Code Online (Sandbox Code Playgroud)

我已将其添加到 myObjectClass.ldif 文件中,没有任何问题:

dn: cn=myObjectClass,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: myObjectClass
olcObjectClasses: {0}( 2.25.2.2.1 NAME 'myObjectClass' DESC 'myObjectClass objectclass' STRUCTURAL MUST cn )
Run Code Online (Sandbox Code Playgroud)

使用 ldapmodify:

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f myObjectClass.ldif
Run Code Online (Sandbox Code Playgroud)

现在我尝试用delete.ldif删除它:

dn: cn=schema,cn=config
changetype: modify
delete: objectClass
objectClass: 2.25.2.2.1
Run Code Online (Sandbox Code Playgroud)

使用ldapmodify总是得到ldap_modify:服务器不愿意执行(53):

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f delete.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=schema,cn=config"
ldap_modify: Server is unwilling …
Run Code Online (Sandbox Code Playgroud)

openldap ldap schema ldif

5
推荐指数
1
解决办法
2万
查看次数

LDIF:如果存在则修改属性;如果不存在则添加

有没有办法在 LDIF 文件中执行以下操作之一?

  • 尝试删除属性时忽略错误(找不到属性)

或者:

  • 如果属性存在,修改它
  • 如果它不存在,请添加它

openldap ldap ldif

4
推荐指数
1
解决办法
6344
查看次数

标签 统计

ldif ×6

ldap ×5

openldap ×5

ubuntu-10.04 ×2

schema ×1