У меня есть двоичный файл с разрешениями ниже. -rwsr-xr-x. 1 root root поэтому, когда какой-либо пользователь X пытается выполнить двоичный файл, он запускается от имени root. Более того, пользователь может уничтожить этот процесс (запущенный от имени пользователя root) из своего идентификатора, используя kill -9 Любой способ предотвратить возможность уничтожения этого процесса пользователем.

1 ответ1

0

Пользователь может убить процесс, потому что процесс запускается с Effective UID root но с Real UID самого себя. Другие пользователи не смогут убить этот процесс.

Вы можете попробовать установить бит SETUID и SETGID для id:

# chmod u+s,g+s $(which id)

а затем сравните вывод:

id

а также

sudo id

и вы увидите разницу.

Также вы можете попытаться завершить процесс с установленными битами SETUID и SETGID, который запускается текущим пользователем с помощью sudo -u SOMEOTHERUSER . Вы увидите, что его нельзя убить.

Я предполагаю, что смысл битов SETUID и SETGID состоит не в том, чтобы предоставить root-права владение процессом, а просто в том, чтобы повысить привилегии, но оставить процесс, принадлежащий исполняющему пользователю. И я сомневаюсь, что вы можете изменить это независимо от того, нравится вам это или нет (кроме как взломать ядро или около того?).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .