2012-03-10 2 views
0

Я пытаюсь получить доступ к устройству UART из папки/dev для управления роботом. Я пытаюсь сделать это из Интернета, используя скрипт cgi python. Код отлично работает, когда я выполняю его в командной строке, но когда он выполняется через сервер, я получаю ошибку 500. Я уверен, что это какая-то проблема с разрешениями, но я не знаю, как ее решить. Если кто-нибудь знает, что происходит здесь или как я могу это исправить, помощь будет очень оценена.Ошибка при доступе к устройству uart из скрипта cgi python

Я могу опубликовать свой код на Python, если кто-то захочет его увидеть, но я не думаю, что проблема в коде, а скорее в выполнении кода.

Спасибо заранее,

Майкл,

ответ

0

Может solotion для вас может проверять группу файлов устройств:

[email protected] ~ $ ls -lash /dev/ttyS*                                                
0 crw-rw---- 1 root uucp 4, 64 03-10 13:20 /dev/ttyS0                                            
0 crw-rw---- 1 root uucp 4, 65 03-10 13:20 /dev/ttyS1                                            
0 crw-rw---- 1 root uucp 4, 66 03-10 13:20 /dev/ttyS2                                            
0 crw-rw---- 1 root uucp 4, 67 03-10 13:20 /dev/ttyS3 

Для меня это UUCP. И добавьте пользователя, который запускает ваш скрипт cgi для этой группы (для моей системы uucp). Но вы должны помнить, что все другие скрипты cgi, запущенные этим пользователем, также будут иметь доступ к UART.

EDIT:

Для сервера Apache это выглядит как Suexec может быть решением для вас.

Функция Suexec предоставляет пользователям Apache возможность запускать CGI и SSI программы под идентификаторы пользователя, отличных от идентификатора пользователя вызывающего веб-сервера. Обычно, когда выполняется программа CGI или SSI, она работает как того же пользователя, который запускает веб-сервер.

Таким образом, похоже, что вы можете создать нового пользователя для своего скрипта cgi, настроить его правильно, а не использовать его со своим скриптом apache.

Вот документация Suexec: http://httpd.apache.org/docs/2.0/suexec.html

Я никогда не использовал его, но я надеюсь, что это поможет.

+0

Я использую сервер Apache. Это для этой программы я должен изменить разрешения? – KFC

+0

Я отредактировал свой ответ. – Adam

 Смежные вопросы

  • Нет связанных вопросов^_^