Какая учетная запись имеет наивысший уровень привилегий

Обновлено: 02.07.2024

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

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

Давайте рассмотрим различные варианты и сценарии.

Откройте окно командной строки с повышенными правами

Хотя вы можете выполнять много задач с использованием CMD, для некоторых задач требовались повышенные привилегии. Windows 8.1 позволяет легко открывать Командную строку (Admin) с помощью меню WinX. Этот пост показывает, как вы можете запустить командную строку от имени администратора.

Читать . Как создать ярлык с повышенными привилегиями для запуска Программы.

Сделать программу всегда Запускать от имени администратора

Отключите режим одобрения администратором с помощью Secpol


Этот параметр политики управляет поведением всех параметров политики контроля учетных записей (UAC) для компьютера. Если вы измените этот параметр политики, вы должны перезагрузить компьютер. Доступны следующие варианты: (1) Включено . (По умолчанию) Режим одобрения администратором включен. Эта политика должна быть включена, и соответствующие параметры политики UAC также должны быть установлены соответствующим образом, чтобы позволить встроенной учетной записи администратора и всем другим пользователям, являющимся членами группы администраторов, работать в режиме одобрения администратором. (2) Отключено . Режим одобрения администратором и все параметры политики UAC отключены. Если этот параметр политики отключен, Центр безопасности уведомляет вас о снижении общей безопасности операционной системы.

Имейте в виду, это снизит общую безопасность вашего компьютера!

Предоставление повышенных привилегий в Windows 10/8/7

Стандартный пользователь не имеет каких-либо специальных разрешений для внесения изменений в администрирование сервера. Он может не иметь следующих привилегий: добавление, удаление, изменение пользователя, выключение сервера, создание и администрирование объекта групповой политики, изменение прав доступа к файлам и т. Д.

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

Существует более 35 прав пользователя на компьютер. Некоторые из наиболее распространенных прав пользователя, которые управляют повышенными привилегиями на компьютере, перечислены ниже:

  • Выключить систему
  • Принудительное отключение удаленной системы
  • Войти как пакетное задание
  • Войти как сервис
  • Резервное копирование и восстановление файлов и каталогов
  • Включить доверенный для делегирования
  • Генерация аудита безопасности
  • Загрузка и выгрузка драйверов устройств
  • Управление аудитом и журналом безопасности
  • Взять на себя ответственность за файлы и другие объекты

Права пользователя развертываются с помощью групповой политики (локальный/Active Directory). Это прокладывает путь для последовательного контроля доступа к серверам.

Кроме того, каждый файл, папка и раздел реестра имеют список контроля доступа (ACL). Список предоставляет стандартные разрешения, такие как

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

В обязанности администратора MySQL входит также создание и настройка учетных записей пользователей MySQL . В процессе этой настройки необходимо определить, какие пользователи будут иметь возможность подключения к серверу, откуда они смогут подключиться и что смогут делать после подключения. Два появившихся в MySQL 3.22.11 оператора упрощают эту задачу. Оператор GRANT создает пользователей MySQL и позволяет настроить их привилегии. Оператор REVOKE удаляет привилегии. Эти два оператора являются своего рода внешним интерфейсом для таблиц разрешений базы данных mysql и обеспечивают альтернативу непосредственному редактированию содержимого этих таблиц. Операторы grant и revoke работают с четырьмя следующими таблицами.

Существует еще одна, пятая таблица разрешений ( host ), однако операторы grant и revoke не в состоянии ее обрабатывать.

Если оператор GRANT запускается для определенного пользователя, в таблице user для него создается новая запись . Если оператор определяет для пользователя какие-либо глобальные привилегии (привилегии администратора или привилегии, применяемые сразу ко всем базам данных), они также записываются в таблицу user . Права обработки базы данных , таблицы или столбца записываются соответственно в таблицы db, tables_priv и column_priv .

