Как ограничить пользователей windows server 2012

Как разрешить (запретить) обычному пользователю перезагрузку (выключение) Windows?

В этой статье мы рассмотрим несколько способов, позволяющих управлять правами пользователей на перезагрузку и выключение компьютеров и серверов Windows. По умолчанию пользователи могут перезагружать и выключать только десктопные версии Windows, и не могут перезагрузить сервер (кнопки выключения и перезагрузки не доступны). Возможно ли разрешить пользователю без прав локального администратора перезагружать Windows Server? Возможна и обратная задача – запретить пользователям перезагружать компьютер с Windows 10, который используется в качестве некого информационного киоска, диспетчерского пульта и т.д.

Разрешить (запретить) пользователю перезагрузку Windows с помощью политики

Права на перезагрузку или выключение Windows можно настроить с помощью политики “Завершение работы системы” (Shut down the system) в секции GPO: Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Назначение прав пользователя (Computer Configuration -> Policies -> Windows Settings -> Security Settings -> User Rights Assignment).

Обратите, что по-умолчанию права на выключение/перезагрузку Windows различаются в десктопных версиях Windows 10 и в редакциях Windows Server.

Откройте редактор локальной политики gpedit.msc и перейдите в указанную выше секцию. Как вы видите, в Windows 10 права на перезагрузку (выключение) компьютера есть у членов локальных групп: Администраторы, Пользователи и Операторы архива.

В то время как в Windows Server 2012 R2 выключить или перезагрузить сервер могут только Администраторы или Backup Operators. Это правильно и логично, т.к. у пользователей в подавляющем большинстве случаев не должно быть прав на выключение сервера (даже случайное). Представьте себе RDS сервер, который периодически выключается из-за того, что пользователи случайно нажимают на кнопку выключения в стартовом меню…

Но из всякого правила бывают исключения. Соответственно, если вы хотите разрешить определенному пользователю (без права администратора) перезагружать ваш Windows Server, достаточно добавить его учетную запись в эту политику.

Или наоборот, вы хотите запретить пользователям десктопной редакции Windows 10 перезагружать компьютер, который выполняет некую серверную функцию. В этом случае вам достаточно удалить группу Users из локальной политики “Завершение работы системы”.

Аналогичным образом вы можете запретить (или разрешить) выключение или перезагрузку компьютеров для всех компьютеров в определённом OU домена Active Directory с помощью доменной политики. С помощью редактора доменных GPO (gpmc.msc) создайте новую политику Prevent_Shutdown, настройте параметр политики “Shut down the system” в соответствии с вашими требованиями и назначьте политику на OU с компьютерами или серверами.

Право на удаленное выключение/перезагрузку Windows

Вы также можете разрешить определенным пользователям перезагружать ваш Windows Server удаленно с помощью команды shutdown, не предоставляя пользователю права локального администратора и право на RDP вход на сервер.

Для этого необходимо добавить учетную запись нужного пользователя в политику “Принудительное удаленное завершение работы” (Force shutdown from a remote system) в той же самой секции GPO Назначение прав пользователя (User Rights Assignment).

По умолчанию выключить сервер удаленном могут только администарторы. Добавьте в политику нужную учетную запись пользователя.

В результате пользователю будет назначена привилегия SeRemoteShutdown и он сможет перезагрузить данный сервер удаленно с помощью команды:

shutdown -m \\msk-repo01 -r -f -t 0

Скрыть от пользователя Windows кнопки выключения и перезагрузки

Кроме того, есть специальная политика, позволяющей убрать у пользователя команды выключения, перезагрузки и гибернации компьютера со стартового экрана и меню Start. Политика называется «Удалить команды Завершение работы, Перезагрузка, Сон, Гибернация и запретить доступ к ним” (Remove and Prevent Access to the Shut Down, Restart, Sleep, and Hibernates commands) и находится в разделе GPO пользователя и компьютера: Конфигурация компьютера (пользователя) -> Административные шаблоны -> Меню “Пуск” и панель задач (Computer Configuration -> Administrative Templates -> Start Menu and Taskbar).

Читайте также:  Драйвер для brother dcp 7055r для windows 10

После включения этой политики пользователь сможет завершить работу с Windows, только выполнив логофф. Кнопки выключения, сна и перезагрузки компьютера станут недоступными.

Как узнать, кто перезагрузил (выключил) Windows сервер?

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

Для этого нужно использовать журнал событий Event Viewer (eventvwr.msс). Перейдите в раздел Windows Logs -> System и отфильтруйте журнал по событию с Event ID 1074.

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

Log Name:System
Source: User32
EventID: 1074
The process C:\Windows\system32\winlogon.exe (MSK-RDS1) has initiated the restart of computer MSK-RDS1 on behalf of user CORP\AAIvanov for the following reason: No title for this reason could be found.
Reason Code: 0x500ff
Shutdown Type: restart
Comment:

Аналогичным образом можно получить информацию о последних событиях перезагрузки Windows. Для этого нужно искать по событию с кодом 1076.

Ограничение пользователей в терминальной сессии Windows Server 2012 R2

Микрософт с большим отставанием от разработчиков реализовал на терминальном сервере публикацию отдельных приложений. Технологию назвали RemoteApp. Пока речь идет о доступе к опубликованным приложениям через web-интерфейс, все выглядит красиво, но пользователям не удобно заходить в браузер (а браузер – это значит медленно), да и сам подход непривычен, а непривычное, как правило, воспринимается большинством пользователей негативно. Микрософт решил этот вопрос раздачей юзерам на рабочий стол готовых значков, настроенных на запуск конкретного приложения. Но тут все начинают понимать, что web-интерфейс – это оболочка, а под ней все тот же старый добрый DOS , пардон, RDP. И сразу хочется понять, а что там с правами доступа. Жмем Win+R, mstsc, Enter. Оп-па-на! Мы сделали для конкретного пользователя возможность запускать только одну единственную программу, а он спокойно погуливает по серверу, как у себя дома…

Права доступа на терминальный сервер и к RemoteApp

Опубликованные приложения группируются в коллекции. Для доступа к приложению у пользователя должны быть права и на запуск этого приложения и на доступ к коллекции, в которую оно входит, иначе он программу не запустит.

Назначение прав предусмотрено через права к коллекции. При этом автоматически тот же набор прав передается в привычную группу безопасности терминального сервера Пользователи удаленного рабочего стола. Если впоследствии изменить набор прав в этой группе, то действовать будут именно они, а не те, что были заданы в правах на коллекцию. И права на коллекцию будут просто игнорироваться, пока не будут заданы именно для коллекции, т.е. через интерфейс управления коллекцией (при этом обновится список доступа в группе Пользователи удаленного рабочего стола).

Таким образом, если у определенного пользователя есть право на запуск какой-то одной опубликованной программы, то он может беспрепятственно логиниться на рабочий стол этого терминального сервера традиционным способом.

Для кого-то это не имеет никакого значения, но это в любом случае ненормально, а в большинстве организаций – неприемлемо.

Штатного решения найти не удалось, но есть обходные пути.

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

Б. Можно там же на вкладке «Среда» задать запуск logoff.exe , а программы раздавать через настроенные значки. Тогда при входе через mstsc сеанс такого пользователя будет сразу же автоматически завершаться.

Надо понимать, что настройка из пунктов (А) и (Б) будет касаться входа на любой терминальный сервер, а их в общем случае может быть несколько, на каждом свои программы, где-то просто нужен доступ к рабочему столу сервера.

Читайте также:  Linux для начинающего программиста

Чувствуется, что это надо разруливать через GPO, но параметры пользователя применяются только к пользователям, а не к серверам, а нам надо, чтобы параметры, заданные для пользователя (например, напуск при входе logoff.exe) применялись к конкретным пользователям на конкретных серверах. Тут на помощь приходит волшебный параметр Computer Configuration ⇒ Policies ⇒ Administrative Templates ⇒ System ⇒ Group Policy ⇒ User Group Policy loopback processing mode.

Последовательность действий

1. Создаем в AD группу безопасности, назовем её «TS1_Restrict_Obj».

2. Добавляем в группу «TS1_Restrict_Obj» пользователей, для которых нужно сделать ограничения. (Возможно, для конкретных задач потребуются более мягкие ограничения, а не logoff.exe. Или наоборот, нужно сделать что-то хорошее, скажем, отключить на терминальном сервере пароль на хранитель экрана, чтобы юзерам не приходилось вводить пароль дважды: на своей рабочей станции и на терминале.)

3. Добавляем в группу «TS1_Restrict_Obj» терминальный сервер, на котором нужно применить наши ограничения для заданных пользователей. Если нужно применить эти правила для разных серверов и одних и тех же пользователей, то добавляем сюда же и все эти терминальные серверы.

4. В групповых политиках создаем новый GPO (например, «TS1_Restrict») и связываем его с контейнером, в котором находится наш терминальный сервер(ы). Можно сделать отдельный контейнер (OU), в который вынести этот сервер(ы).

5. В SecurityFilteringдля вновь созданного GPO«TS1_Restrict» Удаляем записи, которые там создаются по умолчанию и добавляем нашу группу «TS1_Restrict_Obj».

6. Открываем на редактирование GPO «TS1_Restrict»

Computer Configuration ⇒ Policies ⇒ Administrative Templates ⇒ System ⇒ Group Policy ⇒ User Group Policy loopback processing mode = Merge (или Replace)

User Configuration ⇒ Policies ⇒ Administrative Templates ⇒ Windows Components ⇒ Remote Desktop Services ⇒ Remote Desktop Session Host ⇒ Remote Session Environment ⇒ Program path and file name = logoff.exe
Или делаем здесь другие ограничения, в зависимости от решаемой задачи.

7. Вы, наверное, будете смеяться, но для применения этой конструкции необходимо перезагрузить сервер, к которому применяется политика. Причем, отключение политики выполняется сразу, достаточно удалить сервер из группы безопасности «TS1_Restrict_Obj», а для подключения – требуется перезагрузка.

Теперь при попытке пользователей, входящих в группу «TS1_Restrict_Obj», войти на данный терминальный сервер сразу же после входа будет происходить завершение сеанса. При этом опубликованные для этих пользователей приложения RemoteApp будут работать как через web-интерфейс, так и через файлы .RDP.

Не обязательно включать параметры пользователей и параметр User Group Policy loopback processing mode в один и тот же GPO. Просто если «замыкание» (loopback) включено для какого-то сервера, то политики пользователя будут применяться к этому серверу.

Терминальный сервер #1 Ограничение прав пользователей

Терминальный сервер #1 Ограничение прав пользователей

В одном из прошлых видео мы рассматривали процесс поднятия роли сервера терминалов.

В этом же уроке предлагаю более детально рассмотреть процесс ограничения прав пользователя на терминальном сервере. Да, по умолчанию он лишен административных прав и много чего не может, однако, все равно к этому вопросу нужно отнестись более внимательно, так как пользователь все же находится на самом главном устройстве в вашей компании.

Регистрируйся на следующий вебинар по системному администрированию!

Так что стоит детально проанализировать, что пользователю делать можно, а что нет.

По сути тут может быть две ситуации, когда терминальный сервер реализован в рамках доменной сети, и все пользователи хранятся на контроллере домена. И в ситуации, когда сеть одноранговая и учетками, под которыми будут подключаться пользователи к терминальному серверу, мы управляем непосредственно на терминальном сервере.

Как правило такая схема подходит для небольших компаний, у которых какая-то служба реализована на терминальном сервере, допустим 1С.

