Как бы "подчистить" значения атрибута CN у пользов

Обсуждение технических вопросов по продуктам Novell

Как бы "подчистить" значения атрибута CN у пользов

Сообщение Андрей Тр. aka RH » 04 сен 2006, 15:08

Вот такая вот проблемка .. Есть куча пользователей, с именами типа "ивановиа", при этом у них еще заполнены fullname = "иванов иван" и у большинства в cn хранятся ДВА значения - "ивановиа" и "иванов иван". Хотя у некоторых ( таких меньшинство ) хранится только имя пользователя ( "ивановиа" ). У нескольких также может еще присутствовать имя объекта template, на основе которого они когда были созданы.

Что требуется. Нужно, чтобы у ВСЕХ пользователей в атрибуте cn было занесено лишь одно значение - собственно имя пользователя, т.е. "ивановиа". Которое и фигурирует в dn = cn=ивановиа,ou=отдел,o=компания Дело в том, что имеется софт, который импортирует себе базу пользоавтелей по LDAP, и в качестве имен пользователей смотрит как раз cn. А если там хранятся два значения ( не в нужном нам порядке ), то импортируется первое - обычно "иванов иван".

Так вот вопрос .. как с наименьшими затратами :) можно почистить лишние значения в этих атрибутах. Я попробовал поиграться с экспортом / импортом по LDAP, но у меня, к примеру, не получилось сделать replace всего cn ( на подставляемое значение, взятое из dn ) - говорит, не могу править RDN, т.к. cn является его частью. Можно, конечно, пройтись скриптами с логикой по ldif с атрибутами, создать на его основе новый, для удаления ненужных .. но, возможно, есть более простые способы ?
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Владимир Горяев » 04 сен 2006, 15:51

А если через нвадмин, напр., всех выделить-инф о нескольких пользователях и поправить (типа пробел-забой)?
Бардак автоматизировать невозможно!!!
_________________
Аватара пользователя
Владимир Горяев
 
Сообщения: 3473
Зарегистрирован: 05 июн 2002, 13:37
Откуда: Смоленск

Сообщение Андрей Тр. aka RH » 04 сен 2006, 16:07

Так ведь мне нужно чтобы для каждого пользователя в его cn занеслось его, и только его имя. А если менять через details of multiple users, то чего там прописывать-то .. да и много их у меня.

Хотя в качестве средства для "обнуления" cn у всех скопом .. нвадмин надо будет попробовать, точно. Потом занести нужные значения для всех можно и через ldap, это не так уж сложно.
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Владимир Горяев » 04 сен 2006, 16:11

Может я не совсем понял вопрос. Мне показалось что можно почистить один атрибут у всех. Извини, если что.
Бардак автоматизировать невозможно!!!
_________________
Аватара пользователя
Владимир Горяев
 
Сообщения: 3473
Зарегистрирован: 05 июн 2002, 13:37
Откуда: Смоленск

Сообщение Андрей Тр. aka RH » 04 сен 2006, 17:47

"Почистить" - означает удалить ненужные атрибуты. Ведь в cn может храниться несколько значений ( список ), и у большинства моих так и есть ( исторически сложилось ). Вот надо из них оставить по одному, которое бы совпадало с именем пользователя. А остальные потереть. Логика получается немного извратная .. т.е. все значения данного атрибута ( их может быть 1, 2 или даже 3, у некоторых ) надо сравнить с именем, и те, что не равны, удалить. Конечно, для скрипта логика несложная, но мне неохота начинать программировать :) со чтением файла, разбором строк ..

Я завтра попробую с нвадмином - если так можно "обнулить" этот атрибут для списка пользователей, то это меня вполне устроит. По LDAP у меня это сделать че-то не вышло ( error 76 - LDAP_NOT_ALLOWED_ON_RDN: sent by Directory Server if the modified entry no longer contains attributes for each DN component ).
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Андрей Тр. aka RH » 06 сен 2006, 14:39

Проблему решил довольно просто - помогла сама ошибка NOT_ALLOWED_ON_RDN. Экспортировав список объектов и их атрибутов cn ( в csv - т.к. в нем оказалось проще проводить нужные мне преобразования, по колонкам ), заменил changetype на modify и добавил перед каждым атрибутом delete: cn ( в Ворде добавил символы конца строк, окончательно сформировав ldif-файл - но можно было, наверное, импортировать и прямо из csv ). При этом cn с нужным мне значением - именем пользователя ( какое фигурирует в его dn ) не удаляются ( ошибка же ), а остальные - удаляются. Единственное, что нужно при импорте этого ldif отключить exit on error, чтобы возникающие ошибки не приводили к преждевременному выходу из него.
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27


Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

cron