Применять операторы grant и revoke проще, чем непосредственно редактировать таблицы разрешений. Однако для более полного понимания представленного здесь материала рекомендуется также прочитать лекцию 11, ""Безопасность"" , в которой детально описываются таблицы разрешений.

Роль этих таблиц действительно велика, и администратор должен понимать, каким образом их обрабатывают операторы GRANT и REVOKE .

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

Некоторые пользователи захотят также познакомиться со сценариями mysqlaccess и mysql_setpermission , которые являются частью дистрибуции MySQL . Они представляют собой Perl-сценарии и обеспечивают альтернативу оператору grant , поскольку применяются для установки пользовательских учетных записей. Для использования сценария mysql_setpermission требуется инсталляция поддержки DBI .

Создание новых пользователей и предоставление привилегий

Оператор GRANT имеет следующий синтаксис :

Для успешного его выполнения обязательно нужно правильно определить следующую информацию:

  • privileges (привилегии). Привилегии присваиваются определенному пользователю. Используемые в операторе grant спецификаторы привилегий описаны в представленной ниже таблице.

Спецификаторы привилегий, входящие в первую группу этой таблицы, применяются к базам данных, таблицам и столбцам. Спецификаторы второй группы определяют административные привилегии. Как правило, они применяются довольно редко, поскольку позволяют пользователю влиять на работу сервера. (Не каждому пользователю, например, необходима привилегия shutdown .) В третью группу входят два отдельных спецификатора: спецификатор ALL предоставляет "все привилегии", a USAGE означает "полное отсутствие привилегий". В последнем случае создается новый пользователь , не обладающий никакими правами;

columns (столбцы). Столбцы, к которым применяются определенные привилегии. Этот параметр необязателен и используется только при установке привилегий для столбцов. Имена нескольких столбцов отделяются друг от друга запятыми;

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

user (пользователь). Пользователь, которому присваиваются привилегии. В некоторых версиях MySQL необходимо указывать как имя пользователя, так и компьютер, с которого он сможет подключаться. Такой способ задания легко позволяет определить двух пользователей с одинаковым именем, но подключающихся с разных компьютеров. Возможности MySQL позволяют их различать и наделять различными правами.

Имя пользователя в некоторых версиях MySQL представляет собой имя, используемое при подключении к серверу. Оно вовсе не обязательно должно быть связано с именем регистрации в ОС UNIX или Windows. Если имя пользователя MySQL не определено явным образом, клиентские программы по умолчанию применяют его в качестве регистрационного имени, однако это необязательно. Не существует также каких-либо особых требований, чтобы суперпользователь MySQL, обладающий максимальными правами, имел имя root . По желанию его можно изменить в таблицах разрешений на nobody , если для выполнения определенных операций требуются его полномочия;

password (пароль). Присвоенный пользователю пароль, который не является обязательным. Если для нового пользователя опустить выражение IDENTIFIED BY , пароль ему присвоен не будет (что не совсем разумно с точки зрения безопасности). Если же этот оператор задается для уже существующего пользователя, введенный пароль заменит используемый до настоящего момента. Старый пароль останется неизменным, если новый не будет определен. Строка пароля, задаваемая с помощью выражения IDENTIFIEDBY , должна представлять собой буквенную строку, которую при записи зашифрует оператор grant . Поэтому не следует применять функцию password() , применяемую с оператором SET password .

Оператор with grant option является необязательным. С его помощью можно предоставить пользователю все привилегии, определенные оператором GRANT для других пользователей. Этот оператор можно использовать для делегирования возможностей определенных категорий другим пользователям.

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

Чтобы определиться, какую же форму оператора GRANT применить, достаточно ответить на следующие вопросы.

Кто и откуда может подключаться к серверу?

Какой уровень привилегий должен иметь пользователь и на доступ к чему эти привилегии предоставляются?

Необходимо ли пользователю предоставлять административные привилегии ?

