создать веб-приложение, которое может одним щелчком мыши установить, удалить пакеты на моем сервере Ubuntu

Мне просто нужно создать веб-приложение, которое могло бы одним щелчком мыши посылать пакеты на моем сервере Ubuntu, я действительно не знаю, с чего начать. Мы думали сделать это с помощью php, и из-за проблем с безопасностью это не было честной идеей.

Извините, я новичок в этом.

Спасибо за любую помощь.

1

Решение

Вы не должны этого делать.

Ответить на ваш вопрос, да, это возможно. Это можно сделать с помощью команды «sudo apt-get …» в shell_exec(), Для этого потребуется, чтобы веб-сервер имел беспарольный доступ к полномочиям root.

Я упоминал, что вы не должны этого делать?

Если вы пытаетесь удаленно управлять компьютером, вы должны использовать SSH для входа на него и избежать ненужной гимнастики с использованием PHP, или использовать веб-интерфейс, такой как Webmin которые могут правильно сделать эти вещи для вас.

0

Другие решения

Вы на правильном пути, используя system () / shell_exec ().
Я думаю, что это «не работает» на вашей стороне, потому что ваш владелец процесса Apache не имеет прав root (и вам нужен root для установки пакетов). Кстати, то же самое для любой другой используемой вами реализации языка программирования: вам нужен root, чтобы иметь возможность устанавливать пакеты.

Вы можете установить своего владельца процесса Apache на «root», но тогда вы получите это при попытке перезапустить его:

Error:    Apache has not been designed to serve pages while
running as root.  There are known race conditions that
will allow any local user to read any file on the system.
If you still desire to serve pages as root then
add -DBIG_SECURITY_HOLE to the CFLAGS env variable
and then rebuild the server.
It is strongly suggested that you instead modify the User
directive in your httpd.conf file to list a non-root
user.

Вы можете скомпилировать Apache самостоятельно, чтобы разрешить запуск Apache с пользователем root, как указано выше.

Подводя итог, возможно то, что вы пытаетесь сделать, НО вы открываете действительно большую дыру в безопасности.

ВЫ НЕ ДОЛЖНЫ ЭТОГО делать.

Вместо этого используйте SSH.

0