Дескрипторы что это в компьютере

Обновлено: 02.07.2024

Из этой статьи вы узнаете про ещё один компонент безопасности операционной системы Windows, а именно про дескрипторы безопасности.

Дескрипторы безопасности

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

Дескриптор безопасности — это информация, связанная с объектом, которая определяет, кто и какие действия с объектом может выполнять.

В дескриптор безопасности входят:

  • Номер версии модели монитора безопасности SRM.
  • Дополнительные флаги.
  • SID владельца объекта.
  • Избирательный список управления доступом — DACL. Это список, кто и какой доступ имеет к объекту.
  • Системный список управления доступом — SACL. Это список операций которые должны регистрироваться в журнале аудита безопасности.

ACL состоит из субъектов доступа (кто может обращаться к объекту) и набора прав для каждого субъекта (писать, читать, исполнять). DACL — указывает какой доступ имеет определенный субъект к этому объекту. SACL — указывает какие события нужно заносить в журнал аудита безопасности.

Практика

Давайте посмотрим дескриптор безопасности какого-нибудь процесса. Заметьте, дескриптор безопасности процесса определяет кто может что-то сделать с этим процессом, а не то что может сделать сам процесс. Посмотреть на дескриптор безопасности можно из Process Explorer. Я выбираю любой процесс svhost (процесс какой-то службы), открываю его свойства. Затем перехожу на вкладку “Securuty” и внизу нажимаю кнопку “Permision“:

Права объекта «Процесс»

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

Если погрузиться дальше, нажимаем кнопку “Дополнительно“, далее два раза щелкаем по группе “Администраторы“, и в открывшемся окне нажимаем ссылку “Отображение дополнительных разрешений“. Вы увидите такую ACE запись (записи в ACL называются ACE):

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

То есть Администраторы могут запрашивать информацию о процессе.

Вот еще некоторые сведения о DACL:

  • Владельцы объекта имеют возможность редактировать DACL записи. То есть могут дать себе полные права, или дать права к этому файлу другому пользователю.
  • Запрещающие правила ACL всегда имеют приоритет над разрешающими.

Если открыть свойства файла или папки, перейти на вкладку “Безопасность“, а затем нажать кнопку “Дополнительно“. И перейти на вкладку “Действующие права доступа“, то можно выбрать пользователя и проверить его права доступа к этому файлу или каталогу:

Аудит прав файла или папки

Динамическое управление доступом (DAC)

В дополнение к перечисленному выше стоит упомянуть ещё одну технологию – динамическое управление доступом.

Механизм избирательного управления доступом, описанный выше был еще с первой версии Windows NT. Но начиная с Windows 8 и Server 2012 появилось динамическое управление доступом (DAC). Оно рассчитано на домен.

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


Дополнительно к этому на файлы и каталоги стало возможно навешивать различные теги.

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

DAC не заменяет DACL, а лишь дополняет его. Так что если DACL запрещало доступ к файлу, то с помощью DAC открыть доступ мы не сможем. Получится лишь ограничить доступ ещё сильнее, оставив доступ только у тех, кому он действительно нужен.

Вот ещё примеры действий, которые можно совершить используя DAC:

  • дать доступ пользователю к файлу только с определенного компьютера, при этом с других компьютеров у него не будет доступа;
  • открыть доступ к файлу сотруднику, если у него соответствующая должность;
  • дать доступ пользователю из определённого города, к файлу с определённым тегом.

Конфигурация DAC определяется в Active Directory и распространяется через групповые политики. Для этого был расширен протокол Kerberos. Подробнее про DAC может посмотреть в этом видео.

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

Например, когда вы открываете или создаете новый файл, операционная система формирует для себя запись для представления этого файла и хранения информации о нем. У каждого файла индивидуальный файловый дескриптор Linux. Открыли 100 файлов — где-то в ядре появились 100 записей, представленных целыми числами.

Как файлы получают дескрипторы

Обычно файловые дескрипторы выделяются последовательно. Есть пул свободных номеров. Когда вы создаете новый файл или открываете существующий, ему присваивается номер. Следующий файл получает очередной номер — например, 101, 102, 103 и так далее.

