LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Если принять что взломщик рута ещё не получил (иначе зачем ему подбирать пароли через su), то отправка сигнала не-рутом руту (suid-ному бинарнику su) конечно не получится. Но есть обходной путь: запускаем su в виртуальном терминале и шлём туда ctrl+c (символ с кодом 3) со стороны сервера, ядро сделает из него SIGINT и разошлёт всем клиентам, вне зависимости от их прав. Можно и другие сигналы так слать, предварительно настроив их через tcsetattr() или консольную команду stty. Или можно просто закрывать pty, тогда будет SIGHUP слаться.

Можно просто запускать следующий su не дожидаясь таймаута от этого но тогда будет большой расход памяти (от 1000000 параллельно запущеных и ждущих свой таймаут экземпляров su, сервер может залагать и его владелец/админ может заподозрить неладное, особенно когда увидит список процессов).

Исправление firkax, :

Если принять что взломщик рута ещё не получил (иначе зачем ему подбирать пароли через su), то отправка сигнала не-рутом руту (suid-ному бинарнику su) конечно не получится. Но есть обходной путь: запускаем su в виртуальном терминале и шлём туда ctrl+c (символ с кодом 3) со стороны сервера, ядро сделает из него SIGINT и разошлёт всем клиентам, вне зависимости от их прав.

Можно просто запускать следующий su не дожидаясь таймаута от этого но тогда будет большой расход памяти (от 1000000 параллельно запущеных и ждущих свой таймаут экземпляров su, сервер может залагать и его владелец/админ может заподозрить неладное, особенно когда увидит список процессов).

Исходная версия firkax, :

Если принять что взломщик рута ещё не получил (иначе зачем ему подбирать пароли через su), то отправка сигнала не-рутом руту (suid-ному бинарнику su) конечно не получится. Но есть обходной путь: запускаем su в виртуальном терминале и шлём туда ctrl+c (символ с кодом 3) со стороны сервера, ядро сделает из него SIGINT и разошлёт всем клиентам, вне зависимости от их прав.