Давайте попробуем ответить на эти вопросы и рассмотрим примеры оператора grant для создания учетных записей пользователей MySQL .

Термин “привилегия” подразумевает права или возможности, которые обычно не разрешаются, а разрешаются только в порядке исключения из общих правил. Введение неравноправия программ в виде уровней привилегий (уровней PL) является средством защиты программных сегментов и сегментов данных операционной системы. Защищаются программы ОС различных уровней иерархии от ошибок в пользовательских программах и в программах операционной системы более низких уровней иерархии.

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

В микропроцессоре установлено 4 уровня привилегий (PL) , которые задаются номерами от 0 до 3.

Наиболее привилегированным является уровень с наименьшим номером. Степень защищенности сегмента также имеет 4 уровня, которые схематически представляются в виде вложенных колец защиты.

3 – программы пользователя

2 – служебные программы

1 – Драйверы устройств и утилиты ОС

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

Наименее защищенными являются прикладные программы пользователя, которым присваивается уровень с номером 3. Остальные уровни отводятся для системных программ, которые разделяются на 3 уровня в зависимости от требований к их защищенности. Наиболее защищенная часть - это ядро ОС, которой присвоен уровень 0. В ядро входит часть ОС, обеспечивающая инициализацию работы, а также управление доступом к памяти и другие функции, нарушение которых может полностью вывести ОС из строя. Основная часть программ ОС имеет уровень 1. К этому уровню, в частности, относятся драйверы устройств и утилиты.

На втором и третьем уровнях располагаются программы разработчиков комплексных систем, например СУБД, и программы пользователей соответственно.

Проверка защиты по уровням привилегий осуществляется при выполнении почти каждой машинной команды во время работы микропроцессора в защищенном режиме (Р – режиме).

Операционная система необязательно должна поддерживать все четыре уровня привилегий. Например, система UNIX имеет всего 2 уровня: операционной системе присвоен номер 0, а программам пользователей – уровень 3. Система OS/2 поддерживает три уровня: программы ОС работают на 0 уровне, специальные процедуры для обращения к устройствам ввода/вывода действуют на уровне 2, а прикладные программы пользователей выполняются на уровне 3.

Задание уровней привилегий.

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

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

Кроме уровня привилегий сегмента DPL существует понятие текущего уровня привилегий CPL (от англ. Current Privilege Level или Code Privilege Level). Текущий уровень привилегий CPL определяется полем DPL дескриптора текущего программного сегмента. После загрузки программного сегмента в ОЗУ и передачи на него управления значение DPL копируется в поле CPL регистра программного сегмента CS. После этого уровень привилегий программного сегмента DPL становится текущим уровнем привилегий CPL. Таким образом, текущий уровень привилегий является уровнем привилегий исполняемого программного сегмента.

Кроме уровней привилегий DPL и CPL , механизм защиты использует понятие уровня привилегий запроса RPL (Requested Privilege Level). Этот уровень привилегий задается двумя младшими разрядами селектора. Уровень привилегий запроса RPL селекторов сегментов данных сохраняется в соответствующих сегментных регистрах SS, DS, ES, FS, GS. Понятие уровня привилегий запроса RPL служит для защиты программ и данных операционной системы от ошибок программ, изменивших уровень привилегий при межуровневых передачах управления.

4. Работа механизма защиты.

Проверка корректности использования отдельных команд.

К привилегированным командам относятся те, на выполнение которых влияет уровень привилегий программы или привилегии устройств ввода/вывода. Микропроцессор имеет три группы привилегированных команд, степени привилегий которых различны. Это: PLO – команды; IOPL – чувствительные команды; команды, модифицируемые в соответствии с текущим уровнем привилегий.

PLO – команды – это команды, выполнение которых разрешено только на уровне привилегий 0. При попытке выполнить их на другом уровне привилегий генерирует сигнал нарушения общей защиты и вызывает прерывание программы, в которой эта команда встретилась (прерывание 13). В эту группу команд входят команды останова процессора и команды загрузки системных объектов, в которых источником или получателем данных выступают системные регистры управления CRn, отладки DRn и проверки TPn.

