Узнать чужой пароль в 1С 8.3 нельзя: как администратору вернуть доступ к базе

· 9 мин

Содержание

Посмотреть пароль пользователя в 1С 8.3 нельзя ни в Конфигураторе, ни в режиме Предприятия, даже под полными правами. Платформа хранит не сам пароль, а его хеш. Администратор может только задать новый пароль: Конфигуратор → Администрирование → Пользователи, открыть карточку, ввести пароль дважды и нажать «ОК».

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

Почему пароль в 1С нельзя посмотреть: как устроено хранение

Список пользователей хранится внутри самой информационной базы, отдельно от данных конфигурации. В файловом варианте это таблица V8USERS внутри файла 1Cv8.1CD. В клиент-серверном варианте это таблица v8users в базе данных на SQL Server или PostgreSQL.

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

Отсюда практические следствия:

  • 🔒 В карточке пользователя поле «Пароль» всегда показывает звёздочки, даже если пароль задан. Их число не совпадает с длиной пароля.
  • 🔒 Выгрузка в .dt переносит пользователей вместе с хешами. Загрузили .dt в новую базу — пароли остались прежними.
  • 🔒 Файл конфигурации .cf пользователей не содержит. Создали базу из .cf — список пользователей пустой.
  • 🔒 Программно доступно свойство СохраняемоеЗначениеПароля. Оно возвращает тот же хеш, а не пароль.

Где пароль всё-таки встречается в открытом виде

Платформа его не показывает, но люди сами оставляют пароли в текстовых местах. При аудите проверьте:

  1. Ярлыки и bat-файлы запуска с параметрами /N (имя) и /P (пароль).
  2. Задания планировщика Windows, которые запускают 1С для обмена или выгрузки.
  3. Строки COM-подключения и внешних скриптов вида File="D:\Base";Usr="Обмен";Pwd="...".
  4. Настройки обменов: при подключении к другой базе в настройке хранится имя и пароль пользователя той базы.
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Иванова" /P"12345"

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

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

Это штатный случай. Работает одинаково для файловой и серверной базы.

Через Конфигуратор

  1. Запустите базу в режиме Конфигуратора под администратором.
  2. Откройте Администрирование → Пользователи.
  3. Дважды щёлкните нужного пользователя.
  4. На вкладке «Основные» оставьте включённой «Аутентификацию 1С:Предприятия».
  5. Введите новый пароль в поля «Пароль» и «Подтверждение пароля», нажмите «ОК».

Открывать конфигурацию и обновлять её не нужно. Монопольный режим для смены пароля тоже не требуется: остальные пользователи могут продолжать работу.

Из режима Предприятия

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) список открывается так: Администрирование → Настройки пользователей и прав → Пользователи. В карточке пользователя есть команда установки пароля. Новый пароль вводится дважды.

Передайте пользователю временный пароль и попросите сразу сменить его на свой. Тогда даже администратор не будет знать рабочий пароль сотрудника.

Программно

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

Пользователь = ПользователиИнформационнойБазы.НайтиПоИмени("Иванова");
Если Пользователь <> Неопределено Тогда
    Пользователь.Пароль = "Врем-Пароль-71!";
    Пользователь.Записать();
КонецЕсли;

Код выполняется на сервере и требует права администрирования. Без него Записать() завершится ошибкой.

Забыт пароль администратора файловой базы

Здесь нет сервера СУБД, и всё хранится в одном файле 1Cv8.1CD. Варианты по порядку, от безопасного к рискованному.

1. Другой пользователь с полными правами

Проверьте список: нередко права администратора есть у главного бухгалтера или у сотрудника обслуживающей организации. Он входит в Конфигуратор и задаёт новый пароль по шагам выше.

2. Вход через аутентификацию Windows

Если у какого-то администратора включена «Аутентификация операционной системы» и к нему привязана учётная запись Windows, войдите в эту учётную запись. 1С пустит без пароля.

3. Резервная копия с известным паролем

Найдите копию базы (каталог целиком или .dt) за дату, когда пароль администратора был известен. Порядок:

  1. Разверните копию в отдельный каталог.
  2. Войдите туда, убедитесь, что пароль подходит.
  3. Сравните, какие данные внесены в рабочую базу после даты копии.

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

4. Правка файла базы

Специалисты применяют приём с переименованием таблицы пользователей внутри 1Cv8.1CD. Платформа не находит таблицу, считает, что пользователей нет, и пускает в Конфигуратор без пароля. Дальше таблицу возвращают на место и меняют пароль администратору.

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

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

Сброс пароля в клиент-серверной базе через SQL

В серверном варианте таблица пользователей доступна напрямую через СУБД. Приём тот же, но надёжнее: таблицу переименовывают средствами SQL, а не правкой байтов.

Нужны права на базу данных в СУБД. Пароль пользователя СУБД (например, sa или postgres) и пароль пользователя 1С — разные вещи.

Порядок для MS SQL Server

  1. Предупредите пользователей и завершите их сеансы в консоли кластера: все незакрытые сеансы оборвутся, несохранённые документы пропадут. Делайте это вне рабочего времени.
  2. Сделайте резервную копию базы средствами SQL Server .
  3. Переименуйте таблицу пользователей:
EXEC sp_rename 'v8users', 'v8users_old';
  1. Запустите Конфигуратор. База откроется без запроса пароля.
  2. Не закрывая Конфигуратор, верните таблицу:
EXEC sp_rename 'v8users_old', 'v8users';
  1. В Конфигураторе откройте Администрирование → Пользователи, задайте новый пароль администратору, нажмите «ОК».
  2. Закройте Конфигуратор и войдите заново уже с новым паролем.

Для PostgreSQL

