Забыли пароль администратора 1С: как вернуть доступ к своей базе

· 9 мин

Содержание

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

Сложнее, когда забыт пароль единственного администратора. Тогда доступ возвращают через копию файла базы или через таблицу v8users в СУБД. Способы подходят для 1С 8.3 и идут от безопасного к радикальному; для серверных баз есть готовые команды MS SQL и PostgreSQL.

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

Сначала определите вариант базы и кто ещё может войти

От этих двух вещей зависит, какой способ вам подойдёт.

Вариант базы. Откройте окно запуска 1С и выделите базу в списке. Внизу окна видна строка подключения:

  • 📁 File="D:\Bases\Buh" — файловая база, данные лежат в одном файле 1Cv8.1CD;
  • 🖥️ Srvr="srv1c";Ref="buh" — клиент-серверная база , данные хранятся в MS SQL, PostgreSQL или другой СУБД.

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

Какая у вас ситуация?

Сброс пароля пользователя через Конфигуратор и режим «Предприятие»

Самый частый и самый безопасный случай. Нужен человек с ролью «Полные права» или «Администратор системы».

В Конфигураторе

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

Монопольный режим для этого не нужен: остальные пользователи могут продолжать работу. Новый пароль начнёт действовать при следующем входе.

В пользовательском режиме

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

  1. Администрирование → Настройки пользователей и прав → Пользователи.
  2. Откройте карточку сотрудника.
  3. Нажмите Установить пароль, введите новый пароль дважды и сохраните.

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

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

Если нет пароля администратора, но есть вход через Windows

Откройте свойства пользователя в Конфигураторе. Если включена Аутентификация операционной системы и указан пользователь вида \\OFFICE\ivanova, достаточно войти в Windows под этой учётной записью и запустить 1С. Платформа пропустит без пароля. Если у этого пользователя есть административные права, дальше действуйте по шагам выше.

Файловая база без администратора: работа с копией 1Cv8.1CD

Метод основан на простом правиле платформы: если в базе нет ни одного пользователя, 1С пускает в Конфигуратор без запроса имени и пароля. Список пользователей хранится в таблице V8USERS внутри файла 1Cv8.1CD. Если временно «спрятать» таблицу, платформа решит, что пользователей нет.

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

Порядок действий

  1. Попросите всех выйти из базы. Убедитесь, что в папке базы нет файла 1Cv8.1CL — он появляется, пока база открыта.
  2. Скопируйте папку базы целиком в отдельное место, например D:\Restore\Buh.
  3. Откройте 1Cv8.1CD из копии в HEX-редакторе.
  4. Найдите имя таблицы V8USERS. В описании таблиц имена хранятся в кодировке UTF-16, поэтому ищите строку как текст в Unicode: между буквами стоят нулевые байты.
  5. Замените одну букву, например последнюю: V8USERS → V8USERX. Длина имени должна остаться прежней.
  6. Сохраните файл и подключите копию в окне запуска 1С как новую базу.
  7. Войдите в Конфигуратор. Пароль не спросят.

Дальше два пути.

Путь А — выгрузка. Сразу сделайте Администрирование → Выгрузить информационную базу в файл .dt. Данные в нём целые, но список пользователей пустой. Загрузите .dt в новую базу и создайте пользователей заново. Подходит, если пользователей пять-десять и права восстанавливать недолго.

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

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

Клиент-серверная база: что меняется в консоли кластера

Консоль администрирования серверов 1С часто путают с местом, где хранятся пароли пользователей. Это не так. В консоли три разных вида учётных данных:

Учётные данныеГде задаютсяДля чего
Администратор кластераКонсоль → кластер → «Администраторы»Управление кластером: базы, сеансы, рабочие серверы
Пользователь СУБДСвойства информационной базы в консолиПодключение сервера 1С к SQL
Пользователь информационной базыКонфигуратор или режим «Предприятие»Вход в 1С: бухгалтер, кладовщик, администратор базы

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

  • 🔒 включите блокировку начала сеансов в свойствах базы, чтобы никто не вошёл во время работ;
  • 👥 посмотрите сеансы и при необходимости завершите их — перед этим предупредите людей, несохранённые документы пропадут;
  • 🗄️ уточните имя базы в СУБД и сервер СУБД: они понадобятся для SQL-способа.

Посмотреть то же из командной строки можно утилитой rac: rac cluster list выдаст идентификатор кластера, а rac session list — активные сеансы. Параметры остальных команд смотрите в rac help.

Если потерян пароль администратора кластера

Это отдельная история. Список администраторов кластера хранится в файле реестра кластера 1CV8Clst.lst в каталоге служебных данных сервера. Рабочий путь: остановить службу «Агент сервера 1С:Предприятия» в нерабочее время, восстановить этот файл из резервной копии и запустить службу. Остановка службы обрывает все сеансы на сервере. Пересоздавать кластер ради пароля не нужно — так теряется регистрация всех баз.

Сброс пароля администратора 1С через SQL-запросы

Принцип тот же, что в файловом варианте, но всё делается штатными командами СУБД. Кроме таблицы v8users переименовывают запись users.usr в таблице params: по ней платформа тоже проверяет наличие пользователей.

Перед запросами сделайте полную резервную копию базы средствами СУБД и заблокируйте вход пользователей.

MS SQL Server

Выполните в SQL Server Management Studio в контексте базы 1С.

Шаг 1 — спрятать пользователей:

EXEC sp_rename 'v8users', 'v8users_old';
UPDATE Params SET FileName = 'users.usr_old' WHERE FileName = 'users.usr';

Шаг 2 — запустить Конфигуратор этой базы. Пароль не спросят. Конфигуратор не закрывайте.

Шаг 3 — вернуть пользователей на место:

DROP TABLE v8users;
EXEC sp_rename 'v8users_old', 'v8users';
UPDATE Params SET FileName = 'users.usr' WHERE FileName = 'users.usr_old';

DROP TABLE удаляет пустую таблицу v8users, которую платформа могла создать при входе. Если команда сообщит, что таблицы нет, просто выполните две оставшиеся строки.

Шаг 4 — в открытом Конфигураторе откройте Администрирование → Пользователи. Список снова на месте. Задайте новый пароль администратору и нажмите ОК.

PostgreSQL

Для PostgreSQL порядок тот же, меняется синтаксис. Имена таблиц в базе 1С — в нижнем регистре:

-- шаг 1
ALTER TABLE v8users RENAME TO v8users_old;
UPDATE params SET filename = 'users.usr_old' WHERE filename = 'users.usr';

-- шаг 3, после входа в Конфигуратор
DROP TABLE IF EXISTS v8users;
ALTER TABLE v8users_old RENAME TO v8users;
UPDATE params SET filename = 'users.usr' WHERE filename = 'users.usr_old';

Не редактируйте поле с хешем пароля напрямую и не удаляйте записи из v8users. Формат хранения закрыт и меняется от версии к версии платформы. Переименование таблицы — единственная операция, которая не трогает сами данные.

Если после шага 3 Конфигуратор показывает пустой список, закройте окно пользователей и откройте его заново. Не помогло — повторите шаги 1–3: платформа могла закешировать пустой список, если Конфигуратор открывали дважды.

Сброс пароля из командной строки и через COM-соединение

Параметры запуска 1cv8.exe не умеют сбрасывать пароль: они только передают имя и пароль для входа. Пригодятся три ключа:

  • /N"Имя" и /P"Пароль" — вход под конкретным пользователем;
  • /WA- — запретить вход через Windows и принудительно спросить логин 1С;
  • /WA+ — разрешить вход через Windows (так работает по умолчанию).

Пример запуска Конфигуратора серверной базы под пользователем с известным паролем:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /S"srv1c\buh" /N"Главбух" /P"Пароль123"

Путь к 1cv8.exe подставьте свой: номер версии в папке зависит от установленной платформы.

Массовый сброс скриптом

Когда паролей нужно сменить много, например после увольнения администратора, удобнее скрипт через COM-соединение. Он работает, если известен логин и пароль любого пользователя с административными правами. Пример на PowerShell для 64-разрядной платформы с зарегистрированной компонентой comcntr.dll:

$connector = New-Object -ComObject "V83.COMConnector"
$base = $connector.Connect('Srvr="srv1c";Ref="buh";Usr="Главбух";Pwd="Пароль123"')

$user = $base.InfoBaseUsers.FindByName("Администратор")
$user.Password = "Nov-Parol-71"
$user.Write()

То же самое внутри 1С делает внешняя обработка с кодом на встроенном языке:

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

Код выполняется только под пользователем с правом администрирования. Обычный бухгалтер получит ошибку нарушения прав доступа.

Не храните скрипт с паролями в открытом виде на общем диске. Запустили, проверили вход, удалили файл.

Как не терять доступ к базе 1С в будущем

Восстановление через SQL занимает час с подготовкой, а с файловой базой — дольше. Профилактика занимает десять минут.

Защита доступа к базе 1С
Выполнено: 0 / 6

Что ещё стоит настроить:

  • 🔑 Требования к паролям. В конфигурациях на БСП в разделе Администрирование → Настройки пользователей и прав задаются минимальная длина, сложность и срок действия пароля. Длина от 8 символов с цифрами закрывает большинство подборов.
  • 🚫 Пустые пароли. Учётная запись «Администратор» без пароля — частая находка в небольших фирмах. Любой, кто откроет базу, получит полные права.
  • 📝 Учёт администраторов. Ведите короткий список: кто имеет полные права, когда последний раз менялся пароль. После ухода IT-специалиста меняйте пароли в тот же день.

Доступ к файлу 1Cv8.1CD равен доступу ко всем данным, пароль 1С это не изменит. Ограничьте права на сетевую папку с файловой базой группой пользователей 1С, а серверную базу держите на SQL-сервере, куда у бухгалтеров нет прямого входа.

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

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