IOPL – чувствительные команды (Input – Output PL команды). Это команды , которые изменяют состояние флажка прерываний IF, выполняют захват шины или операцию ввода/вывода. В микропроцессоре есть специальный регистр флагов EFLAGS, в котором есть двухразрядное поле IOPL , определяющее уровень привилегий операций ввода/вывода. Для выполнения этих команд программа необязательно должна иметь уровень привилегий CPL равный нулю. Достаточно, чтобы уровень привилегий программы CPL был выше уровня, определяемого полем IOPL в регистре EFLAGES, т.е. необходимо выполнение условия CPL IOPL генерируется нарушение общей защиты и происходит прерывание текущей программы (прерывание 13).

Команды, модифицируемые в соответствии с текущим уровнем привилегий. Это всего две команды:

POPFD – загрузка 4-хбайтного регистра флагов EFLAGS из стека;

POPF – загрузка 2-х байтного регистра флагов EFLAGS из стека.

Команды POPFD и POPF сами по себе не являются привилегированными и любая программа их может содержать. Эти команды могут изменять любые биты в регистрах флагов, кроме битов IOPL и флага IF. Двухразрядное поле IOPL в регистрах флагов может быть изменено (модифицировано), если эти команды встретятся в программах ОС нулевого уровня. Флаг IF модифицируется только при выполнении условия CPL 18 / 22 18 19 20 21 22 > Следующая > >>

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

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

Привилегии задач оказывают влияние на выполнение инст­рукций и использование дескрипторов. Текущий уровень привилегии задачи CPL ( Current Privilege Level ) определяется двумя младшими битами регист­ра CS .

CPL задачи может изменяться только при передаче управления к новому сегменту через дескриптор шлюза (см. главу 5). Задача начинает выполняться с уровня CPL, указанного селектором кодового сегмента внутри TSS , когда задача иницииру­ется посредством операции переключения задач. Задача, выполняемая на нуле­вом уровне привилегий, имеет доступ ко всем сегментам, описанным в GDT , и является самой привилегированной. Задача, выполняемая на уровне 3, имеет самые ограниченные права доступа. Текущий уровень привилегии задачи может изме­няться только при передаче управления через шлюзы.

Привилегии сегмента задаются полем DPL байта управления доступом.

DPL определяет наибольший номер уровня привилегий (фактически, наименьшие привилегии), с которым возможен доступ к данному дескриптору. Самый защищенный (привилегированный) дескриптор имеет DPL =0, к нему имеют до­ступ только задачи с CPL =0 . Самый общедоступный дескриптор имеет DPL =3 , его могут использовать задачи с CPL =0, 1, 2, 3. Это правило применимо ко всем дескрипторам, за исключением дескриптора LDT .

Привилегии селектора задаются полем RPL ( Requested Privilege Level ) — двумя младшими битами селектора.

При обращении в сегмент данных с помощью RPL можно ограничить привилегии (относительно CPL ), вводится понятие эффективный уровень привилегий EPL ( Effective Privilege Level ), ко­торый определяется как максимальное из значений CPL и RPL, Селектор с RPL =0 не вводит дополнительных ограничений.

EPL = MAX ( CPL , RPL )

Контроль доступа к сегментам данных производится при исполнении команд, загружающих селекторы в SS , DS , ES , FS и GS . Команды загрузки DS , ES , FS и GS должны ссылаться на дескрипторы сегментов данных или сегментов кодов, допус­кающих чтение. Для получения доступа эффективный уровень привилегий EPL должен быть равным или меньшим (арифметически) уровня привилегий DPL де­скриптора.

EPL £ DPL

