Como posso definir as permissões de dispositivo rw permanentemente no Raspbian?

4

Estou usando o Raspbian (uma distribuição feita para o Raspberry Pi, que é baseada no Debian).

Eu tenho alguns scripts que usam i 2 c.

Normalmente, apenas o root tem permissões de leitura e gravação para i 2 c.

Estou usando este comando para adicionar permissões i2c r / w para usuários normais:

# chmod a+rw /dev/i2c-*

No entanto, após a reinicialização, esses dispositivos têm suas permissões padrão.

Qual é a melhor maneira de disponibilizar meu i2c para r / w para um usuário normal permanentemente?

Existe uma maneira mais "elegante" do que adicionar meu script ao init.d que executa o comando acima depois de minhas botas Raspberry Pi?

    
por Kamil 30.07.2014 / 21:49

1 resposta

4

Você pode fazer isso usando udev . Crie um arquivo em /etc/udev/rules.d com o sufixo .rules , por exemplo local.rules e adicione uma linha como esta:

ACTION=="add", KERNEL=="i2c-[0-1]*", MODE="0666"

MODE=0666 é rw para proprietário, grupo, mundo. Algo que você pode fazer em vez de, ou junto com isso, é especificar um GID para o nó, por exemplo:

GROUP="pi"

Se você usar isso em vez da configuração MODE , o padrão, 0660 (rw para proprietário e grupo) será aplicado, mas o grupo será pi , portanto, o usuário pi terá permissões de rw. Você também pode especificar o OWNER da mesma maneira.

Preste atenção na diferença entre == e = acima. O primeiro é testar se algo é verdadeiro, o segundo o define. Não misture isso, esquecendo um = em == .

Você precisa reiniciar para que isso tenha efeito.

"Escrevendo regras do udev" Referência

    
por 30.07.2014 / 22:12