Запуск скрипта по прибытию СМС (права и все такое)
На модем приходит СМС, исполняется кусок диалплана:
exten => sms,n,System(php /root/ss.php)
Сообщение об ошибке: не могу открыть ss.php. (Ставил все возможные ЧМОДы на ss.php, включая 777).
Скрипт (то ли даже сам php) похоже, запускается от пользователя asterisk.
Как-то года 2 назад решил эту задачу БЕЗ sudo. Напрочь забыл что и кому разрешил...
Не подскажете, как разрешить астеру (а именно System()) все-таки запустить PHP?
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
то есть 700 при хозяине root
Ладно, намек понял - поместить в такую папку, где рекурсивно (начиная от всех родительских папок) позволено исполнять файл.
Но как быть, если нужно запустить /usr/bin/ssh? Там права у всех папок RWX R-X R-X, хозяин root.
А запустить нужно именно от asterisk, чтобы System() сработал я так понимаю...
Последний раз редактировалось: jumbo (Вт Янв 08, 2013 16:24)
И попробуйте сменить на 755
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
Это нужно чтобы понять, от кого выполняется скрипт.
А вообщемне нужно кровь из носу запустить ssh из System(). НИКАК НЕ ХОЧЕТ. Совершенно уверен, что менял что-то с правами раньше.
System() запускает от asterisk-а, а нужно от root. То есть, либо разрешаем запускаться SSH от asterisk (что, в принципе и так разрешено, судя по правам на ssh), ЛИБО как-то запускаем от root... Или не так??
Я надеюсь selinux у вас выключен ?
2 А так хотелось без sudo.....
Added after 1 hours 11 minutes:
ИТАК, извращаемся
System(whoami) совершенно точно показывает, что все из диалплана запускается от asterisk.
Посему копируем /usr/bin/ssh в папку с разрешениями от asterisk. Например, /var/log/asterisk.
Устанавливаем файлу хозяина asterisk и права 755;
ВСЕ, System(/var/log/asterisk/ssh ... запускается!
Если нужно (а вообще-то нужно) подключаться по ssh к другому хосту БЕЗ ЗАПРОСА ПАРОЛЯ, генерим ssh-keygen ОПЯТЬ ТАКИ ОТ ИМЕНИ asterisk:
sudo -u sterisk ssh-keygen -t rsa
Затем копипастим сгенеренный ключ pub в authorized keys на хосте, куда подключаемся.
Вуаля.
Последний раз редактировалось: esavin (Ср Янв 09, 2013 13:08)
http://ru.wikipedia.org/wiki/AppArmor