Пользователю Apache www-data
должны быть предоставлены привилегии для выполнения определенных приложений с использованием sudo
.
- Запустите команду
sudo visudo
. На самом деле мы хотим отредактировать файл в etc/sudoers
. Для этого, используя sudo visudo
в терминале, он дублирует (temp) sudoers
файл для редактирования.
- В конце файла добавьте следующее, например: -если мы хотим использовать команду для перезапуска копчения и команду монтирования для другого действия,
www-data ALL=NOPASSWD: /etc/init.d/smokeping/restart, /bin/mount
(Предполагается, что вы хотите запускать команды restart
и mount
, используя суперпользователя
(root) привилегии.)
Однако, если вы хотите запустить каждое приложение, используя
привилегии суперпользователя, затем добавьте следующее вместо того, что указано выше. Возможно, вы не захотите этого делать, не для команд ALL
, это очень опасно.
www-data ALL=NOPASSWD: ALL
3. После редактирования файла sudoers (visudo
мы редактируем временный файл sudoers
, поэтому сохраняем и закрываем временный файл (visudo) для записи в sudoers
файл. (wq!
)
4. Вот, теперь используйте exec()
следующим образом в вашем скрипте xxx.php
. Не забывайте использовать sudo
перед использованием команды в скрипте php.
например: -
exec ("sudo /etc/init.d/smokeping restart 2>&1");
Итак, в вашей проблеме добавьте команды, которые вы хотите использовать в step no (2.)
, когда я добавлю, и измените ваш php-скрипт на то, что вы хотите.