скрипт с установленным suid, но не работает!

Это быстрый и грязный код C++, который создает окно и зависает.

// freeze.cpp

#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QtCore/QMutex>

int main (int argc, char** argv) {
    QApplication a (argc, argv);
    QMainWindow w;
    QMutex m;
    w.show ();
    m.lock ();
    m.lock ();
    return (a.exec ());
}

Это зависит от фреймворка Qt5. После установки пакетов разработки Qt5 код может быть скомпилирован с помощью следующей командной строки (это неправильный способ сборки приложения Qt, на самом деле):

$ g++ freeze.cpp -fPIC -std=c++11 -I/usr/include/qt5 -I/usr/include/qt -lQt5Core -lQt5Gui -lQt5Widgets
0
27.05.2020, 04:09
1 ответ

Когда-то эта функция была очень полезна. В какой-то момент некоторые люди начали злоупотреблять им и начали отключать его в некоторых разновидностях UNIX. Тогда у нас не было sudo, поэтому многие вещи, которые люди могли делать с помощью sudo, выполнялись с помощью файла сценария с установленным битом setuid.

Разрешить setuid для сценариев оболочки

-2
18.03.2021, 23:32

Теги

Похожие вопросы