Как работает файловый дескриптор

Дескриптор для каждого процесса является уникальным. Но есть три жестко закрепленных индекса — это первые три номера (0, 1, 2).

Номер файлового дескриптора и режим

Когда вы завершаете работу с файлом, присвоенный ему дескриптор освобождается и возвращается в пул свободных номеров. Он снова доступен для выделения под новый файл.

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

Понятием «файловый дескриптор» оперируют и в языках программирования. Например, в Python функция os.open(path, flags, mode=0o777, *, dir_fd=None) открывает путь к файлу path, добавляет флаги и режим, а также возвращает дескриптор для вновь открытого файла. Начиная с версии 3.4 файловые дескрипторы в дочернем процессе Python не наследуются. В Unix они закрываются в дочерних процессах при выполнении новой программы.

Для чего нужны файловые дескрипторы

Чтобы оценить важность файловых дескрипторов, нужно разобраться, как работает файловая система.

  1. В традиционной реализации Unix дескрипторы индексируются в таблицу дескрипторов для каждого процесса, поддерживаемого ядром.
  2. Таблица файловых дескрипторов индексирует общесистемную таблицу файлов, открытых всеми процессами.
  3. В таблице файлов записывается режим, в котором открыт файл или другой ресурс — например, для чтения, записи, чтения и записи.
  4. Режим индексируется в таблицу индексных дескрипторов, описывающих фактические базовые файлы. В каждом индексном дескрипторе хранятся атрибуты и расположение дисковых блоков переданного объекта.

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

Что такое плохой файловый дескриптор

В однопоточных приложениях такая проблема обычно не возникает.

Что можно делать с файловыми дескрипторами

Файловые дескрипторы можно использовать для исправления ошибок. Например, если на диске нет свободного места, но вы не видите файлы, которые занимают пространство, то можно посмотреть открытые дескрипторы. Это поможет понять, какое приложение заняло весь доступный объем.

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

Устройства с интерфейсом подключения USB в последнее время совсем вытеснили другие стандарты соединения девайсов с компьютером. Однако и с таким популярным видом подключения иногда возникают проблемы. В нашей статье мы подробно расскажем об ошибке «Сбой запроса дескриптора USB-устройства», опишем, из-за чего она возникает и что можно предпринять для её устранения.

Общие сведения

Вышеупомянутая ошибка сообщает пользователю о том, что устройство, подключенное через USB-порт, отключено системой из-за неизвестной ошибки. При этом в диспетчере устройств оно не опознается и имеет статус «Неизвестное» .

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

Вариант №1: Неисправность USB порта или подключаемого устройства

Прежде чем приступить к устранению неполадки, нужно убедиться в исправности подключаемого устройства и USB разъема на компьютере. Сделать это достаточно легко — нужно будет просто подключить девайс к другому порту. Если он работает, и в диспетчере не появляются ошибки, то по всей видимости гнездо USB порта вышло из строя. Для большей уверенности можно взять заведомо исправную флэшку или другое USB устройство и подключить его в тот же разъем.

Вариант №2: Недостаточная мощность питания

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

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

  1. В контекстном меню кнопки «Пуск» выбираем вариант «Диспетчер устройств» .

2. Далее в появившемся окне открываем раздел с контроллерами USB.

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

4. Кликаем по каждому пункту дважды и в новом окне переходим на вкладку «Питание» .

5. Изучаем цифры в параметрах «Доступная мощность» и «Требует питание» .

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

Вариант №3: Энергосберегающие технологии

  1. Открываем диспетчер устройств, как это было описано в предыдущем способе.
  2. Далее опять раскрываем каталог с USB устройствами.
  3. Теперь, переходя в настройки каждого устройства, открываем вкладку «Управление электропитанием» .
  4. Далее снимаем птичку в пункте «Разрешить отключение этого устройства» .
  5. После проделанных операций кликаем по кнопке «ОК» .

6. Закончив установку требуемых настроек на всех устройствах USB, открываем контекстное меню кнопки «Пуск» и выбираем пункт «Управление электропитанием» .

