В ядре Linux существует более 30 привилегий. Они назначаются потокам выполнения и определяют, может ли данный поток производить некие действия. Например, чтобы выполнять привязку к какому-либо порту с номером меньше 1024, потоку требуется привилегия CAP_NET_BIND_SERVICE. Привилегия CAP_SYS_BOOT предназначена для того, чтобы указать, какие исполняемые файлы должны иметь право на перезагрузку системы. Для загрузки и выгрузки модулей ядра служит привилегия CAP_SYS_MODULE. Я уже упоминала ранее, что утилита ping выполняется от имени суперпользователя ровно столько времени, сколько ей нужно для того, чтобы предоставить себе привилегию на открытие потоком выполнения сетевого сокета прямого доступа, а именно привилегии CAP_NET_RAW. Подробную информацию о привилегиях можно получить на машине под управлением Linux с помощью команды man capabilities. Посмотреть список привилегий процесса позволяет команда getpcaps. Можно назначать привилегии непосредственно файлам. С помощью команды setcap добавьте для этого файла привилегию CAP_NET_RAW, которая позволит ему открывать сетевые сокеты прямого доступа. Смена привилегий требует полномочий суперпользователя. Точнее, необходима только привилегия CAP_SETFCAP, автоматически предоставляемая пользователю root ### Повышение полномочий Термин «повышение полномочий» означает выход за пределы имеющихся полномочий для выполнения действий, которые не были разрешены изначально. Для повышения полномочий злоумышленник может воспользоваться, например, системной уязвимостью или неудачными настройками и предоставить себе дополнительные права.