Bien que tous les fichiers soient listés dans le répertoire /dev,
il est toujours possible de créer un fichier de périphérique n'importe
où sur le système en utilisant la commande mknod:
mknod [-m <mode>] <nom_fichier> [b|c] <numero_majeur> <numero_mineur> |
mknod -m 0600 ~/disquette b 2 0
ls -al /dev/fd0 ~/disquette |
Observez attentivement le mode (c'est-à-dire les droits) de /dev/fd0. Seuls root et les utilisateurs du groupe floppy devraient pouvoir lire ce fichier et y écrire, étant donné que nous ne voulons bien évidemment pas qu'un utilisateur quelconque puisse se connecter à distance et écrire sur une disquette.
En fait, ceci est la raison essentielle pour avoir des périphériques représentés comme des fichiers et ce, à l'emplacement approprié. Les fichiers UNIX tolèrent de manière naturelle le contrôle des accès par les groupes des fichiers, et par conséquent des périphériques associés.
Pour créer des périphériques qui manquent dans le répertoire /dev (c'est-à-dire des périphériques ésotériques qui ne sont pas présent par défaut), extrayez d'abord les nombres majeur et mineur en consultant le fichier /usr/src/linux/Documentation/devices.txt. Ensuite, utilisez la commande mknod. Remarquez que cette méthode est assez lourde. Le script /dev/MAKEDEV est usuellement disponible pour parer cet inconvénient. Vous devez absolument être dans le répertoire /dev avant que le script ne soit exécuté.
Une utilisation typique de MAKEDEV est:
cd /dev
./MAKEDEV -v fd0
./MAKEDEV -v fd1
|
La page de man de MAKEDEV
contient tous les détails. En particulier, elle donne l'information
suivante:
Remarquez que les programmes donnant l'erreur
``ENOENT: No such file or directory'' indiquent normalement que
le fichier de périphérique est manquant, alors que ``ENOENT: No
such device'' signifie que, concernant le noyau, le pilote n'est
pas configuré ou chargé.