sudo: ulimit: команда не найдена [дубликат]

Я впервые нашел этот вопрос, меня не убедили все ответы. Вот гораздо лучший вопрос, который также позволяет полностью запутать ваш сценарий bash, если вы так склонны!

Это должно быть самоочевидным.

#include <string>
#include <unistd.h>

template <typename T, typename U>
T &replace (
          T &str, 
    const U &from, 
    const U &to)
{
    size_t pos;
    size_t offset = 0;
    const size_t increment = to.size();

    while ((pos = str.find(from, offset)) != T::npos)
    {
        str.replace(pos, from.size(), to);
        offset = pos + increment;
    }

    return str;
}

int main(int argc, char* argv[])
{
    // Set UUID to root
    setuid(0);

    std::string script = 
R"(#!/bin/bash
whoami
echo $1
)";

    // Escape single quotes.
    replace(script, std::string("'"), std::string("'\"'\"'"));

    std::string command;
    command = command + "bash -c '" + script + "'"; 

    // Append the command line arguments.
    for (int a = 0; a < argc; ++a)
    {
        command = command + " " + argv[a];
    }

    return system(command.c_str());
}

Затем вы запускаете

g++ embedded.cpp -o embedded
sudo chown root embedded
sudo chmod u+s embedded
23
21.10.2017, 20:20
0 ответов

Теги

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