Бывают такие ситуации, когда у Вас оказывается система, в которую Вы не можете войти, так как не знаете ни одну комбинацию пользователь/пароль в один или во все манданты системы.
Для выхода из таких ситуаций SAP придумал пользователя 'SAP*' (sapstar). Итак, последовательность взлома системы:
Для выхода из таких ситуаций SAP придумал пользователя 'SAP*' (sapstar). Итак, последовательность взлома системы:
- Если у Вас есть доступ в один из мандантов, входите в него и через RZ11 проверяете значение параметра инстанции login/no_automatic_user_sapstar. Значение по умолчанию для версий системы до NetWeaver 7.0 - 0, а начиная с этой версии - 1. Для нашего плана необходимо выставить в 0. Поэтому, если Вы в системе, то через RZ10 в профиле инстанции выставляете этот параметр в 0. А если доступа в систему нет, то на уровне OS текстовым редактором в профиле инстанции меняем значение параметра. После этого перезагружаем SAP-инстанцию.
- Если знаете пароль пользователя system для ORACLE, то входите в ORACLE удаленно. А если не знаете, то подключаетесь локально через SQLPlus (sqlplus /nolog; connect /as sysdba). Далее даём команду
select * from <DBSchemaOwner>.USR02 where BNAME='SAP*';
DBSchemaOwner-а можно посмотреть через меню "Система -> Статус". Для 4.6С это обычно SAPR3, начиная с 4.7 - SAP<SID>. В результатах работы запроса можно увидеть в каких мандантах системы есть пользователь SAP*.
- Теперь SQL-запросом необходимо удалить пользователя из нужного манданта:
delete * from <DBSchemaOwner>.USR02 where BNAME='SAP*' AND MANDT='<number>';
Можно удалить пользователя SAP* из всех мандантов одним SQL-запросом, тогда просто не указываете MANDT в условии where. - Теперь в мандант системы можно войти виртуальным пользователем SAP* с паролем PASS. Из под этого пользователя можно создать своего и работать.
- Для закрытия 'дыры' необходимо выставить параметр инстанции login/no_automatic_user_sapstar в 1, перезагрузить инстанцию и создать пользователя SAP* со своим паролем.
Автор: Шиболов Вячеслав Анатольевич
Отличная статья, всё получилось!
ОтветитьУдалитьСпасибо, очень помогло. Копировал клиента с профилем SAP_UONL User Without Authorization Profiles and Roles - только пользователи. Получил систему, в которой ни сапстар, ни кто либо ещё не мог ничего сделать. Пришлось воспользоваться данной методой для восстановления пользователя сапстар.
ОтветитьУдалить