concede permissões de grupo para um dispositivo específico

3

Eu tenho uma câmera web panorâmica que eu criei (futuro braço robótico). A câmera se move através de uma interface web (scripts cgi e interface JS) que acessam um arduino. Para habilitar o envio de comandos através da interface, Eu adicionei o www-data (grupo de usuários do servidor web) ao grupo de discagem do qual o arduino depende.

Ah, bem, percebo que não é isso que quero fazer, e muito inseguro! O que eu quero fazer é dar aos usuários do grupo www-data permissão para um dispositivo, / dev / ttyACM0

como posso fazer isso e manter o usuário do apache fora do grupo de discagem?

ATUALIZAÇÃO: Distro: Debian 7.7

    
por j0h 09.12.2014 / 00:20

1 resposta

1

Você provavelmente desejará escrever uma regra para udev . Supondo que não haja alterações em udev.conf , seu arquivo de regras deve ser colocado em /etc/udev/rules.d/ ; pode ajudá-lo a substituir as regras dos pacotes que podem ser encontradas em /lib/udev/rules.d/ .

Escrever boas regras é uma arte adquirida, mas você pode começar com algo simples se não tiver outros dispositivos ttyACM *:

# Give web server read/write access to camera
KERNEL=="ttyACM?", ACTION=="add", \
   MODE:="0660", \
   GROUP:=www-data

Você desejará colocar as informações acima em um arquivo como /etc/udev/rules.d/10-camera.rules - ele deve terminar em .rules ; o prefixo numérico de dois dígitos ajuda a obter as regras na sequência correta e talvez seja necessário ajustá-lo. A parte intermediária é, obviamente, apenas para ajudá-lo a reconhecer por que você a criou. : -)

    
por 15.07.2015 / 19:44