Сброс пароля в 1С 8.3, пользователя и администратора
Меню

Новый функционал восстановления паролей пользователей информационных баз 1С

Содержание статьи
  1. Что делать пользователю?
  2. Настройки проверки подлинности
  3. Работа с файловой версией 1С 8.3
  4. Работа с клиент-серверной 1С

Ранее восстановление паролей в 1С пользователей в информационных базах требовало участия администратора, а в крайних случаях и непосредственно фирмы 1С, так как прямое вмешательство в базу нарушает лицензионную политику 1С. Можно представить, как это неудобно, если просто забыл пароль от 1С, и получил серьезные проблемы. Поэтому разработчики 1С позаботились о пользователях, добавив в функциональность платформы «1С:Предприятие» новую операцию по восстановлению пользовательских паролей файловых и серверных ИБ, которые позволяют сбросить пароль в 1С. При выполнении подобных операций нужно быть предельно внимательными и понимать всю ответственность за свои действия. Обязательно сделайте резервную копию базы перед тем, как осуществить сброс пароля администратора 1С.

Появилась возможность дополнить форму аутентификации вопросами «Забыли пароль?» и «Нужна помощь?», установив соответствующее отражение их в параметрах ИБ.

Новая форма
Новая форма

Что делать пользователю?

Если пользователь жмет на первый вопрос, происходит:

  • Проход по гиперссылке;
  • Формирование электронного письма с кодом восстановления пароля из типового сервиса 1С;
  • Передача электронного письма с кодом, но с той почты, адрес которой был задан администратором.

При первом варианте откроется страница браузера, которая даст возможность администратору или партнеру задать свои настройки для «поведения» при данной операции.

При втором – запускается типовой сервис 1С, который поможет восстановить доступ через указание e-mail адрес пользователя. Вариант отправки электронного письма, чтобы поменять пароль в 1С, через настраиваемый почтовый сервер, позволяет админу написать любой текст и выбрать любые настройки оформления отправки.

Укажите e-mail
Укажите e-mail

При положительной проверке введенного адреса высылается код, и пользователь видит новшество – форму смены пароля.

Форма смены пароля
Форма смены пароля

После введения и проверки присланного кода, можно будет изменить пароль доступа к 1С.

В «1С:Предприятие» встроена защита от попыток подбора кодов подтверждения, параметры этой защиты можно установить в параметрах ИБ.

При использовании OpenID-аутентификации сброс паролей в 1С будет произведен через провайдера, поскольку именно там процесс проверки подлинности. В этом случае, после того как удалось сменить пароль в 1С, случится переход в провайдерскую форму проверки подлинности.

Для тех, кто нажал «Нужна помощь?», админ может прописать сайт с подробными инструкциями, как восстановить пароль в 1С, и контактными данными на случай возникновения проблем.

Настройки проверки подлинности

Изменять такие настройки можно посредством конфигуратора или встроенного языка.

В первом случае – в «Администрирование» нужно найти новый раздел по допнастройкам проверки.

Пункт в меню «Администрирование»
Пункт в меню «Администрирование»

Здесь можно найти множество возможностей по настройке, в том числе для редактирования текста отправляемого электронного письма.

Дополнительные настройки проверки
Дополнительные настройки проверки

Во втором случае – глобальный контекст встроенного языка получил новый объект ДополнительныеНастройкиАутентификации (AdditionalAuthenticationSettings).

Например:


   НастройкиВосстановленияПароля = Новый НастройкиВосстановленияПаролей(); 
   НастройкиВосстановленияПароля.СпособВосстановленияПароля = 
   СпособВосстановленияПароляПользователяИнформационнойБазы.ПереходПоНавигационнойСсылке; 
   НастройкиВосстановленияПароля.ПользовательSMTP = "admin@1c.ru"; 
   НастройкиВосстановленияПароля.ПарольSMTP = "123"; 
   НастройкиВосстановленияПароля.ПортSMTP = 465; 
   НастройкиВосстановленияПароля.ИспользоватьSSL = Истина; 
   НастройкиВосстановленияПароля.ИмяОтправителя = "Администратор"; 
   НастройкиВосстановленияПароля.Заголовок = "Восстановление пароля"; 
   НастройкиВосстановленияПароля.ТекстСообщенияHTML =  "Введите код   
  | &VerificationCode для сброса пароля.

";    ДополнительныеНастройкиАутентификации.УстановитьНастройкиВосстановленияПароля( НастройкиВосстановленияПароля);

Результат применения такого кода – в возможностях корректировки пользователей ИБ появились новые поля.

Новые поля
Новые поля

Также во встроенном языке аналогичные параметры прибавлены в тип данных ПользовательИнформационнойБазы, то есть АдресЭлектроннойПочты и ЗапрещеноВосстанавливатьПароль.

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

Работа с файловой версией 1С 8.3

Основные действия мы будем производить с файлом формата 1CD из папки, где расположена информационная база. Существует два варианта убрать пароли для входа в 1С – HEX-редакторы и программа TOOL1CD. Программы эти можно без труда найти в интернете и большинство из них бесплатны.

В первом случае смысл заключается в отключении таблицы с пользователями, чтобы заставить 1С считать, что в ИБ их нет. После этого платформа запускает конфигурацию с правами администратора, и мы можем создать новых пользователей: открываем файл 1CD в установленном HEX-редакторе и через поиск ищем в формате Unicode «users.usr».

Unicode «users.usr»
Unicode «users.usr»

В найденной строке найдем значение «09» и изменим число, расположенное левее, с «00» на «01». После этого, воспользовавшись поиском, находим строку «v8users» и меняем первую букву на любую другую. Делаем мы это, чтобы 1С не нашел эту строку и подумал, что в нашей базе нет ни одного пользователя. На этом работа с HEX-редактором закончена, но нам еще нужно воспользоваться утилитой «chdbfl.exe».

Утилита «chdbfl.exe»
Утилита «chdbfl.exe»

Найти ее можно в папке bin, находящейся внутри каталога, куда установлена платформа. Это программа проверяет и исправляет файловые базы, а в нашем случае может помочь избежать встречи с ошибкой формата потока.

Второй способ основан на том, чтобы именно изменить пароль у конкретного пользователя на пустой. Для этого открываем файл ИБ в программе TOOL1CD и в списке таблиц находим «V8USERS», где содержатся данные всех пользователей. Чтобы получить пароль в виде хеш-формата SHA-1, нажимаем на поле DATA строки конкретного пользователя и заменяем значение там на «2jmj7l5rSw0yVb/vlWAYkK/YBwk= », означающее пустой пароль.

Изменить пароль у конкретного пользователя на пустой
Изменить пароль у конкретного пользователя на пустой

С помощью кнопки «Записать» под табличной частью сохраняем данные поля в текстовый файл.

Сохранение в текстовый файл
Сохранение в текстовый файл
В текстовом редакторе осуществляем замену и сохраняем файл, не меняя его наименования. Чтобы загрузить изменения, включаем режим редактирования таблицы с помощью кнопки слева над таблицей, и снизу появляется возможность «Прочитать из файла».

Режим редактирования таблицы
Режим редактирования таблицы
После этого остается подтвердить изменения кнопкой с зеленой галкой.

Подтверждаем изменения
Подтверждаем изменения

Снятие пароля в 1С успешно завершилось!

Если у вас остались вопросы по работе с файловой базой, обратитесь на нашу линию консультации 1С в Москве, мы с радостью вам поможем.

Работа с клиент-серверной 1С

Если у вас 1С работает на сервере, то действия будут совершенно другими. В первую очередь, нужен доступ к консоли сервера базы данных, так как изменения будут производиться именно там. Суть решения заключается в том, чтобы заставить 1С подумать, что пользователей нет, поэтому любой сеанс запустится с правами администратора. В этом нам поможет простой алгоритм:

  1. Запускаем утилиту для управления БД;
  2. Создаем запрос, в котором будем переименовывать таблицу v8users и файл users.usr, чтобы 1С не смогла их распознать. Вместо «DatabaseName» пропишем имя собственной базы

    
    USE [DatabaseName]
    GO
    EXEC sp_rename 'v8users', 'v8users_tmp'
    GO
    UPDATE [Params]
    SET [FileName] = 'users.usr_tmp'
    WHERE [FileName] = ’users.usr‘
    GO
    

  3. Выполняем запрос кнопкой F5;
  4. Запускаем 1С. Если все сделали верно, 1С не спросит логина и пароля, а запустится сразу же с полными правами;
  5. Не закрывая конфигуратор, создаем еще один запрос в утилите управления БД. Его суть в возвращении таблицы пользователей

    
    USE [DatabaseName]
    GO
    DROP TABLE [v8users]
    GO
    EXEC sp_rename 'v8users_tmp', 'v8users'
    GO
    UPDATE [Params]
    SET [FileName] = 'users.usr'
    WHERE [FileName] = ’users.usr_tmp‘
    GO
    

  6. После очередного выполнения текста запроса возвращаемся в конфигуратор и создаем нового пользователя с правами администратора. Также можно просто изменить пароль у одного из действующих;
  7. Перезагружаем конфигуратор и входим под тем пользователем, которому назначили новый пароль.

После этих действий сброс пароля пользователя 1С 8.3 можно считать успешно выполненным. Помните, что каждая подобная операция – большой риск, так как администратор может ошибиться при написании запроса. При этом и 1С далеко не самая устойчивая система к внешним взаимодействиям. Поэтому обязательно заведите правило хранить пароли в надежном месте и пользуйтесь вышеприведенными алгоритмами в крайних случаях.

Если помимо сброса пароля у вас регулярно возникают вопросы, обратитесь к нашим специалистам. Мы с радостью проконсультируем вас, а также подберем для вас оптимальную цену на сопровождение 1С, ориентируясь на ваши индивидуальные задачи.


Рассказать друзьям
Предыдущая статья статья
Регистр сведений в 1С 8.3
Следующая статья статья
1С:Управление торговлей 8 версия 11.5: обзор возможностей
Комментарии