Estou construindo um sistema, usando buildroot, que terá uma página da Web para controlar os pinos GPIO de um framboesa, usando o php. Para fazer isso, estou escrevendo (e lendo) os arquivos do kernel localizados em / sys / class / gpio / .. o problema é que o apache não tem permissão para escrever ou ler nesses diretórios e arquivos. Eu posso fazer isso, alterando todas as permissões dos diretórios para:
chmod a+rx dir_name
Mas isso deve ser executado sempre que o sistema for ligado, desde que as permissões / sys / ... sejam redefinidas para o padrão quando o sistema estiver desligado.
Então, eu gostaria de saber qual é a maneira mais fácil de resolver este problema? Não esquecendo que em algum momento eu poderia escrever em / sys / class / gpio / export um número de GPIO criando um novo diretório (/ sys / class / gpio / gpioN / onde N é o número pin) com novos arquivos cujas permissões precisam ser mudou também.
Eu não sou muito habilidoso nesse tipo de coisa, mas a única maneira que posso pensar em fazer isso funcionar é executar um script na inicialização que exportaria todos os pinos do GPIO (escrever em / sys / class / gpio / export) e, em seguida, altere as permissões de todos os diretórios e arquivos. O problema é que eu não tenho idéia de como fazer tais scripts, além disso, ele precisa estar no diretório /etc/init.d. Eu olhei em alguns dos arquivos neste diretório, mas não consigo entendê-los, que linguagem é escrita?
EDIT 1
Eu encontrei em um post que para encontrar o usuário do apache eu posso executar o seguinte comando:
ps aux | egrep '(apache|httpd)'
Que produz o seguinte:
135 root /usr/bin/httpd -k start
138 daemon /usr/bin/httpd -k start
139 daemon /usr/bin/httpd -k start
140 daemon /usr/bin/httpd -k start
1133 root egrep (apache|http)
Tags boot permissions sysfs init-script