Всем привет.
Помогите пожалуйста с проблемой.
Всё нормально работало на
UBUNTU 22, после того как стало
UBUNTU 24 появилась проблема.
А проблема вот чём:
Есть скрипт на php "
open.php", который должен выполнить команду из bash "
open.sh".
Вызывл, по-разному: system("open.sh"), exec("open.sh"), shell_exec("open.sh") и т.д.
Сама веб страница работает от имени пользователя
ISP на виртуальном хосте сервера
APACHE
В файле "
open.sh" пока для теста сделал такую строку:
echo `whoami` - `date` > /dev/pts/0
То есть команда, для которой нужен root, чтобы получилось сделать вывод на
/dev/pts/0.
В sudoers есть это:
isp ALL=(root) NOPASSWD: /home/isp/www/html/opendoor/open.sh, /home/isp/www/html/opendoor/open.php
apache ALL=(root) NOPASSWD: /home/isp/www/html/opendoor/open.sh, /home/isp/www/html/opendoor/open.php
в настройка apache есть это:
<IfModule mpm_itk_module>
AssignUserId isp isp
</IfModule>
Команда s
ystem("whoami") в php файле выводит всё верно "
isp"
Но при открытии страницы open.php выдаётся ошибка
"Error executing command: /home/isp/www/html/opendoor/open.sh: line 3: /dev/pts/0: Permission denied
Но если из командой строки захожу в аккаунт пользователя
su isp
и от имени этого пользователя выполняю
sudo /home/isp/www/html/opendoor/open.sh
всё работает. Кажется всё перепробовал, не получается и всё, хотя до этого всё работало.
ls -la
-rw-r--r-- 1 isp isp 2293 Jul 19 22:04 open.php
-rwxr-xr-x 1 isp isp 82 Jul 19 22:03 open.sh
Что делать уже и не знаю... Надеюсь на вашу поддрежку.
Спасибо.