1с пользователь системы не определен
Пользователь
В журнале активных пользователей у всех стало . Что в программе, что в конфигураторе.
При загрузке 1С все как обычно. Все логиняться под своими именами (которые пропали) и при создании документа ответственный то же проставляется. 1С:Предприятие 8.3 (8.3.18.1433)
Чистите КЭШ. Не поможет - тестирование и исправление в конфигураторе. Копию создать не забудьте. Непонятно что за конфа у вас? Дописанная? Типовая?
У меня конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.92.51).
КЭШ чистил удалением информационной базы из окна запуска, делал тестирование и исправление в конфигураторе - ничего не помогло.
Решил проблему. Ошибка была из-за разных клиентов 1С.
У пользователей стояла 8.3.18.1433 , а на компьютере Администратора, с которого просматривался мониторинг, была более свежая 8.3.18.1483. После обновлений пользователей до той же версии проблема исчезла.
У меня после перехода с 8.2 на 8.3 тоже появилось, что пользователь , а раньше было . 1 пользователь, вход без пароля. Платформа 8.3.18.1363. Была 1С Бухгалтерия предприятия базовая редакция 2.0 (2.0.66.138), стала редакция 3.0 (3.0.95.15). Пусть уж лучше будет . Как убрать этого ?
У меня после перехода с 8.2 на 8.3 тоже появилось, что пользователь <не указан>, а раньше было <не авторизован>. 1 пользователь, вход без пароля. Платформа 8.3.18.1363. Была 1С Бухгалтерия предприятия базовая редакция 2.0 (2.0.66.138), стала редакция 3.0 (3.0.95.15). Пусть уж лучше будет <не авторизован>. Как убрать этого <не указан>?не>
В редакции 3.0 должен быть хоть один пользователь с правами администратора. Запустите в режиме Конфигуратора, Администрирование - Пользователи. Откройте вашего 1 пользователя и проверьте, что у него стоят права Администратор системы, Администрирование и Полные права
Не совсем так. . или ни одного пользователя.
Ни в коем случае! В "новых" конфигурациях (БП3, ЗУП3, УТ11 и т.д.) всё управление пользователями делается только в режиме "Предприятие".
Не совсем так. . или ни одного пользователя.
Никак. Без переписывания программы. Заведите хотя бы одного пользователя, и будете видеть его имя.
То есть, если нет ни одного пользователя, то будет <не указан>? Верно?
не>Если же хоть 1 пользователь будет, то его имя будет видно вместо , но тогда и вход в программу будет происходить под именем этого пользователя с вводом пароля?
Иными словами, если нужен вход без паролей, то не должно быть и пользователей Так что ли?
. тогда и вход в программу будет происходить под именем этого пользователя с вводом пароля?
Иными словами, если нужен вход без паролей, то не должно быть и пользователей Так что ли?
Пользователь может быть без пароля - это уже сами смотрите.
+ если нужно, то пользователя и пароль можно прописать в параметрах запуска информационной базы, а если база одна, то и её тоже можно прописать в параметрах запуска. Т.е. кликаете по ярлыку 1С на рабочем столе, а программа сразу запускается, при этом сама выбирает нужную информационную базу, подставляет пользователя и его пароль.
Пользователи 1С
Управление пользователями в 1С — процесс достаточно простой и интуитивно понятный, однако всё равно нуждается в описании.
Условно администрирование и контроль включает в себя:
- создание пользователя;
- установка прав пользователей;
- просмотр активных пользователей;
- анализ действий пользователей.
Рассмотрим каждый из этих пунктов подробнее:
Создание и установка прав пользователей 1С
В зависимости от конфигурации пользователи вводятся либо в конфигураторе, либо в режиме пользователя. Практически все современные конфигурации поддерживают ввод пользователей в режиме 1С: Предприятие 8. Также в режиме 1С: Предприятие, как правило, вводятся дополнительные параметры пользователей.
Однако, независимо от конфигурации, первый пользователь с административными правами всегда вводится в режиме конфигуратор. Поэтому мы рассмотрим оба режима ввода пользователей.
Ввод пользователей в Конфигураторе
Для входа в режим 1С Конфигуратор необходимо в списке выбора баз выбрать вариант Конфигуратор:
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Получите понятные самоучители по 1С бесплатно:
После входа необходимо выбрать в меню пункты Администрирование — Пользователи. Откроется список пользователей, если Вы заводите первого пользователя, он будет пуст. Добавим нового пользователя «Администратор»:
На этой странице Вы должны указать настройки пользователя:
- Имя и Полное имя — наименование пользователя.
- Если установлен флаг Аутентификация 1С: Предприятия, то станут доступны пункты Пароль (пароль, который используется для входа в 1С), Пользователю запрещено изменять пароль (делает доступным возможность смены пароля пользователем в пользовательском режиме), Показывать в списке выбора (делает доступным выбор пользователя в списке, в противном случае имя пользователя необходимо вводить вручную).
- Аутентификация операционной системы — флаг, отвечающий за возможность авторизации с помощью имени пользователя операционной системы. Пользователь — имя пользователя информационной системы (например, \\dom\kirill, где dom — домен сети, а kirill имя пользователя ОС). 1С при запуске сначала проверяет авторизацию через ОС, а потом авторизацию 1С.
- Аутентификация OpenID — включение возможности авторизации с помощью технологии OpenID. OpenID — это открытая децентрализованная система, которая позволяет пользователю использовать единую учётную запись для аутентификации на множестве не связанных друг с другом сайтов, порталов, блогов и форумов.
На вкладке Прочее нужно указать соответствующие роли для пользователя (подробней о ролях). В нашем случае мы укажем для администратора Полные права. Для других пользователей здесь можно отметить флагами требующиеся роли. Права пользователей суммируются из доступных объектов разных ролей. Т.е. если у пользователя выбрано две роли, в одной есть доступ к справочнику «Номенклатура», а у второй роли нет, доступ будет. Для любого пользователя без «Полных прав» обязательна установка роли «Пользователь»(если она присутствует).
Также на этой вкладке можно указать Основной интерфейс (работает только для обычных форм). Язык по умолчанию — если конфигурация разработана на нескольких языках. Режим запуска — управляемое или обычное приложение.
Создание пользователя в 1С Бухгалтерия 2.0
Для этого в меню необходимо выбрать пункт Сервис — Управление пользователями и доступом. Откроется справочник «Пользователи». Создайте нового пользователя:
Занесите информацию о пользователе и его основные настройки 1С, нажмите кнопку «ОК»: система предложит создать автоматически пользователя БД:
Необходимо согласиться, отобразится форма нового пользователя базы данных:
Где необходимо указать нужные настройки авторизации и роли пользователя.
Вот и всё! Создание пользователя и назначение ему прав завершено.
Просмотр активных пользователей в базе 1С
Для просмотра работающих в базе данных пользователей в режиме 1С: Предприятие необходимо выбрать пункт Сервис — Активные пользователи. Откроется список работающих в базе данных пользователей:
Как отключить пользователей в 1С 8.3
Отключить активного пользователя в базе 1С можно двумя способами:
- в интерфейсе программы (для конфигураций 1С Бухгалтерия 3.0, Управление торговлей 11 и т.д);
- через консоль кластера серверов (доступно только в клиент-серверном режиме работы).
Из интерфейса
В пользовательском режиме выкинуть зависшего пользователя можно, зайдя в меню «Администрирование» — «Поддержка и обслуживание», затем выбрав пункт «Активные пользователи»:
Выбираем в списке нужного пользователя и нажимаем кнопку «Завершить».
Из консоли кластера
Если у Вас есть доступ к административной панели сервера 1С, завершить сеанс можно с её помощью. Заходим в консоль, находим зависшего пользователя в меню «Сеансы», вызываем контекстное меню и нажимаем «Удалить»:
Контроль работы пользователей 1С 8.3
Для просмотра истории работы пользователей необходимо зайти в меню в пункт Сервис — Журнал регистрации:
Например, пользователь Иванов Иван в 15:09:18 создал новую номенклатуру «Лопата».
Информацию из журнала регистрации можно сортировать по типу данных, пользователю, виду действия и т.д. Для этого необходимо нажать на пиктограмму воронки над таблицей журнала регистрации.
Если база данных давно установлена и данные в ней часто меняются, просмотр журнала регистрации существенно замедляется, в особо запущенном случае система может обрабатывать данные очень продолжительный период времени.
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Столкнулся с такой ошибкой на релизе 8.3.18.1208 при обновлении серверной базы ЕРП. Ранее разработка велась на 8.3.12.1790.
Подсказали такой хак - может, кому пригодится:
- устанавливаем предыдущий релиз платформы (в моем случае 8.3.12.1790 была установлена на другом сервере)
- в консоли администрирования 8.3.12.1790 прописываем эту базу
- заходим в конфигуратор до окна логина (логин не вводим)
- возвращаемся на платформу 8.3.18.1208
- заходим в конфигуратор + вводим логин / пароль
- профит
Был еще хак где SQL скриптами переливали базу в другую - но там было очень много нюансов.
Ошибка есть на баг-трекере
UPD / 16.01.2021 ушли на 8.3.18.1289 - пока полет нормальный
Список платформ, на которой у пользователей произошла ошибка:
8.3.16.1814
8.3.17.1851
8.3.18.1208
Специальные предложения
Ошибка появляется при обновлении конфигурации - вываливается окно "Недостаточно памяти" -> платформа крешится -> на базе появляется ошибка.
(1)Столкнулся с такой проблемой. То, что предложил автор статьи так не работает. Как еще решить эту проблему?
+ Молодец, что написал эту статью. "Недостаточно памяти" и все остальное. Именно так это все и происходило. Спасибо, что открыл тему. Четыре базы навернулись по такому принципу. У нас в конце концов один человек лишился работы, после этой ошибки. Два раза навернул базу, архивы не делал, а потом узнали об ошибке 1С.
(1)
Треш! Почему же 1С не снимает релизы с этими ошибками с сайта ИТС ? Делает вид, что ничего не происходит.
Сегодня столкнулся с такой же проблемой на платформе 8.3.16.1814.
Возможно кому то поможет, решил ее так:
1. Создал вспомогательную базу на сервере 1С, загрузил туда созданную перед началом обновлений выгрузку основной базы
2. На сервере MS SQL штатными средствами сделал полный бекап вспомогательной базы базы
3. Штатными средствами MS SQL восстановил основную базу из резервной копии вспомогательной
(6) Да, сделал бекап, но развернул его в другую базу, а потом средствами MS SQL накатил на основную.
Столкнулся с проблемой, что не мог удалить базу в консоли сервера 1С, поэтому таким странным способом..
(8) Да - удалить не дает, т.к. авторизация больше не проходит. Поэтому я на другом кластере (8.3.12) прописал ее - она дошла до авторизации - и дальше вернулся на кластер 8.3.18 - и прошла авторизация - и удалять не пришлось ничего из консоли администрирования
(8) что заначит "сделал бэкап, а потом средствами SQL. "?
Бэкап всегда и делается средствами SQL.
А если это выгрузка в dt, то надо ее так и называть.
У меня баг был на платформе 8.3.17.1851 исправлял платформой 8.3.16.1359.
Спасибо за статью.
Спасибо 1с за наши спокойные выходные, сарказм конечно.
То что сервер 1с начал рубить процессы в которых происходит принятие изменений это вообще за гранью.
Было такое, на пару дней оставил базу в процессе обновления, на окне принятия изменяемых метаданных, а когда вернулся к окну конфигуратора, то сеанс почему-то был завершен сервером. Ну и словил такую ошибку. Очистка пользователей в SQL не помогла, просто восстановил базу из dt и все.
Обновиться на 8.3.18.1289 запустить конфигуратор вводя пароль, помогает, потом возвращаемся назад на 8.3.18.1208 чтобы нигде больше платформу не переустанавливать по крайней мере пока одно место горит))) Когда потухнет, тогда в плановом порядке везде обновлять платформу.
(23) если с кампа программиста войдете, то да потом с любого кампа тоже войдете, лишь бы там была такая же версия платформы, новая в смысле
(24) а в чем смысл "компа программиста"? Я имею ввиду если обновиться и уже на старую платформу не возвращаться - пустит?
(26) Смысл в возвращении на старую платформу, - это тогда когда у тебя сотни ПК с установленной старой платформой, а ещё армия внешних пользователей и всех их как бы обновить одним днём проблематично, поэтому спасаете базу на новой платформе и возвращаетесь на старую, потом планомерно везде накатываете новую платформу пока работаете на старой, а потом одним днём грубо говоря переходите на новую платформу уже на серверах.
Если у вас нет проблем с армией юзеров и их ПК, то естественно вы можете сразу на новой платформе и продолжить дальше работать без даунгрейдов на старую платформу, это для вас будет лишнее и вредное, так как все равно та же 8.3.18.1208 опасна выходит для использования и лучшее её обойти стороной или сбежать от неё на новую версию, хотя ещё мало кто чего может сказать что там с 8.3.18.1289 не так и что есть за сюрпризы.
(27) не, просто тут люди делают манипуляции со старой платформой, а потом запускают на новой, я думал, нужны определенные танцы. А если апгрейд на последнюю 18 спасает положение, то мы подождем :)
(27) когда у нас это произошло - 8.3.18.1289 еще не было - поэтому пришлось возвращаться туда где были)
(13)
тот же эффект на 8.3.17.1851
теперь пакетно запускать обновления, даже типовых, это лотерея.
восстановил рядом архив
Дополню - обычное обновление после этапа реструктуризации периодически "убивает" базу.
Платформа 8.3.17.1851
Восстановить можно, если иметь бэкапы таблиц Config и ConfigSave (последняя, если нет хранилища, там будут ваши изменения). База запустится, но ошибки останутся, нужно будет проверить все добавленные при падении объекты.
(21) В процессе прерванной реструктуризации думаю есть риск, что часть таблиц будет преобразовано к новому варианту конфы, а часть так и останется по старому, хоть спасай или не спасай таблицы Config и ConfigSave
ТИИ скорее всего нужно проводить на базах после воскрешения
Платформа 8.3.17.1851 - такая же проблема после обновления и перезапуска.
В своём случае просто восстановил базу из бэкапа сервера.
А подскажите пожалуйста что означает фраза:
"заходим в конфигуратор до окна логина (логин не вводим)"
(29) прикрепилось не туда
запускаю конфигуратор -> появляется окно ввода логина / пароля -> жму Отмена
(40) так заходить и не надо было в конфигуратор - этим маневром фиксилась ошибка и при повторном запуске уже под нужной платформой давала зайти в базу. Сейчас уже не актуально (это уже писал в ветках) - потому что есть новый релиз, где эта ошибка указана как исправленная.
Автору спасибо за решение.
В итоге оказалось все ещё проще.
Удалил 8.3.18.1208.
Установил 8.3.16.1063
Запустил службу 1С, убедился что в консоли серверов 1с база есть.
Запустил базу в конфигураторе, окно авторизации появилось.
Отменил авторизацию.
Удалил 8.3.16.1063.
Установил 8.3.18.1208.
.
PROFIT
ничего не переставляли
так как старая платформа оставалась, сделали так.
- остановили 1с-сервер в службах
- заменили в реестре путь запуска на старую платформу (скрин приложил)
- запустили 1с-сервер
- дальше запустил конфигуратор(открылся в старой платформе), спросило, что делать с проблемной конфой - я ответил "да",
- открылось окно авторизации, отменил
- остановили 1с-сервер в службах
- вернули в реестре 1208
- запустили 1с-сервер
- запустил конфигуратор, вошел без проблем.
(36) у меня удалить из консоли не давало - т.к. требует авторизацию на базе в консоли - > а в базу авторизация порушена
(37) мне кажется сначала надо удалить БД, средствами СУБД, а затем при удалении ИБ 1С, выбрать пункт - Оставить без изменений.
(37) она не порушена. в предприятие вы же можете войти. Нельзя войти только в конфигуратор. Я на дню по несколько раз восстанавливаю. Есть причины, по которым пока не могу обновить платформу.
Скриптом запускаю второй сервер 1с на другом порту как приложение (лицензия не требуется). В консоле администрирования данного сервера создаю базу с теми же свойствами , что и основной версии. Запускаю конфигуратор. Дохожу до отсутствия лицензии. Закрываю. Потом запускаю конфигуратор основной версии. Все работает. Если снова нужно, то во второй версии в консоле нужно удалить базу, оставив БД без изменения. И снова создать новую. Работает только при создании новой базы
Столкнулись с указанной ошибкой, при переходе на новую версию платформу, с 8.3.16.1502 на 8.3.16.1814.
Способ, указанный автором, нам помог.
Добрый. 1с-ка делает запрос к табличке "SEL ECT Status FR OM SchemaStorage WHERE SchemaID = 0", в поломонной этот статус "200" в нормальной "100". я его изменил и база запустилась.
allexx; RazorSky; teca; FireFauced; santech-1C; avu2002; Andy_sh; yghmd; C0oLZ3r0; yelisenkov; bondaleksey; altviser; Maxs_1919; Slypower; stvorl; andpal; natal_tihom; reoreh; dammit666; CAIN; JohnK; r-azt; saleksv; AlexKriulin; ikekoval; retr0; Georgik; user763700; info1i; dimao; sivalor; user1024932; JetBerry; xamass; AActor; soci0pat; dkonakov; anderson; Painted; Terabaytus; alexey.glotov; netesoff; JohnyDeath; user953800; max_vorzhev; daodezi; Hellhackee; duhh; jagon; Zedd4D; mrcamomile; AlexKo; -Kulebyaka-; + 53 – Ответить
allexx; user591578_1c; Serega-artem; RazorSky; teca; mamonth; FireFauced; SerVlasov; vorkir; santech-1C; angel4evil; Andy_sh; kras; bird21; user1534961; pilotfitz; yghmd; teyana; Гуррыч; John_Dow; gerandy; Alex17; bondaleksey; altviser; evn-zorin; Slypower; ra9000; romankoav; Светлый ум; natal_tihom; finservice; reoreh; wizard.ilmir02; dammit666; CAIN; JohnK; r-azt; koka; гаврюша; ReXt0n; 1cmax; N!ghtmare; BomjBandit; saleksv; Lolmes; user871141; ikekoval; kudlach; retr0; user763700; wolder; karagiosis; dimao; user1024932; milanse; JetBerry; moyo; higs; max_nch; pro100; soci0pat; dkonakov; Painted; maxx; kaysh; Man940N; Terabaytus; akiril; Ole4ik; alexey.glotov; user1547888; Borometr; fedorovyhnikolai; user953800; tank68; Hellhackee; duhh; jagon; AlexKo; + 79 – Ответить
В сегодняшней статье я расскажу об уязвимостях сервера 1С в корпоративной сети.
Как показала практика, в инсталляциях с 1С все допускают одни и те же ошибки разной степени серьезности. Я не буду касаться очевидных вещей вроде установки обновлений, но пройдусь по специфике работы сервера приложений под Windows. Например, по возможности бесконтрольно манипулировать базами Microsoft SQL с помощью инструментов 1С.
Исторически так сложилось, что редко когда системные администраторы и программисты 1С работают как одна команда. Чаще всего специалисты по 1С не вникают в тонкости системного администрирования, а сисадмины не стремятся постичь нюансы работы 1С.
И получается инфраструктура с «детскими болячками», очевидными для специалиста по ИБ ― ниже привожу личный ТОП таких проблем.
По умолчанию платформа 1С при установке создает специальную учетную запись с ограниченными правами, под которой работают службы сервера ― USR1CV8. Все идет хорошо, до тех пор пока не становятся нужны ресурсы сети: например, для автоматических выгрузок-загрузок. Учетная запись по умолчанию не имеет доступа на сетевые папки домена, поскольку является локальной.
В своей практике я встречал множество способов решения этой задачи: папки с доступом на запись для группы «Все», сервер 1С под учетной записью с правами администратора домена, явно прописанные в коде учетные данные для подключения сетевого ресурса. Даже запуск сервера 1С под пользовательской сессией как обычное приложение.
Заходим на сервер по RDP, видим такое окно и получаем нервный тик.
Конечно, «захардкоженые» пароли и сетевые ресурсы с анонимным доступом на запись встречаются редко. В отличие от работы сервера 1С из-под обычной доменной учетной записи. Разумеется, с возможностью выполнить произвольный код «на сервере».
Как известно любому 1С-нику, но не любому системному администратору, в обработках 1С есть два режима выполнения процедур: на сервере и на клиенте. Запущенная в «серверном» режиме процедура будет выполнена под учетной записью службы сервера приложений. Со всеми ее правами.
Если сервер 1С работает с правами администратора домена, то потенциальный вредитель сможет сделать с доменом что угодно. Разумным выходом станет создание специальной учетной записи ― по мотивам USR1CV8, только уже в домене. В частности, ей стоит разрешить вход только на определенные серверы в оснастке «Пользователи и Компьютеры Active Directory».
Настройка входа только на разрешенные серверы.
Не лишним будет и разрешить вход на сервер только в качестве службы, отключив возможность локального (интерактивного) входа в систему. Сделать это можно через локальные политики безопасности непосредственно на сервере, либо с помощью доменных групповых политик.
Назначение прав пользователя в локальной политике безопасности.
Все то же самое касается и учетной записи сервера Microsoft SQL. Седых волос может прибавиться от вредных привычек:
- запускать SQL с правами администратора компьютера или даже домена для удобного резервного копирования;
- включать возможность запуска исполняемых команд через хранимую процедуру xp_cmdshell для переноса резервных копий на сетевые ресурсы через красивые планы обслуживания.
Регулярно в практике встречается подключение баз данных к серверу 1С под пользователем «SA» (суперпользователь в SQL). Вообще, это не так страшно как звучит, ведь пароль от SA захэширован в файле 1CV8Reg.lst на сервере приложений. Хэш злоумышленник получить гипотетически может ― не забываем про права учетной записи сервера ― но расшифровка окажется долгой, особенно если использовать брутфорс.
Но все же не лишним будет настроить аудит доступа к этому файлу с уведомлением ответственных лиц.
Другое дело, когда программистам 1С «делегируют» обязанности DBA. Опять же, из личного опыта: сервер SQL был в зоне ответственности программистов, как и интеграция внешнего сайта с базами 1С. Итогом был пароль SA в скриптах сайта.
Для собственного успокоения стоит поставить на SA сложный пароль или вовсе деактивировать эту учетную запись. На SQL тогда нужно включить доменную аутентификацию для управления и создать для 1С отдельное имя входа с правами на необходимые базы.
Если вы не хотите оставить возможность создавать базы SQL через интерфейс 1С, то новому пользователю хватит общей роли public и db_owner непосредственно в базе 1С.
Это можно проделать через Management Studio или простым скриптом T-SQL:
Правам пользователей в 1С почему-то мало кто уделяет внимание. А ведь пользователь с правами «Административные функции» или «Администрирование» запросто выгрузит базу в .DT через конфигуратор и унесет домой ― это подарит не одно мгновение волнительного счастья вашему руководству. Поэтому стоит поймать на рюмочку чая 1С-ника и посидеть совместно над базой, чтобы узнать, какие пользователи имеют подобные права. А заодно ― чем грозит понижение их полномочий.
Право выгрузить базу у роли Полные Права в типовой 1С: Бухгалтерии 2.0.
Следующий важный момент ― запуск внешних обработок. Как мы помним, в 1С можно запускать код с правами учетной записи сервера. Хорошо, если она не имеет административных прав на систему, но все равно стоит исключить возможность запуска подобных обработок для пользователей. И не забудьте попросить специалиста по 1С «встраивать» дополнительные отчеты и обработки в базу. Хотя не во всех обработках поддерживается встраивание ― эта возможность зависит от версии 1С.
Проверить, какие типовые роли не имеют прав на открытие внешних обработок, можно в конфигураторе.
Все эти действия не только помогут защититься от потенциального «внутреннего вредителя», но и станут дополнительной преградой на пути вирусов-шифровальщиков, маскирующихся под обработки 1С.
Если все же необходим запуск внешних обработок, то неплохим вариантом контроля и подстраховки будет аудит их запуска. Штатного механизма аудита у 1С пока нет, но в сообществе уже придумали несколько обходных маневров. Внедрять эти механизмы стоит в паре со специалистом 1С, также как и настраивать уведомления о событиях в журнале регистраций базы.
Отдельно отмечу возможность настройки доменной аутентификации пользователей вместо аутентификации 1С. И пользователям будет удобнее ― меньше паролей в их памяти снижает риск появления стикеров на мониторе.
Итак, пользователи теперь не могут запускать обработки, учетная запись сервера максимально ограничена. Но есть и еще кое-что: учетная запись администратора кластера 1С, которая не создается по умолчанию.
Ее отсутствие опасно: любой человек с ноутбуком при открытом доступе к сетевым портам сервера (по умолчанию это TCP:1540) может создать там свою базу, и ограничений на запуск обработок не будет. А еще злодей сможет получить информацию по базам данных, по работающим пользователям, изменить параметры кластера и даже принудительно завершить работу определенных пользователей.
Пример скрипта на PowerShell, изгоняющего всех пользователей изо всех баз сервера:
Использование подобного способа работы с сервером 1С в благих целях уже упоминалось в одной из предыдущих статей.
Создать администратора кластера не просто, а очень просто ― достаточно щелкнуть правой кнопкой на пункте «администраторы» в управлении кластером 1С, создать нового администратора, задав логин и пароль.
Создание администратора кластера 1С.
Я коснулся лишь части недоработок при настройке 1С: Предприятия. Для самостоятельного изучения рекомендую почитать до сих пор не потерявшие актуальность материалы:
Поделитесь в комментариях своими нестандартными решениями и курьезами при работе с системой 1С: Предприятие.
В данной статье мы рассмотрим настройку сервера «1С:Предприятие» для использования Microsoft AD в качестве системы авторизации клиентов 1С. Статья представляет собой описание успешно внедрённого решения, за основу брались различные статьи из открытых источников, в частности официальная документация разработчика 1С.
Преамбула.
У нас имеется работающий на ОС Linux (CentOS7) сервер «1С:Предприятие». Сервер работает на хосте srv-app01, входящем в домен local.domain.name.
1. Настройка кластера сервера 1С:Предприятие
Настройка и управление кластером сервера «1С:Предприятие» происходит с компьютера с ОС Windows, так что для управления сервером нужно использовать традиционную оснастку mmc для Windows «Администрирование серверов 1С:Предприятие», которую следует установить из дистрибутива технологической платформы для Windows (ссылка).
Обязательно нужно настроить «Параметры рабочего сервера», как показано ниже:
Свойства кластера 'Критический объем памяти процессов', 'Режим распределения нагрузки' или свойства рабочего сервера 'Критический объем памяти процессов', 'Временно допустимый объем памяти процессов', 'Интервал превышения допустимого объема памяти процессов', 'Безопасный расход памяти за один вызов', 'Количество ИБ на процесс' содержат значения, отличные от значений по умолчанию.
Использование этих функций возможно только для лицензий на платформу уровня КОРП.
Это связано с тем, что «..начиная с версий платформы «1С:Предприятие» 8.3.12.1852, 8.3.13.1791 и 8.3.14.1592, вводятся ограничения на техническом уровне, не позволяющие использовать функциональность КОРП». Подробнее можно посмотреть здесь.
2. Настройка Kerberos-аутентификации
Для решения поставленной задачи настроим Kerberos-аутентификацию сервера «1С:Предприятие».
а) Настройка контроллера домена
Имя сервера srv-app01 обязательно должно разрешаться DNS-сервером (если его ввели в домен, то соответствующая запись в DNS-сервере есть).
Создать в домене учетную запись пользователя, с которой будут ассоциироваться запросы авторизации к серверу 1С:Предприятие. Имя может быть произвольное. В нашем случае это будет пользователь usr1cv8x с паролем XxXxXx. В свойствах этой уч`тной записи на вкладке «Учётная запись» в секции «Параметры учётной записи:» следует сбросить флажок «Use DES encryption types with this account»:
Для пользователя usr1cv8x следует сгенерировать файл с секретным ключом на компьютере с ОС Windows. Для этого используется утилита ktpass, входящая в состав в пакета Windows Support Tools (его можно найти в подкаталоге SUPPORT установочного диска Windows).
В командной строке запустим утилиту ktpass, которая «свяжет» доменного пользователя с пользователем, от имени которого работает сервер «1С:Предприятие»:
usr1cv8x, указываемое в параметре mapuser, — это имя доменного пользователя, которого мы создали.
В параметре pass передаётся пароль доменной учётной записи usr1cv8x.
В параметре out указывается имя файла с ключом. В нашем случае это usr1cv8.keytab.
б) Настройка центрального сервера кластера «1С:Предприятие»
Убедимся, что все в порядке:
Как видно, мы получили от KDC (Key Distribution Center — центр распределения ключей, эту функцию выполняет контроллер домена) так называемый ticket-granting ticket. После этого следует с помощью команды kdestroy очистить локальный кэш тикетов, чтобы вернуться в исходное состояние.
Далее любым способом следует передать файл с секретным ключом usr1cv8.keytab, полученный во время настройки контроллера домена, на центральный сервер кластера «1С:Предприятия». Этот файл следует скопировать в директорию, где установлен сервер «1С:Предприятие» (по умолчанию это /opt/1C/v8.3/x86_64), и установить права и владельца файла как показано ниже:
При желании файл можно разместить в любом другом месте, нужно только изменить переменную SRV1CV8_KEYTAB в конфигурационном файле (/etc/sysconfig/srv1cv83), чтобы она указывала на новое местоположение файла с секретным ключом.
После этого с помощью команды klist проверяем, всё ли мы сделали правильно. Для этого выполним команду:
Мы видим, что файл с секретным ключом содержит именно то, что нам нужно — в колонке Principal указано то самое имя службы, которое мы задавали при создании файла с секретным ключом, и правильный алгоритм шифрования (arcfour-hmac для RC4-HMAC).
Теперь посмотрим на результаты работы с помощью команды klist. В случае успеха мы увидим примерно следующее:
Если что-то настроено не так, то эта команда выведет следующее:
Если проверка работоспособности прошла успешно, это значит, что с данного момента сервер кластера «1С:Предприятия» способен обрабатывать запросы на аутентификацию. При этом перезапуск сервера не требуется, кроме того случая, когда в конфигурационном файле было изменено место расположения файла с секретным ключом.
в) Настройка пользователей в информационных БД «1С:Предприятие»
Для настройки аутентификации пользователей в информационной БД «1С:Предприятие» с помощью доменной учетной записи нужно запустить БД под Администратором.
Перейти в «Администрирование», слева в списке выбрать «Пользователи».
В появившемся окне «Пользователи» выбрать нужного пользователя.
В свойствах пользователя выбрать «Аутентификация операционной системы» и в поле «Пользователь» нажать на кнопку «. ».
В списке «Пользователи» выбрать нужного пользователя и нажать на кнопку «Выбрать». Должно получиться как на скриншоте:
Эти действия нужно повторить для всех пользователей БД.
В результате мы получаем решение, при котором пользователю не требуется совершать дополнительных действий по вводу логина и пароля для запуска приложения. Система определяет пользователя операционной системы, запускающего приложение, и соотносит с имеющейся ролью в конфигурации «1С». Использование единой системы авторизации в прикладных приложениях удобно как для пользователя, так и для администратора конфигурации «1С» — не нужно обслуживать дополнительную локальную базу пользователей приложения.
Читайте также: