Dans mon /dev
dossier, j'aimerais que les fichiers suivants soient lisibles et inscriptibles par l'utilisateur:
/dev/ttyUSB0
/dev/gpib0
Comment faire sans utiliser chgrp
? Je peux éditer /etc/udev/rules.d
mais je ne connais pas la syntaxe.
permissions
devices
udev
Trousse
la source
la source
Réponses:
Structure des règles udev
Pour les périphériques entrant dans le sous-système tty, vous pouvez définir leur groupe comme suit:
Notez que, tout comme dans la programmation courante,
==
est un test d'égalité tandis=
qu'une assignation. Ainsi, l'instruction ci-dessus se traduit par "siSUBSYSTEM=="tty"
alors affectezGROUP="dialout"
. Une instruction peut avoir plusieurs tests, qui sont édités ensemble et plusieurs affectations.Si vous souhaitez modifier les autorisations de lecture-écriture-exécution, affectez alors MODE au lieu de GROUP où MODE suit la notation octale Unix habituelle, par exemple
MODE="0660"
donne au propriétaire et au groupe les autorisations de lecture-écriture.man udev
a tous les détails.Vous pouvez trouver de nombreux exemples de telles règles dans
/lib/udev/rules.d/91-permissions.rules
Comment ajouter une règle udev à votre système
Une fois que vous avez déterminé ce que vous voulez que votre règle soit, il est assez simple de l'ajouter. Sur un système dérivé de Debian, accédez au répertoire
/etc/udev/rules.d
et créez un fichier. Les fichiers sont exécutés dans l'ordre de tri. Donc, pour que votre fichier de règles soit le dernier à être lu, en remplaçant les précédents, essayez un nom comme99-instruments.rules
. Mettez ensuite vos règles dans ce fichier, une par ligne. (Si nécessaire, les lignes peuvent être étendues en mettant une barre oblique inversée à la fin de la ligne, tout comme dans le shell.)Donc, si vous souhaitez modifier le groupe et les autorisations sur les périphériques tty, votre fichier
/etc/udev/rules.d/99-instruments.rules
peut être composé d'une seule ligne:Pour vous assurer que votre nouveau fichier lui-même dispose des autorisations habituelles:
Après avoir créé votre fichier, udevd peut le lire automatiquement. Sinon, vous pouvez le forcer à relire ses fichiers avec:
En savoir plus sur la façon dont udev classe les appareils
Si vous souhaitez obtenir un contrôle plus fin sur les appareils qui répondent à quelles règles, vous pouvez en savoir plus sur la façon dont udev voit vos appareils en lisant / sys /. Pour le moment, je n'ai pas accès à une machine avec un ttyUSB ou un HPIB, alors faisons un exemple de disque sda. Courir:
Cela donne beaucoup d'informations qui ressemblent à:
Ces lignes sont toutes sous la forme appropriée pour être utilisées comme
if
clauses dans les règles. Ainsi, par exemple, pour modifier la propriété de tous les périphériques de bloc marqués comme non amovibles, nous utiliserions la règle:Avec des informations provenant de
udevadm
, on peut développer des règles qui peuvent cibler spécifiquement les appareils d'intérêt.la source
Je pense que je suggérerais de rendre la règle un peu plus restrictive que celle de John. Par exemple, créez un fichier tel que
/etc/udev/rules.d/99-tty-dialout.rules
:Vous pouvez utiliser
udevadm
pour déterminer un périphériqueSUBSYSTEM==
et desKERNEL==
valeurs. Par exemple:la source