7. Далее кликаем по ссылке «Дополнительные параметры питания» .

Основные интернет термины и понятия

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

К сожалению сегодня понятие дескриптор Википедия (ВикипедиЯ) определяет довольно скудными словами:

  • «тот (та). который (-ая). » или
  • «такой (-ая). что. ».

В некоторых языках к дескрипции относят артикли — соответственно - определённый (определённые Д.) или неопределённый (неопределённые Д.).

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

Значение дескриптора в компьютере

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

Дескриптор

ДЕСКРИПТОР [descriptor] — единица языка информационно-поисковой системы, соответствующая определенному ключевому или базовому понятию, включенному в тезаурус этой системы. Это термин со строго фиксированным значением, без синонимов. Из дескрипторов для каждого документа, хранящегося в системе, составляется его поисковый образ.

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

Определение дескриптор в поисковых системах мы можем свести к набору ключевых слов, по которым система (компьютер) найдет документ, так как эти слова полностью и однозначно характеризуют содержание документа. Как написать статью на сайт Понятия: раскрутка продвижение оптимизация сайтов Зачем создают сайты Чем свой сайт лучше Сайт визитка

дескриптор

(позднелат. descriptor лат. describere описывать) лексическая единица (слово, словосочетание) информационно-поискового языка, служащая для описания основного смыслового содержания документа (текста).

Новый словарь иностранных слов.- by EdwART, , 2009.

дескриптор

а, м. (нем. Deskriptor, фр. descripteur, англ. descriptor и вокруг слова «птичка»:

для программы (напр. браузера) будет означать команду: – «нарисовать на экране монитора слово «птичка» жирными буквами». Для людей такие конструкции из скобок и сокращений являются не понятными, но для программ они являются знаками команды: «начиная с первой буквы после и последней перед рисовать жирными буквами».

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

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

Если составитель электронного документа (данной статьи на сайте) вставил дескриптор HTML в текст, то результат будет точно в соответствии с выбранным тегом – дескриптор является командой для программы.

В значении символ команды (тег или тэг) дескриптор используется и в других языках программирования.

Желающие могут кликнут правой кнопкой мыши на данную страницу и выбрать в меню строку "Исходный код страницы" и полюбоваться множеством тегов - дескрипторов, которые автор и программа (движок сайта) использовали для того, чтобы читатель (вы) увидели текст именно таким, как его задумал автор (составитель). Часть тегов установил я лично, часть дописал движок моего сайта, но вы их сначала не увидели, потому как они служебные.

В электронном документе всё сделано так, чтобы читатель мог удобно прочитать красиво оформленный текст, а все служебное, что вижу я - прячется от него за ненужностью. Ведь из кода страницы трудно вычитать нужную информацию, которая есть, но вперемежку с тегами HTML. Как видите, сам текст составляет незначительную часть от служебных знаков - тегов, при помощи которых ваш браузер (программа, перетащившая страницу моего сайта на ваш компьютер) рисует эту страницу (оформляет) на экране вашего монитора.

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

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

На кого рассчитана статья?!Если человек не знает, что такое дескриптор, то это означает, что он далек от всего того, что имеет отношение к компьютерно-программной тематике и для него слова "язык разметки НTML" еще более непонятны, чем "дескриптор". Таким людям нужно пояснить смысл термина понятными простыми словами и примерами. Вместо того, чтобы получить ответ, человек получает еще более сложное объяснение, которое даже воспринять может с трудом! Данная статья ориентирована на человека, который понимает в программировании, а если так, то ему известен и смысл слова "Дескриптор".

Я, конечно, извиняюсь перед многими читателями - ЗА ВЫСОКОЕ МЕСТО В ЯНДЕКСЕ - проcто Яша любит движок MaxSite CMS, на котором создан мой сайт. Давно уже не заглядывал в этот раздел - и даже не ожидал, что столько людей интересовалось значением слова "дескриптор".

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

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

Дескриптор используется и языках программирования в значении = символ команды = тег или тэг

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