Назад | Перейти на главную страницу

Выполнить сценарий bash от имени пользователя root от обычного пользователя

Я пытаюсь выполнить сценарий bash как root от обычного пользователя. Суть в том, что мне нужно, чтобы пользователь www-data мог убить определенный процесс. Чтобы Apache не мог нанести ущерб процессам, я создал следующий сценарий bash

#!/bin/bash

PID=$(pgrep mono)
kill -9 $PID

Чтобы выполнить это, я сделал apt-get install sudo а затем с visudo добавила следующую строку в конец файла

myuser ALL= NOPASSWD: /path/to/script/foo.sh

Но когда я вхожу в myuser и пытаюсь запустить /path/to/script/foo.sh Я получаю следующую ошибку -bash: /path/to/script/foo.sh: Permission denied

Текущие разрешения файла следующие

-rwxr-xr-x 1 root root   48 Nov  7 12:11 foo.sh

Спасибо!

Чтобы использовать sudo, вам нужно добавить к команде префикс sudo. то есть:

$ sudo /path/to/script/foo.sh

Войдите в систему под root и сделайте следующее:

cd /path/to/script

chmod u+x foo.sh

./foo.sh

Проверьте, работает ли программа. Теперь переключитесь на myuser,

su myuser

и попробуйте снова запустить программу:

/path/to/script/foo.sh