[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: How to modify a single attribute from multiple list of attributes
> How do I modify/delete a single attribute from the directory when I have
> multiple attributes of the same name.
> For example, given the following ldif:
> dn: cn=config,o=dhcp
> cn: config
> objectClass: top
> objectClass: dhcpService
> objectClass: dhcpOptions
> dhcpPrimaryDN: cn=server1,o=dhcp
> dhcpStatements: default-lease-time 600
> dhcpStatements: max-lease-time 1200
> dhcpStatements: ddns-update-style none
> dhcpStatements: boot-unknown-clients on
> dhcpStatements: log-facility local7
>
> How would I modify just one of the dhcpStatements: attributes, for
> example, change 'dhcpStatements: log-facility local7' to
> 'dhcpStatements: log-facility local3'?
>
> I've tried an ldif with:
> dn: cn=config,o=dhcp
> changetype: modify
> replace: dhcpStatements log-facility local7
> dhcpStatements: log-facility local3
> But that just gave me an error:
> ldapmodify: Undefined attribute type (17) additional info:
> dhcpStatements log-facility local7: AttributeDescription
> contains inappropriate characters.
>
> I've also tried:
> dn: cn=config,o=dhcp
> changetype: modify
> replace: dhcpStatements
> dhcpStatements: log-facility local3
> But that just gave me an error:
> replace modify:
> dhcpStatements
> replace dhcpStatements:
> log-facility local3
> modifying entry "cn=config,o=dhcp"
> modify complete
> ldapmodify: Undefined attribute type (17)
> additional info: modify: attribute type undefined
>
> I can use 'delete: dhcpStatements' but that deletes all of the
> dhcpStatements and then I have to add all of them back with the
> modification to the one that's needed.
>
> So, what ldapmodify/ldif syntax is needed to specify which of multiple
> attributes should be modified?
You need to use LDIF as specified in RFC 2849; note that there is a
specific example that shows what you're trying to accomplish:
# Modify an entry: add an additional value to the postaladdress
# attribute, completely delete the description attribute, replace
# the telephonenumber attribute with two values, and delete a specific
# value from the facsimiletelephonenumber attribute
dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com
changetype: modify
add: postaladdress
postaladdress: 123 Anystreet $ Sunnyvale, CA $ 94086
-
delete: description
-
replace: telephonenumber
telephonenumber: +1 408 555 1234
telephonenumber: +1 408 555 5678
-
delete: facsimiletelephonenumber
facsimiletelephonenumber: +1 408 555 9876
-
In detail, look at the 'facsimiletelephonenumber' portion of the operation.
p.