Na minha /dev
pasta, gostaria que os seguintes arquivos fossem legíveis e graváveis pelo usuário:
/dev/ttyUSB0
/dev/gpib0
Como faço isso sem usar chgrp
? Eu posso editar, /etc/udev/rules.d
mas não conheço a sintaxe.
permissions
devices
udev
Kit
fonte
fonte
Respostas:
Como as regras do udev são estruturadas
Para dispositivos que se enquadram no subsistema tty, você pode definir o grupo deles da seguinte maneira:
Observe que, assim como na programação comum,
==
é um teste de igualdade enquanto=
é uma atribuição. Portanto, a instrução acima se traduz em "se forSUBSYSTEM=="tty"
atribuídaGROUP="dialout"
. Uma instrução pode ter vários testes, que são editados juntos e várias atribuições.Se você quiser alterar as permissões de leitura-gravação-execução, atribua MODE em vez de GROUP, onde MODE segue a notação octal usual do Unix, por exemplo,
MODE="0660"
concede permissões de leitura e gravação ao proprietário e ao grupo.man udev
tem todos os detalhes.Você pode encontrar muitos exemplos dessas regras em
/lib/udev/rules.d/91-permissions.rules
Como adicionar uma regra udev ao seu sistema
Depois de decidir o que você deseja que sua regra seja, é simples o suficiente adicioná-la. Em um sistema derivado do debian, vá para o diretório
/etc/udev/rules.d
e crie um arquivo. Os arquivos são executados em ordem de classificação. Portanto, para tornar seu arquivo de regras o último a ser lido, substituindo os anteriores, tente um nome como99-instruments.rules
. Em seguida, coloque suas regras nesse arquivo, uma por linha. (Se necessário, as linhas podem ser estendidas colocando uma barra invertida no final da linha, como no shell.)Portanto, se você deseja alterar o grupo e as permissões em dispositivos tty, seu arquivo
/etc/udev/rules.d/99-instruments.rules
pode consistir na única linha:Para garantir que seu novo arquivo tenha as permissões usuais:
Depois de criar seu arquivo, o udevd poderá lê-lo automaticamente. Caso contrário, você pode forçá-lo a reler seus arquivos com:
Mais sobre como o udev classifica os dispositivos
Se você deseja obter um controle mais preciso sobre quais dispositivos respondem a quais regras, pode aprender mais sobre como o udev vê seus dispositivos lendo / sys /. No momento, não tenho acesso a uma máquina com um ttyUSB ou um HPIB, então vamos fazer um exemplo de sda de disco. Corre:
Isso fornece muitas informações parecidas com:
Essas linhas estão todas na forma adequada para usar como
if
cláusulas nas regras. Portanto, por exemplo, para alterar a propriedade em todos os dispositivos de bloco marcados como não removíveis, usaríamos a regra:Com as informações de
udevadm
, é possível desenvolver regras que podem direcionar especificamente os dispositivos de interesse.fonte
Acho que sugiro tornar a regra um pouco mais restritiva que a de John. Por exemplo, crie um arquivo como
/etc/udev/rules.d/99-tty-dialout.rules
:Você pode usar
udevadm
para determinar dispositivosSUBSYSTEM==
eKERNEL==
valores. Por exemplo:fonte