Все это я более подробно рассказывал и показывал в видео по настройке терминального сервера! Для тех, кто его не видел, я оставлю ссылку к данному видео. И если вы не понимаете, о чем речь, то для начала посмотрите его.

Читайте также:  Windows forms форма внутри формы

И так, когда мы попадаем на сервер под учеткой обычного терминального пользователя, мы не можем установить софт, однако, нам доступно довольно много различных возможностей:

— доступ к системным дискам

— можно запускать приложения, которые могут не относиться к работе пользователя

— запустить диспетчер серверов

— доступ к элементам панели управления

— доступ к диспетчеру задач

— доступ к командной строке

Давайте приступим к устранению этих недостатков.

Скажу сразу, что все что я буду показывать, это скорее базовые ограничения пользователей, которые нужно выполнить в первую очередь. Однако, на практике бывает множество различных дополнительных ограничивающих политик, так что буду очень рад, если вы в комментариях также поделитесь своим опытом из разряда, что запретили, зачем и как. Таким образом можно будет составить более развернутую картину, ну и записать вторую, а может быть и третью часть данного видео.

Думаю, что нам это вполне по силам 😉 Так как тема действительно интересная и меня уже не один раз расспрашивали по поводу ограничивающих политик.

1) Доступ к жестким дискам сервера

Запретить доступ к данным системных дисков можно через групповую политику, но, если мы попытаемся её изменить через Выполнить \ gpedit.msc то мы изменим групповую политику для всех пользователей на данном сервере, так что изменения затронут как терминальных пользователей, так и административные учетные записи.

А нам нужно ограничить в правах именно учетные записи, которые не имеют административные права на сервере. Для этого запустим редактор групповой политики через консоль (Выполнить \ mmc \ Файл \ Добавить \ Редактор объектов групповой политики \ Обзор \ Пользователи \ Не администраторы \ ОК \ Готово \ ОК) При желании таким образом можно настроить политики для отдельных пользователей.

Конфигурация пользователя \ Административные шаблоны \ Компоненты Windows \ Проводник \ Запретить доступ к дискам через Мой компьютер \ Включена \ Выполнить \ cmd \ gpupdate /force

Входим на сервер под удаленным пользователем и при попытке получить доступ к диску выдается сообщение «Операция отменена из-за ограничений, действующих на этом компьютере»

Причем у вас не получится не просто получить доступ к корню диска, а к любой папке через проводник (Рабочий стол, Загрузки и т.д. Даже если на рабочем столе создать папку и зайти в неё) В общем, везде где есть путь к расположению файла.

Однако, через файловые менеджеры, например тотал коммандер получить доступ к файлам можно. Или через командную строку

Поэтому, более тонко можно настроить через редактирование NTFS прав на файлы и папки (Диск D \ ПКМ \ Свойства \ Безопасность \ Удалить Все и Пользователи \ Добавить к нужной папке пользователя в права, как правило это папка с базой данных и т.д.

Тут уже через файловый менеджер не получится открыть диск и файлы.

Если какая-то нужная папка, то можно разместить ярлык на рабочем столе, где будет фактический путь и поместить в папку для всех пользователей (C:\Users\Public\Desktop \ Разрешить отображение скрытых файлов и папок \ Копировать туда ярлык с папкой и у всех удаленных пользователей появится на рабочем столе эта папка)

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

2) Запрет запуска приложений (Административные шаблоны \ Система \ Не запускать указанные приложения Windows \ TOTALCMD.EXE)

3) Запретить элементы панели управления (Административные шаблоны \ Панель управления \ Запретить доступ к панели управления и параметрам компьютера)

4) Запретить диспетчер серверов (Административные шаблоны \ Система \ Не запускать указанные приложения Windows \ ServerManager.exe)

5) Запретить диспетчер задач (Административные шаблоны \ Система \ Варианты действий после нажатия CTRL+ALT+DEL \ Удалить диспетчер задач \ Включено)

6) Запрет командной строки (Административные шаблоны \ Система \ Запретить использование командной строки)

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

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

Оцените статью