Забыли пароль администратора 1С: как вернуть доступ к своей базе
Содержание
Восстановить пароль
в базе 1С в буквальном смысле нельзя: платформа хранит не сам пароль, а его хеш. Зато пароль можно сбросить и задать новый. Если в базе есть хотя бы один пользователь с правом администрирования, это делается за минуту в Конфигуратор → Администрирование → Пользователи.
Сложнее, когда забыт пароль единственного администратора. Тогда доступ возвращают через копию файла базы или через таблицу v8users в СУБД. Способы подходят для 1С 8.3 и идут от безопасного к радикальному; для серверных баз есть готовые команды MS SQL и PostgreSQL.
Всё описанное относится к сбросу пароля в своей базе: вашей организации или клиента, который поручил вам администрирование. Подбирать пароли к чужим базам — уже не администрирование.
Сначала определите вариант базы и кто ещё может войти
От этих двух вещей зависит, какой способ вам подойдёт.
Вариант базы. Откройте окно запуска 1С и выделите базу в списке. Внизу окна видна строка подключения:
- 📁
File="D:\Bases\Buh"— файловая база, данные лежат в одном файле1Cv8.1CD; - 🖥️
Srvr="srv1c";Ref="buh"— клиент-серверная база , данные хранятся в MS SQL, PostgreSQL или другой СУБД.
Кто ещё может войти. Пройдитесь по коллегам. Часто пароль администратора забыт, но у главбуха или программиста есть учётная запись с полными правами. Ещё один шанс — аутентификация Windows: если у пользователя включён вход под учётной записью операционной системы, он попадёт в базу без пароля 1С.
Сброс пароля пользователя через Конфигуратор и режим «Предприятие»
Самый частый и самый безопасный случай. Нужен человек с ролью «Полные права» или «Администратор системы».
В Конфигураторе
- Запустите базу в режиме Конфигуратор под учётной записью с правами администратора.
- Откройте
Администрирование → Пользователи. - Дважды щёлкните по нужному пользователю.
- На вкладке Основные очистите поле Пароль или введите новый, затем повторите его в поле Подтверждение пароля.
- Нажмите ОК.
Монопольный режим для этого не нужен: остальные пользователи могут продолжать работу. Новый пароль начнёт действовать при следующем входе.
В пользовательском режиме
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) удобнее работать из самой программы:
Администрирование → Настройки пользователей и прав → Пользователи.- Откройте карточку сотрудника.
- Нажмите Установить пароль, введите новый пароль дважды и сохраните.
Здесь же видно, разрешён ли пользователю вход в программу и какой способ входа включён. Если галочка входа снята, пароль не поможет: человек всё равно не войдёт.
Задайте пользователю простой временный пароль и попросите сменить его при первом входе. Так администратор не будет знать рабочий пароль сотрудника.
Если нет пароля администратора, но есть вход через Windows
Откройте свойства пользователя в Конфигураторе. Если включена Аутентификация операционной системы и указан пользователь вида \\OFFICE\ivanova, достаточно войти в Windows под этой учётной записью и запустить 1С. Платформа пропустит без пароля. Если у этого пользователя есть административные права, дальше действуйте по шагам выше.
Файловая база без администратора: работа с копией 1Cv8.1CD
Метод основан на простом правиле платформы: если в базе нет ни одного пользователя, 1С пускает в Конфигуратор без запроса имени и пароля. Список пользователей хранится в таблице V8USERS внутри файла 1Cv8.1CD. Если временно «спрятать» таблицу, платформа решит, что пользователей нет.
Работайте только с копией файла базы. Ошибка в одном байте при редактировании делает файл нечитаемым.
Порядок действий
- Попросите всех выйти из базы. Убедитесь, что в папке базы нет файла
1Cv8.1CL— он появляется, пока база открыта. - Скопируйте папку базы целиком в отдельное место, например
D:\Restore\Buh. - Откройте
1Cv8.1CDиз копии в HEX-редакторе. - Найдите имя таблицы
V8USERS. В описании таблиц имена хранятся в кодировке UTF-16, поэтому ищите строку как текст в Unicode: между буквами стоят нулевые байты. - Замените одну букву, например последнюю:
V8USERS→V8USERX. Длина имени должна остаться прежней. - Сохраните файл и подключите копию в окне запуска 1С как новую базу.
- Войдите в Конфигуратор. Пароль не спросят.
Дальше два пути.
Путь А — выгрузка. Сразу сделайте Администрирование → Выгрузить информационную базу в файл .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 занимает час с подготовкой, а с файловой базой — дольше. Профилактика занимает десять минут.
Что ещё стоит настроить:
- 🔑 Требования к паролям. В конфигурациях на БСП в разделе
Администрирование → Настройки пользователей и правзадаются минимальная длина, сложность и срок действия пароля. Длина от 8 символов с цифрами закрывает большинство подборов. - 🚫 Пустые пароли. Учётная запись «Администратор» без пароля — частая находка в небольших фирмах. Любой, кто откроет базу, получит полные права.
- 📝 Учёт администраторов. Ведите короткий список: кто имеет полные права, когда последний раз менялся пароль. После ухода IT-специалиста меняйте пароли в тот же день.
Доступ к файлу 1Cv8.1CD равен доступу ко всем данным, пароль 1С это не изменит. Ограничьте права на сетевую папку с файловой базой группой пользователей 1С, а серверную базу держите на SQL-сервере, куда у бухгалтеров нет прямого входа.
Частые вопросы
Можно ли узнать старый пароль пользователя 1С, а не сбрасывать его?
Сбросится ли настройка пользователя после смены пароля?
Почему после смены пароля 1С всё равно пускает без него?
/WA-.