Переименование выполняется командой ALTER TABLE:

ALTER TABLE v8users RENAME TO v8users_old;
-- вход в Конфигуратор
ALTER TABLE v8users_old RENAME TO v8users;

Если на шаге 6 список пользователей пустой, таблица не вернулась на место. Не создавайте пользователей в пустом списке: закройте Конфигуратор, верните таблицу и повторите вход.

Пароль администратора кластера — другая история

Пароль администратора кластера 1С защищает консоль серверов, а не базу. Сбрасывать его переименованием таблиц нельзя. Если он утерян, порядок такой: остановить службу агента сервера 1С (сеансы всех баз на сервере оборвутся), восстановить файлы реестра кластера из резервной копии или обратиться к администратору сервера. Пересоздавать кластер ради пароля не нужно.

Вход через домен и OpenID: как обойтись без паролей 1С

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

СпособКак работаетКогда подходит
Аутентификация 1С:ПредприятияИмя и пароль, хеш хранится в базеНебольшая фирма без домена
Аутентификация ОСВход под учётной записью Windows или доменаОфис с Active Directory
OpenIDВход через другую базу-провайдерМного баз с общими пользователями

Настройка входа через Windows

  1. В карточке пользователя в Конфигураторе включите флажок «Аутентификация операционной системы».
  2. В поле пользователя укажите учётную запись в формате \\DOMAIN\ivanova.
  3. Если вход по паролю 1С больше не нужен, снимите флажок «Аутентификация 1С:Предприятия».

Пароль теперь живёт в домене. Забыл пароль Windows — его сбрасывает системный администратор в Active Directory, а 1С об этом знать не нужно.

Для проверки входа под другим именем запустите 1С с параметром /WA-: он отключает аутентификацию ОС, и появится обычное окно ввода имени и пароля. Параметр /WA+ возвращает поведение по умолчанию.

Оставьте хотя бы одному администратору оба способа входа. Если домен недоступен, вы войдёте по паролю 1С.

Журнал регистрации: кто входил и кто менял пароль

Аудит доступа в 1С строится на журнале регистрации. В Конфигураторе он открывается через Администрирование → Журнал регистрации, в БП 3.0 и ЗУП 3.1 — через Администрирование → Обслуживание.

Полезные события для проверки безопасности:

  • 🔑 «Сеанс. Аутентификация» — успешные входы, с компьютером и приложением.
  • 🚫 «Сеанс. Ошибка аутентификации» — неверный пароль. Серия таких событий подряд похожа на подбор.
  • ✏️ «Пользователи. Изменение» — кто изменил свойства пользователя, в том числе пароль.

Сам пароль в журнал не попадает, только факт изменения записи пользователя. Отбор по событию и периоду ставится кнопкой «Установить отбор» в командной панели журнала.

Политика паролей

В Конфигуратор → Администрирование → Параметры информационной базы задаются минимальная длина пароля, проверка сложности, срок действия и блокировка после нескольких неудачных попыток входа. В типовых конфигурациях на БСП похожие настройки собраны в разделе Администрирование → Настройки пользователей и прав, в группе про настройки входа.

Разумный минимум для бухгалтерской базы:

  • длина от 8 символов;
  • проверка сложности включена;
  • блокировка после 5 неудачных попыток;
  • запрет пустых паролей у пользователей с правами администратора.

Какой способ выбрать: сравнение вариантов

Чей пароль потерян и что у вас есть?
МетодКогдаРиски
Смена пароля администраторомЕсть хотя бы один рабочий админНет
Вход через WindowsУ админа настроена аутентификация ОСНет
Восстановление из копииЕсть свежий архив с известным паролемПотеря данных после даты копии
Переименование v8users в SQLКлиент-серверная база, есть права в СУБДОбрыв сеансов, ошибка в SQL
Правка 1Cv8.1CDФайловая база, других путей нетПорча файла базы

Как не оказаться без администратора

Все сложные сценарии выше возникают из-за одного: в базе единственный администратор, и его пароль знал уволившийся сотрудник. Это предотвращается заранее, за 15 минут.

  1. Заведите двух пользователей с ролью полных прав: основного и резервного. Резервного не используйте в работе.
  2. Пароль резервного администратора запишите и уберите в сейф или менеджер паролей руководителя.
  3. Включите хотя бы одному администратору аутентификацию Windows.
  4. При увольнении сотрудника с правами администратора в тот же день смените пароли обеих учётных записей.
  5. Настройте регулярное резервное копирование и раз в квартал проверяйте, что копия разворачивается и пароль к ней подходит.

Не давайте рядовым пользователям роль полных прав «на время». Временные права обычно остаются навсегда, а вместе с ними и возможность менять пароли всем остальным.

Частые вопросы

Может ли программист 1С расшифровать пароль из базы?
Нет. В базе лежит хеш, а не зашифрованный пароль. Восстановить исходную строку можно только перебором, и для длинного сложного пароля это нереально.
Сменит ли пароль пользователю обновление конфигурации?
Нет. Обновление меняет конфигурацию, а список пользователей и их пароли остаются нетронутыми.
Почему пользователь не видит себя в списке при входе?
В его карточке снят флажок «Показывать в списке выбора». Имя тогда вводится вручную, на пароль это не влияет.
Можно ли запретить пользователю менять свой пароль?
Да. В карточке пользователя в Конфигураторе есть флажок «Пользователю запрещено изменять пароль». Его ставят для общих служебных учётных записей.
Пароль от 1С и пароль от сервера SQL — одно и то же?
Нет. Пароль пользователя СУБД нужен серверу 1С для связи с базой данных, он задаётся в свойствах информационной базы в консоли кластера. Пользователи 1С о нём не знают.