Забыли админовский пароль :( Труба?

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

Сообщение Влад А.Сокол aka Akina » 17 фев 2009, 13:33

Иван Левшин aka Ivan L. писал(а):гоу в старую дырку в биндери
Может, и не потребуется... Вряд ли кто задавал пасс SUPERVISOR-у...
Влад А.Сокол aka Akina
 
Сообщения: 1326
Зарегистрирован: 05 июн 2002, 09:24
Откуда: Зеленоград, Москва, Россия

Сообщение Музалёв Николай » 18 фев 2009, 19:37

... старая как мир дырка в биндери

Не, соратники, никакие биндерные дырки тут не при чём: спасибо Charles Kludge за текст программки "NDS Emergency Admin User creation" aka emadmin.nlm .

Код: Выделить всё
.......
   printf("Now trying to create %s with [SI] rigths to %s\n", userName, targetOu);

   printf("Init access to NDS ... ");
   chkErr(NWDSCreateContextHandle(&context),"NWDSCreateContext");
   chkErr(NWDSLoginAsServer(context), "NWDSLoginAsServer");
   chkErr(NWDSSetContext(context, DCK_NAME_CONTEXT, "[Root]"), "NWDSSetContext");
   chkErr(NWDSAllocBuf (DEFAULT_MESSAGE_LEN, &dsBuf), "NWDSAllocBuf");
   chkErr(NWDSInitBuf (context, DSV_ADD_ENTRY, dsBuf), "NWDSInitBuf");
   chkErr(NWDSPutAttrName (context, dsBuf, "Object Class"),"NWDSPutAttrName ""Object Class""");
   chkErr(NWDSPutAttrVal(context,dsBuf,SYN_CLASS_NAME,"User"),"NWDSPutAttrVal ""Object Class""");
   chkErr(NWDSPutAttrName (context, dsBuf, "Surname"),"NWDSPutAttrName ""Surname""");
   chkErr(NWDSPutAttrVal(context,dsBuf,SYN_CI_STRING,"Emergency Admin"),"NWDSPutAttrVal ""Emergency Admin""");
   printf("ok. \n");
   
   printf("Creating user object ... ");
   ccode = NWDSAddObject (context, userName, NULL, 0, dsBuf);
   if (ccode == -606)  {
      printf("\n -> User already exists : assigning trustee anyway ... \n");
   } else {
      chkErr(ccode , "NWDSAddObject"); printf("ok. \n");
      printf("Assigning empty password ... ");
      chkErr(NWDSGenerateObjectKeyPair(context,userName,"",0), "NWDSGenerateObjectKeyPair");
      printf("ok.\n");
   }
........................


Невооруженным глубокими знаниями в СИ глазом видно, что доступ идет через стандартное АПИ: к Дереву логинится сам сервер.

Опять вопрос: откуда у сервера такие права - создавать супера на рут?


====
И программ для забывчивых получается уже четыре:
adminadd.nlm
dspass.nln
monster.nlm
emadmin.nlm


Три первых есть в наших ФАЙЛАХ, а четвертую в бл. время добавим.
И - в ГРАБЛЯХ надо это отметить...
armoracia rusticana (lat.), "блины" и "фиги" всех видов, а также смайлики - крайне не желательны !
Музалёв Николай
 
Сообщения: 3034
Зарегистрирован: 04 июн 2002, 19:58
Откуда: Беларусь. МИНСК.

Сообщение Dimerson » 19 фев 2009, 14:23

Молодцы. Весьма любопытно. Убедительно доказали.
я ИДОЙ глянул внутрь MAKESU.NLM .
Факт - через NW DS API.

;)
Аватара пользователя
Dimerson
 
Сообщения: 2966
Зарегистрирован: 15 сен 2002, 14:39
Откуда: Регион 70

Пред.

Вернуться в Novell

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

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