Решение по привязке пользователей 1С к доменным учетным записям основано на том факте, что 1С не разрешает вход пользователя при отсутствующем или недоступном рабочем каталоге. Таким образом, если обеспечить доступ правами NTFS к каждому рабочему каталогу только для одного пользователя - задачу можно считать решенной, однако существуют варианты обхода. Первый заключается в том, что рабочий каталог можно указать в командной строке при запуске 1С, второй - в возможности удалить или переименовать файл users.usr.
Для закрытия первой дыры используется маленькая вставка в глобальный модуль, проверяющая рабочий каталог при старте, а для защиты самого глобального модуля - установка на MD-файл разрешений NTFS. Для закрытия второго пути также используются права NTFS.
Если быть совсем точным - при недоступном рабочем каталоге остается возможность войти в Конфигуратор, а в режимы "Монитор" и "Отладчик" возможно войти с ручным указанием каталога, код глобального модуля тут не сработает. Так что мы защищаем вход только в режим "Предприятие", считая, что от конфигуратора нас защищают разрешения на файл MD и папку ExtForms, а от входа в отладчик и монитор большой беды не случится.
Суть решения на этом заканчивается. Для удобства установки прав на файлы и папки я создал файл соответствия пользователей 1С и Windows и скрипт для установки NTFS-разрешений. Приложен также кусочек глобального модуля. Последним приложен файл для запуска 1С с автоматическим выбором имени пользователя, который можно использовать на терминальных серверах. Кроме собственно запуска 1С, он может еще добавить в реестр путь к базе данных, но это закомментировано.
Как этим пользоваться:
- При добавлении пользователя в 1С указываете рабочий каталог в виде .\usrdef\;
- После добавления пользователя вносите запись соответствия в файл userlist.txt;
- Файл userlist.txt должен находиться в папке usrdef;
- Файл SetSecurity.cmd может находиться в любом месте, удобнее всего в каталоге ИБ, т.к. в этом случае можно запускать его без указания пути. Запускать его нужно после каждого изменения файла userlist.txt. Скрипт сам на себя разрешения не задает, если считаете, что его опасно показывать пользователям - положите в менее доступное место;
- Пароли всем пользователям ставите пустыми.
Решение предоставляется "как есть", никаких гарантий автор не дает.
Обсуждение решения возможно в комментариях к публикации, но участие автора в обсуждении, также как исправление найденных ошибок и добавление новых функций, не гарантируется.
Поскольку решение в основном ориентировано на компании с достаточно большим количеством пользователей, и Вы сочтете данную разработку полезной для Вашей компании, можете поблагодарить автора путем перечисления на Яндекс-кошелек 41001410419858.