В 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).
Например, возьмем команду 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: числовой и символьный.
числовой метод:
Мы используем следующий код для разрешений установки:
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.
Чтобы установить 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, на уровне сборки этого исполняемого файла. Однако неправильное использование специальных разрешений может стать серьезной инициативой. защита в сфере кибербезопасности используется как потенциальная уязвимость для защиты привилегий на автомобиле. Так что використовуйте их с умом и очень, очень осторожно!