Я отправляю команду от клиента. На сервере я получаю команду и выполняю popen, в результате чего я получил сообщение об ошибке «Отказано в доступе». Как я могу выполнить команду без разрешения отказано.
std::string Server::exec(const char* cmd) {
std::string command("/home/eternity/Desktop/clientserver/src/build/server ");
std::string a(cmd);
command += a;
std::array<char, 512> buffer;
std::string result;
std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(command.c_str(), "r"), pclose);
if (!pipe) {
throw std::runtime_error("popen() failed!");
}
while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) {
result += buffer.data();
}
return result;
}
Ошибка: /home/eternity/Desktop/clientserver/src/build/server: Permission denied