не работает bash скрипт от www-data

С вебсайта на питоне хочу запустить скрипт. Пробовал и так:

res = os.system('sudo /var/www/site/script.sh')

и так:

res =  subprocess.call(['sudo','/var/www/site/script.sh'])

Скрипт(комментарий sudo я убирал, проверял экзит код вывода юзера в файл):

#!/bin/bash
echo "$USER" > /test1/testw/check
#sudo chown root:root /test1/testw/block_social
status=$?
echo "status : ${status}">> /test1/testw/check

В sudoers:

www-data ALL=(root) NOPASSWD: /bin/chown root:root /test1/testw/block_social, /var/www/site/script.sh

у скрипта

-rwxr-x--- 1 root root 153 Aug 10 17:35 /var/www/site/script.sh

Ошибки эксит кода в баше 127(нет такое команды - пробовал /bin chown) или 32512 Как я думаю все должно работать: 1)скрипту ставим хозяином рута, выполнение даем только руту 2)в sudoers для www-data разрешаем без пароля выполнять скрипт 3)на сайте в питоне перед командой пишем sudo и все должно работать. Но не работает. Пошел другим путем, разрешил выполнять скрипт всем, тогда скрипт добавляет данные в тестовый файл, пользователь www-data, все норм. Когда в скрипте пишу sudo chown и в sudoers разрешаю делать без пароля этот chown опять не работает. Т.е работает когда назначить хозяином файлов www-data.

Прошу помощи, хотелось бы прописать в sudoers выполнение скрипта без пароля, а т.к. в этом случае скрипт будет запущен с привелегиями рута, то внутри него я смогу прописывать chown chmod и все что угодно.


Ответы (0 шт):