Список пользователей информационной базы 1С: в каких таблицах и файлах он лежит
Содержание
Пользователи 1С 8.3 хранятся внутри самой информационной базы, в служебной таблице v8users. В файловом варианте эта таблица спрятана в файле 1Cv8.1CD, в клиент-серверном лежит в базе данных SQL Server или PostgreSQL. Права доступа
задаются ролями конфигурации, а в типовых решениях к ним добавляется справочник «Пользователи» с группами доступа.
Обычно вопрос «где хранятся пользователи» возникает в неприятный момент: админ ушёл и пароль не оставил, после копирования базы пропали логины или аудитор просит выгрузить список, кто и с какими правами работает. Для каждого случая ответ свой, потому что пользователи в 1С живут сразу на трёх уровнях.
Три уровня, на которых 1С хранит пользователей
Новички часто путают три разных списка. В Конфигураторе пользователь есть, а в программе его нет, или наоборот. Причина в том, что это разные сущности.
| Уровень | Что хранит | Где лежит | Где редактируют |
|---|---|---|---|
| 👤 Пользователь информационной базы | Имя, пароль (хеш), роли, способ входа, основной интерфейс | Таблица v8users внутри базы | Конфигуратор: Администрирование → Пользователи |
| 🗂 Элемент справочника «Пользователи» | ФИО, физлицо, подразделение, контакты, группы доступа | Обычная таблица справочника в базе | В программе: Администрирование → Настройки пользователей и прав → Пользователи |
| 🖥 Администратор кластера или центрального сервера | Логин и пароль для консоли кластера | Служебные файлы в каталоге srvinfo на сервере 1С | Консоль администрирования серверов 1С |
Пользователь информационной базы — это сущность платформы. Именно по нему 1С решает, пускать ли человека в программу.
Справочник «Пользователи» — часть типовой конфигурации (Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и другие решения на Библиотеке стандартных подсистем). Каждый элемент связан с пользователем ИБ через уникальный идентификатор. Если связи нет, человек в справочнике есть, а войти он не может.
Администраторы кластера к конкретной базе отношения не имеют. Они управляют сервером: создают базы, смотрят сеансы, меняют настройки рабочих процессов.
Файловая база: пользователи внутри 1Cv8.1CD
В файловом варианте вся база — это один файл 1Cv8.1CD в каталоге информационной базы. Внутри него лежат и данные, и конфигурация, и таблица v8users со списком пользователей.
Отдельного файла со списком логинов нет. Из этого следует несколько практических вещей:
- 📁 Скопировали каталог базы — скопировали и всех пользователей с их паролями.
- 🔒 Кто имеет доступ к папке с базой на чтение, тот может унести файл целиком. Пароли там хранятся не открытым текстом, а в виде хеша, но сама база и данные будут у него.
- 🧩 Утилиты для чтения формата
.1CDсуществуют, однако правка таблицыv8usersвне платформы легко ломает базу.
Права на папку с файловой базой — первая линия защиты. Пароли пользователей 1С не спасают, если файл можно просто скопировать на флешку.
Каталог файловой базы виден в окне запуска: выделите базу в списке, путь отображается внизу окна.
Рядом с 1Cv8.1CD лежит каталог 1Cv8Log с журналом регистрации. Там хранится история действий пользователей: кто входил, что записывал. Сам список пользователей в журнале не хранится, только ссылки на них.
Клиент-серверная база: таблица v8users в SQL
В клиент-серверном варианте информационная база — это обычная база данных в СУБД. Пользователи 1С лежат в служебной таблице v8users. Её имя одинаково в Microsoft SQL Server и в PostgreSQL.
Основные поля таблицы:
| Поле | Что содержит |
|---|---|
ID | Идентификатор пользователя ИБ |
Name | Имя для входа |
Descr | Полное имя |
OSName | Учётная запись Windows для доменного входа |
AdmRole | Признак роли с административными правами |
Data | Закодированный блок: хеш пароля, роли, настройки входа |
Посмотреть список пользователей напрямую в SQL Server можно простым запросом в Management Studio:
SELECT Name, Descr, OSName
FROM dbo.v8users
ORDER BY Name;
В PostgreSQL то же самое выполняется в psql или pgAdmin, имя таблицы пишется строчными буквами:
SELECT name, descr, osname
FROM v8users
ORDER BY name;
Только чтение. Поле Data закодировано платформой. Роли и пароль из него обычным SQL не прочитать и не поменять. Ручные UPDATE и DELETE по v8users — прямой путь к базе, в которую не войдёт никто.
Прямой доступ к таблицам базы 1С на запись лицензионными условиями платформы не поддерживается. Для аудита читайте данные, а меняйте пользователей только через Конфигуратор или программу.
Где в SQL справочник «Пользователи»
Справочник «Пользователи» в SQL хранится в таблице с техническим именем вида _Reference123. Номер у каждой базы свой. Узнать его можно встроенной функцией ПолучитьСтруктуруХраненияБазыДанных(), например во внешней обработке:
Структура = ПолучитьСтруктуруХраненияБазыДанных();
Для Каждого Строка Из Структура Цикл
Если Строка.Метаданные = "Справочник.Пользователи" Тогда
Сообщить(Строка.ИмяТаблицы);
КонецЕсли;
КонецЦикла;
В результате появятся строки с именами основной таблицы справочника и его табличных частей.
Где хранятся администраторы кластера
Логины администраторов центрального сервера и кластера лежат не в базе, а в файлах службы 1С. По умолчанию это каталог srvinfo:
- 🪟 Windows:
C:\Program Files\1cv8\srvinfo, если при установке не указали другой путь; - 🐧 Linux:
/home/usr1cv8/.1cv8/1C/1cv8.
Файл 1cv8wsrv.lst в корне srvinfo описывает центральный сервер и его администраторов. Файл 1CV8Clst.lst в подкаталоге reg_1541 — реестр кластера: администраторы кластера, список баз, рабочие серверы. Номер в имени каталога совпадает с портом менеджера кластера.
Не редактируйте эти файлы вручную на работающем сервере. Любые действия с ними требуют остановки службы агента 1С, а это обрывает сеансы всех пользователей всех баз кластера. Делайте это вне рабочего времени и с копией каталога srvinfo.
Пользователи регламентных и фоновых заданий
Регламентное задание выполняется от имени пользователя информационной базы. Его указывают в свойстве задания. Это тот же пользователь из v8users, со своими ролями.
В типовых конфигурациях список заданий открывается так: Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания. В карточке задания видно расписание и пользователя, под которым оно запускается.
Из этого вырастают типичные проблемы:
- 🔑 Задание привязали к живому сотруднику. Человек уволился, его пользователя отключили, и обмен или загрузка курсов валют молча перестали работать.
- 🚫 Пользователю задания не хватает ролей. Задание падает с ошибкой «Нарушение прав доступа!», а в журнале регистрации появляется запись с его именем.
- ⏱ В файловой базе регламентные задания выполняются только при открытом сеансе клиента или через веб-сервер. Ночью, когда все вышли, задания стоят.
Правильная схема — отдельный технический пользователь ИБ, например «Регламент», с нужными ролями и паролем, который знает администратор. Входить под ним в программу людям не нужно.
Фоновые задания, которые запускают сами пользователи (формирование отчёта, проведение группы документов), работают от имени того, кто их запустил. Отдельный пользователь для них не нужен.
Вход через домен: связь пользователей 1С с Active Directory
1С не хранит список доменных пользователей у себя и не синхронизирует его с Active Directory автоматически. Связь задаётся вручную, для каждого пользователя ИБ отдельно.
Как это настроить:
- Откройте карточку пользователя в Конфигураторе или в программе.
- Включите флажок «Аутентификация операционной системы».
- Укажите учётную запись Windows в формате
\\DOMAIN\ivanov. - Сохраните. Учётная запись попадёт в поле
OSNameтаблицыv8users.
После этого сотрудник, вошедший в Windows под этой учётной записью, попадает в 1С без ввода пароля. Флажок «Аутентификация 1С:Предприятия» можно оставить включённым как запасной вход или снять.
Что нужно знать про доменный вход:
- 🏢 Пароли из домена в 1С не копируются. Платформа доверяет проверке, которую уже выполнила Windows.
- 🔄 Переименование учётки в AD связь не обновляет. Поле
OSNameпридётся поправить вручную. - 🌐 В клиент-серверном варианте служба сервера 1С должна работать под доменной учётной записью с правильной настройкой Kerberos. Иначе вход через домен сработает в файловой базе, а на сервере — нет.
Для массовой загрузки сотрудников из домена в типовых конфигурациях готового механизма нет. Обычно пишут внешнюю обработку
, которая читает каталог по LDAP и создаёт пользователей ИБ через ПользователиИнформационнойБазы.СоздатьПользователя(). Для веб-клиента платформа поддерживает ещё и вход через OpenID, его настраивают на веб-сервере публикации.
Сводная таблица: режим работы и место хранения
| Что ищем | Файловая база | Клиент-серверная база |
|---|---|---|
| Логины и пароли пользователей ИБ | Таблица v8users внутри 1Cv8.1CD | Таблица v8users в базе СУБД |
| Справочник «Пользователи», группы доступа | Таблицы справочников внутри 1Cv8.1CD | Таблицы _Reference… в базе СУБД |
| Журнал регистрации входов | Каталог 1Cv8Log рядом с базой | Каталог 1Cv8Log в srvinfo\reg_1541\<ID базы> |
| Администраторы сервера | Не используются | Файлы 1cv8wsrv.lst и 1CV8Clst.lst в srvinfo |
| Привязка к домену | Поле OSName в v8users | Поле OSName в v8users |
Попадают ли в выгрузку .dt | Да | Да |
Попадают ли в файл конфигурации .cf | Нет | Нет |
Последние две строки важнее, чем кажутся. Выгрузка Администрирование → Выгрузить информационную базу переносит пользователей вместе с паролями. Значит, база, развёрнутая из чужого .dt, откроется только под логинами исходной базы.
Файл .cf содержит одну конфигурацию. Если загрузить его в новую пустую базу, пользователей там не будет вовсе, и вход откроется без пароля.
Ошибки с пользователями и восстановление доступа
В Конфигураторе пользователь есть, в программе нет
Пользователя создали в Конфигураторе, а в справочнике «Пользователи» он не появился. Типовая конфигурация при входе такого человека может отказать или выдать ему урезанные права, потому что группы доступа не назначены.
Решение: создавайте таких пользователей из программы, а не из Конфигуратора. Если работать человек ещё не начинал, удалите его в Конфигураторе. Затем в программе откройте Администрирование → Настройки пользователей и прав → Пользователи, создайте элемент справочника и на его карточке включите флажок «Вход в программу разрешён». Конфигурация сама создаст пользователя ИБ и свяжет его с карточкой.
В справочнике пользователь есть, войти нельзя
Обратная ситуация. Чаще всего это следствие загрузки базы из .cf или ручного удаления пользователя в Конфигураторе. Элемент справочника остался, а пользователя ИБ уже нет.
На карточке снова включите «Вход в программу разрешён» и задайте пароль. Будет создан новый пользователь ИБ, связанный с карточкой.
После копирования базы пропали все пользователи
Если база открывается без запроса пароля, значит, в v8users нет ни одной записи. Платформа в этом случае пускает всех с полными правами. Так бывает после загрузки .cf в пустую базу или при создании базы из шаблона.
Первое действие — создать в Конфигураторе пользователя с ролью «Полные права» и паролем. Потом восстановить остальных: проще всего через справочник «Пользователи», если он сохранился.
Забыли пароль администратора базы
Это самая частая причина искать, где хранятся пользователи. Порядок действий от безопасного к рискованному:
- Спросите, нет ли второго пользователя с правами администратора. Он сменит пароль первому за минуту.
- Проверьте, не включён ли у администратора вход через домен. Тогда пароль не нужен, достаточно войти в Windows под его учётной записью.
- Восстановите копию базы , где пароль известен, или поднимите её рядом и сравните.
- Обратитесь к обслуживающей организации. У неё может быть сохранённый пароль или собственная выгрузка.
В сети описаны приёмы с переименованием таблицы v8users в SQL или правкой файла базы. Они не поддерживаются фирмой 1С и при ошибке оставляют базу неработоспособной.
Любые эксперименты со служебными таблицами допустимы только на копии собственной базы и только после полной выгрузки в .dt. На рабочей базе, где сидят пользователи, этого делать нельзя.
Забыли пароль администратора кластера
Без него не открыть консоль серверов 1С. Пароль хранится в файлах srvinfo, и подобрать или прочитать его нельзя.
Варианты: восстановить каталог srvinfo из резервной копии при остановленной службе агента или обратиться к тому, кто администрирует сервер. Пересоздавать кластер ради сброса пароля не стоит: вместе с ним теряется регистрация всех баз.
Можно ли узнать пароль пользователя 1С из таблицы v8users?
Data. Восстановить исходный пароль из него нельзя, можно только задать новый через Конфигуратор или карточку пользователя.Сколько пользователей может быть в одной базе 1С?
Удаляются ли пользователи, если удалить элемент справочника «Пользователи»?
Где хранятся личные настройки пользователя: формы, отчёты, рабочий стол?
v8users. Часть данных кешируется на компьютере пользователя в профиле Windows, в каталоге %APPDATA%\1C\1cv8.Переносятся ли пользователи при обновлении конфигурации?
v8users и справочник «Пользователи» остаются на месте. Роли, которые удалены в новой версии, у пользователей просто пропадут.