ГлавнаяОперационные системыLinuxКак Setuid позволяет пользователям запускать файлы с повышенными привилегиями

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

Когда вы запускаете исполняемый файл в Linux, он обычно запускается с текущим идентификатором пользователя и группы. Однако бывают случаи, когда вам нужно запустить этот файл от имени другого пользователя (например, root). Вместо переключения учетной записи пользователя вы можете использовать setuid для запуска исполняемого файла от имени владельца файла, а не от текущего пользователя. Здесь мы объясним, как работает setuid и как он позволяет пользователям запускать исполняемые и двоичные файлы с повышенными привилегиями.

Как работает setuid?

Setuid означает SET User ID при выполнении. Допустим, у нас есть исполняемый файл под названием «identity», созданный пользователем root. Когда вы запустите его, он будет работать с вашим идентификатором пользователя, идентификатором группы и привилегиями пользователя. Если бит setuid установлен в файле «identity», при его запуске он будет запускаться от имени пользовател

Как работает setuid?

ователя.

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

Начальное разрешение Setuid

Пользователь «john1» запускает файл «identity», который при выполнении становится процессом. Как показано в списке процессов, процесс создается и запускается под именем пользователя и идентификатором пользователя «john1».

Setuid John Идентификатор владельца

Далее, как пользователь root, мы устанавливаем бит setuid файла «identity»:

chmod u+s /usr/bin/identity

“u” означает, что бит setuid (+s) должен быть установлен только для пользователя.

Набор идентификаторов Setuid

Для владельца в исполняемой части строки разрешения мы видим, что «x» заменено на «s». Всякий раз, когда вы встречаете букву «s» для исполняемого файла, это означает, что для него установлен бит setuid.

Числовой вариант команды chmodтакже можно использовать, как показано ниже.

chmod 4755 /usr/bin/identity

Добавление 4 в числовую строку разрешения означает включение бита setuid.

Вот что происходит, когда «john1» снова выполняет файл «identity». Глядя на список запущенных процессов, мы теперь видим, что процесс создается и запускается пользователем «root», а не «john1».

Setuid Джон Владелец идентификаторов

Важное использование бита setuid

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

Причина проста: Информация о пароле пользователя сохраняется в файлах «/etc/passwd» и «/etc/shadow», которые могут быть изменены только «root». Когда «john1» попытается сменить пароль для себя, ему потребуется разрешение на изменение информации в двух вышеупомянутых файлах. Установка бита setuid на passwdпозволяет «john1» временно иметь права root для изменения пароля пользователя, а также обновления информации в двух файлах.

Угроза безопасности Setuid

Если вы не будете осторожны, злоумышленник может использовать двоичные файлы setuid для контроля над вашей системой. Обычно пользователям не следует устанавливать программы setuid, особенно setuid для других пользователей. Самое главное: в вашей домашней папке не должно быть двоичных файлов с поддержкой setuid для пользователя root. Обычно это трояны или вредоносные программы.

Заключение

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

Обратите внимание, что биты setuidи setgidчувствительны к безопасности и должны использоваться только квалифицированными

Важное использование бита setuid

ong>Читать далее:

Угроза безопасности Setuid

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи