Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: php скрипт с командами от root'a  (Прочитано 1952 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн maloicds

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
php скрипт с командами от root'a
« : 21 Декабря 2012, 02:24:51 »
Добрый день. Необходимо в php скрипте выполнить 2 команды с правами root'a
chmod 777 /dev/ttyUSB0и
stty -F /dev/ttyUSB0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts -hupclКак это можно сделать?
« Последнее редактирование: 21 Декабря 2012, 02:58:17 от maloicds »

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: php скрипт с командами о root'a
« Ответ #1 : 21 Декабря 2012, 03:03:22 »
сделаеш скрипт файл /home/user/script.sh
#!/bin/bash
chmod 777 /dev/ttyUSB0
stty -F /dev/ttyUSB0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts -hupcl
------------------
и
/etc/sudoers добав строк
www-data ALL=(ALL) NOPASSWD: /home/user/script.shи ребут
Wars ~.o

Оффлайн maloicds

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: php скрипт с командами от root'a
« Ответ #2 : 21 Декабря 2012, 04:13:14 »
Всё сделал.
 <?php 
 exec
("/home/user/script.sh");
?>

проверяю права доступа у ttyUSB0 - остались прежними :(
Смотрю лог ошибок апача
chmod: cannot acces '/dev/ttyUSB0\r' :no such file or directory
тоже самое с stty. в конце команд почему то добавляется \r
« Последнее редактирование: 21 Декабря 2012, 04:24:04 от maloicds »

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1194
    • Просмотр профиля
Re: php скрипт с командами от root'a
« Ответ #3 : 21 Декабря 2012, 05:19:36 »
Может не совсем по теме, но зачем 777 на устройство? Что за изощрённая попытка суицида? Предлагаю топик-стартеру выполнить команду:

ls -lh /dev/ttyUSB0

И посмотреть кто является владельцем устройства. Скорее всего это будет root и группа dialout. Так вот правильно сунуть юзера в эту группу и не надо будет мучать chmod нарушая заведённый в системе порядок.

Оффлайн maloicds

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: php скрипт с командами от root'a
« Ответ #4 : 21 Декабря 2012, 05:25:38 »
Всё верно. root и группа dialout. Права нужны для чтения инфы с arduino. Библиотека php_serial.class.php не может прочитать из порта пока не дам на него права и stty.
Добился выполнения скрипта из php, но сам скрипт не меняет прав :(

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: php скрипт с командами от root'a
« Ответ #5 : 21 Декабря 2012, 07:21:51 »
Цитировать
chmod: cannot acces '/dev/ttyUSB0\r' :no such file or directory
перевод "no such file or directory" ? /dev/ttyUSB0\r
Wars ~.o

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: php скрипт с командами от root'a
« Ответ #6 : 21 Декабря 2012, 07:53:53 »
maloicds,
пади скрипт /home/user/script.sh в винде писал? там естественно \r\n на конце стоит. бида, бида!

Как правильно заметили никаких chmod не надо. надо просто пользователя www-data запихнуть в группу dialout
yurik@yurik-pc:~$ sudo usermod -a -G dialout www-data
yurik@yurik-pc:~$ id www-data
uid=33(www-data) gid=33(www-data) группы=33(www-data),20(dialout)
и сделать
sudo service apache2 restart
P.S. блиииин... помню как раньше так же извращался =)

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1194
    • Просмотр профиля
Re: php скрипт с командами от root'a
« Ответ #7 : 21 Декабря 2012, 13:15:15 »
Всё верно. root и группа dialout. Права нужны для чтения инфы с arduino. Библиотека php_serial.class.php не может прочитать из порта пока не дам на него права и stty.
Добился выполнения скрипта из php, но сам скрипт не меняет прав :(

Ещё раз: на надо гонять chmod, включи того пользователя, от которого пускаешь скрипт, в группу dialout и всё будет хорошо.

Оффлайн maloicds

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: php скрипт с командами от root'a
« Ответ #8 : 21 Декабря 2012, 18:05:23 »
Всем спасибо, всё работает!

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: php скрипт с командами от root'a
« Ответ #9 : 24 Декабря 2012, 08:24:38 »
maloicds,
Мы так и не поняли ты chmod заколхозил или таки внял доводам рассудка и сделал как положено?

 

Страница сгенерирована за 0.018 секунд. Запросов: 21.