· Команды JMP или CALL могут ссылаться либо на подчиненный сегмент кода с DPL, большим или равным CPL, либо на неподчиненный сегмент с DPL равным CPL;

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

· Инструкции возврата, которые не переключают задачи, могут передать управление только кодовому сегменту с таким же или меньшим уровнем привилегий;

· Переключение задач может выполняться с помощью вызова, перехода или прерывания, которые ссылаются на шлюзы задачи или сегмент состояния задачи ( TSS ) с тем же или меньшим уровнем привилегий .

Смена уровня привилегий, происходящая при передаче управления, автома­тически вызывает переопределение стека. Начальное значение указателя стека SS : SP для уровня привилегий 0, 1, 2 содержится в TSS. При передаче управле­ния по командам JMP или CALL в CS : SP загружается новое значение указателя стека, а старые значения помещаются в новый стек. При возврате на прежний уро­вень привилегий его стек восстанавливается (как часть инструкции RЕТ или IRЕТ). Для вызовов подпрограмм с передачей параметров через стек и сменой уровня при­вилегий из предыдущего стека в новый копируется фиксированное число слов, заданное в шлюзе. Команда межсегментного возврата RET с выравниванием ука­зателя стека при возврате корректно восстановит значение предыдущего указателя.

Привилегии и битовая карта разрешения ввода/вывода контролируют воз­можность выполнения операций ввода/вывода и управления флагом пре­рываний IF . Уровень привилегий ввода/вывода определяется полем IOPL ( Input / Output Privilege Level ) регистра флагов. Значение IOPL можно изме­нить только при CPL =0 (только для операционной системы).

3.2 Защита по функциональному назначению.

Для надежной работы многозадачных систем необходима защита задач друг от друга. Защита предназначена для предотвращения несанкционированного до­ступа к памяти и выполнения критических инструкций — команды HLT , которая останавливает процессор, команд ввода/вывода, управления флагом разреше­ния прерываний и команд, влияющих на сегменты кода и данных. Механизмы защиты вводят следующие ограничения:

· Ограничение использования сегментов (например, запрет записи в только читаемые сегменты данных или попытки исполнения данных как кода). Для использования доступны только сегменты, дескрипторы которых описаны в GDT и LDT ;

· Ограничение доступа к сегментам через правила привилегий;

· Ограничение набора инструкций — выделение привилегированных инст­рукций или операций, которые можно выполнять только при определен­ных уровнях CPL и IOPL ;

· Ограничение возможности межсегментных вызовов и передачи управле­ния.

В защищенном режиме при исполнении инструкций процессор выполняет проверки условий, порождающих исключения:

Проверка при загрузке сегментных регистров

§ загрузка в SS сегмента кода или сегмента данных только для чтения;

§ загрузка управляющих дескрипторов в DS , ES или SS;

§ загрузка только исполняемых сегментов в DS , ES или SS;

§ загрузка сегмента данных в CS .

Проверка ссылок операндов

Проверка привилегий инструкций

При выполнении команд IRET и POPF с недостаточным уровнем привилегий биты IF и IOPL в регистре флагов не изменяются, исключения не порождаются:

· IF не меняется, при CPL > IOPL;

· IOPL не меняется, если CPL > 0.

· ARPL выравнивание RPL. При ее исполнении RPL селектора приравни­вается максимальному значению из текущего RPL селектора и поля RPL в указанном регистре. Если при этом RPL изменился, устанавливается ZF =1;

· VERR проверка возможности чтения: если сегмент, на который указы­вает селектор, допускает чтение, устанавливается ZF =1;

· VERW проверка возможности записи: если сегмент, на который указы­вает селектор, допускает запись, устанавливается ZF =1;

· LSL — чтение лимита сегмента в регистр, если позволяют привилегии. При успехе устанавливается ZF =1;

· LAR — чтение байта доступа дескриптора в регистр, если позволяют при­вилегии. При успехе устанавливается ZF =1.

Читайте также: