LDIF — удалить атрибут, если он существует

Мы используем следующий LDIF для удаления атрибутов POSIX из нашего каталога LDAP. Это работает нормально, за исключением случая, когда атрибут не существует. Например, это не удастся, если атрибут homedirectory не существует. Как сделать так, чтобы остальные атрибуты удалялись, даже если один или несколько из них не установлены для записи?

dn: uid=5,ou=people,o=company.com,o=corp
changetype: modify
delete: uidnumber
-
delete: homedirectory
-
delete: objectclass
objectclass: posixAccount
-
delete: loginshell
-
delete: unixusername
-
delete: gidnumber
-

person Saqib Ali    schedule 26.10.2016    source источник
comment
Как правило, утилиты импорта ldif имеют опцию продолжения при ошибке. Многие используют параметр -c, чтобы указать, что инструмент должен продолжать обработку.   -  person jwilleke    schedule 28.10.2016


Ответы (1)


Невозможно реализовать подобную логику в самом файле LDIF. Вам придется разделить модификации в разных записях...

dn: uid=5,ou=people,o=company.com,o=corp
changetype: modify
delete: uidnumber

dn: uid=5,ou=people,o=company.com,o=corp
changetype: modify
delete: homeDirectory

dn: uid=5,ou=people,o=company.com,o=corp
changetype: modify
delete: loginShell

..и так далее.

person ChadSikorra    schedule 26.10.2016