Поиск по сайту:
Враг трусливо наступал (Из передовицы 1941 года.).

Специальные разрешения: SUID, GUID и sticky bit

19.02.2022
Специальные разрешения: SUID, GUID и sticky bit

В Linux все являются файлами, и у всего есть владельцы. Специальный владелец, известный как корень, также имеет специальное разрешение на запуск всего и вся. Все остальные имеют ограниченные привилегии и очень ограниченный доступ к файлам и папкам. Чтобы повысить наши привилегии, нужно использовать команду sudo. Однако не стоит давать пароль root случайным людям всякий раз, когда им нужно сделать что-то, требующее более высоких привилегий. Итак, что вы можете сделать тогда? Что ж, мы можем использовать то, что известно как SUID, GUID и sticky bit. В этой статье мы подробно рассмотрим SUID, GUID и Sticky Bit.

 

SUID

SUID или Set Owner User ID — это битовый флаг разрешения, который присоединяется к исполняемым файлам. SUID позволяет альтернативному запуску запускать исполняемый файл с теми же разрешениями, что и у владельца файла, вместо разрешенного альтернативного пользователя.

Давайте используем пример для SUID. случилось, что есть три пользователя: ANDREY, MAX и ANNA. полный, что у ANDREY есть root-доступ; то есть она может использовать команду sudo со стоимостным паролем. В дальнейшем, что и MAX, и ANNA имеют меньше или очень ограниченные привилегии на машине. Теперь предположим, что у нас есть исполняемый файл (например, su, подключение для доступа пользователей), применение ROOT. Имейте в виду, это важно; он принадлежит ROOT, и поэтому только ROOT имеет права на его выполнение!!!

Однако, возможно, мы назначаем ему SUID. мы нашли его SUID, исполняемый файл su для использования не как MAX или ANNA, а как ROOT. Технические характеристики MAX может запускать свои файлы, а ANNA может запускать файлы. Им не разрешено запускать файлы, запрещение корню. Если они играют, как правило, вам необходимо ввести его sudo. Но здесь MAX запускает файл, который ей не принадлежит! Итак, мы отмечаем, что в сборке SUID исполняемый файл используется как владелец файла, ROOT, а не человек, запускающий его (например, MAX или ANNA).

Читать  Ansible. Знакомство с Ansible

Например, возьмем команду passwd. Команда passwd используется для изменения пароля пользователя. Теперь, если мы внимательно посмотрим на файл, то заметим, что вместо x, запускающего выполнение, будет буква «s». «s» здесь означает SUID. Вы также заметите, что файл принадлежит ROOT. Технически это означает, что только ROOT имеет право на его выполнение; однако вы заметите, что каждый может ввести команду. Таким образом, с установленными разрешениями SUID этот конкретный исполняемый файл может выполняться как MAX, так и ANNA, когда он на самом деле им не принадлежит! И MAX, и ANNA получают те же права, что и ROOT, при использовании этого широкого исполняемого файла. Это так, даже если и MAX, и ANNA не имеют root-доступа и привилегий root.

Короче говоря, из-за SUID и MAX, и ANNA запускают команду passwd, как если бы они были ее владельцем, ROOT!

Теперь предположим на мгновение, что мы удаляем SUID из команды passwd, для этого используем команду passwd (после удаления SUID).

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

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

Чтобы найти те исполняемые файлы, в которых установлен SUID, мы набираем:

# чтобы получить все suids

find / -perm -4000 2> /dev/null

# чтобы получить все руководства

find / -perm -2000 2> /dev/null

# найти все липкие биты

find / -perm -1000 2> /dev/null

Настройка SUID

Теперь нам необходимо овладеть SUID. Есть два варианта использования chmod: числовой и символьный.

Читать  Команда Pidof в Linux

 

числовой метод:

Мы используем следующий код для разрешений установки:

SETUID = 4

SETGID = 2

STICKY = 1

NONE = 0

READ = 4

WRITE = 2

EXECUTE = 1

 

Во время обычного разрешения мы бы написали следующее:

chmod 0777 executable

 

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

chmod 4XXX executable

 

Ex:

chmod 4744 script

 

Здесь мы должны отметить 4-е место в премьер-министре. 4 дает разрешение SUID.

X для выполнения будет заменен на «s». Теперь, если файл не был установлен как исполняемый, он будет иметь заглавную букву «s» («S»). Итак, у нас есть:

-rwsr--r--

 

«s» означает, что SUID установлен (и файл является исполняемым)!

 

заданный символический метод:

То же самое можно сделать и символическим методом:

chmod u+s executable

 

Ex:

chmod u+s script

 

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

Чтобы отозвать права SUID, введите:

chmod u-s executable

 

Ex:

chmod u-s script

GUID

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

 

Чтобы установить GUID с помощью числового метода:

chmod 2XXX executable

 

Ex:

chmod 2744 script

 

Здесь следует отметить цифру 2 (в первой позиции), которая отмечает GUID.

Читать  Обзор и сравнение уникальных оболочек Linux

 

Чтобы установить GUID с помощью символьного метода:

chmod g+s executable

 

Ex:

chmod g+s script

 

Здесь есть заглавная «С». Это означает, что файл не является исполняемым. Это легко исправить, выполнив следующий код:

chmod +x executable

 

Ex:

chmod +x script

Sticky bit

sticky bit применяется к каталогам. Когда для определенного каталога устанавливаются закрепленные биты, любой пользователь имеет доступ к каталогу и совладению, может удалять только общие файлы и не может касаться или удалять файлы, принадлежащие кому-либо другому. Sticky bits обычно воспроизводятся в общей папке. Никто не может удалить чужой файл в общей папке, даже если разрешение равно 777.

 

Чтобы установить sticky bit с помощью ручного метода:

chmod 1XXX executable

 

Ex:

chmod 1744 script

 

Это будет липкий бит.

 

Чтобы установить sticky bit с помощью символьного метода:

chmod o+t executable

 

Ex:

chmod o+t script

 

Разрешение является значительной частью Linux. Команда chmod обычно используется для установки и изменения разрешений. Однако наложения специального разрешения, которые также можно установить с помощью команды chmod. Эти специальные определения предполагаются как SUID, GUID и sticky bit. При применении к возбудителю исполняемому файлу особого уровня риска с определением владельца файла или группы. Другими словами, он временно получил привилегии пользователя до владельца, обычно root, на уровне сборки этого исполняемого файла. Однако неправильное использование специальных разрешений может стать серьезной инициативой. защита в сфере кибербезопасности используется как потенциальная уязвимость для защиты привилегий на автомобиле. Так что використовуйте их с умом и очень, очень осторожно!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


1 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
EVGA представила новую материнскую плату, предназначенную для профессиональных оверклокеров. Присоединяясь к семейству…

Спасибо!

Теперь редакторы в курсе.