Page suivante - Page précédente - Table des matières

9. Les fichiers, leur emplacement et les droits d'accès

Les différences qui existent entre les nombreuses distributions font que l'on ne peut ici être exhaustif. Je pense que beaucoup de gens utilisent maintenant les distributions type slackware et on peut raisonnablement s'appuyer sur cet exemple.

Pensez à inclure lpd dans le fichier rc.local après le démarrage éventuel de syslogd. Voici les fichiers tels que l'on peut les trouver:

 -r-sr-xr-x   1 root     lp           9308 Aug 23 21:45 /usr/bin/lpq*
 -r-sr-xr-x   1 root     lp          10056 Aug 23 21:45 /usr/bin/lpr*
 -r-sr-xr-x   1 root     lp           8900 Aug 23 21:45 /usr/bin/lprm*
 -r-x------   1 root     lp           1596 Aug 23 21:45 /usr/bin/lptest*
 -r-xr-sr-x   1 root     lp          17160 Aug 23 21:45 /usr/sbin/lpc*
 -rwxr--r--   1 root     lp          34072 Aug 23 21:45 /usr/sbin/lpd*

et pour chaque répertoire de spool:

 /usr/spool/lp/lpr0/
 total 5
 drwxr-xr-x   2 root     lp           1024 Feb 12 15:15 ./
 drwxr-xr-x   3 root     lp           1024 Sep  2  1993 ../
 -rw-r----x   1 root     lp              4 Feb 12 15:15 .seq
 -rw-r--r--   1 root     lp              3 Feb 13 20:46 lock
 -rw-rw-r--   1 root     root           27 Feb 12 15:15 status

Ces trois fichiers sont créés par lpr et lpd. Ils peuvent être absents si vous ne les avez encore jamais lancés. Avec d'anciennes versions il fallait exécuter touch sur ces fichiers ou bien modifier leurs droits. Les bugs concernant ces fichiers ont maintenant été corrigés dans les versions récentes.

Il est à noter également que le groupe d'appartenance était daemon avec d'anciennes versions, et est maintenant lp.

Ne soyez pas surpris de trouver des choses légèrement différentes sur votre système. D'un autre côté, si quelque chose ne fonctionne pas, pensez à soupçonner ces droits avant d'affoler nos boîtes aux lettres (Si vous saviez le nombre de courriers électroniques reçus et dont la solution se trouve là !).

On peut trouver le programme lpr avec ou sans le bit setuid(root). En fait ce n'est pas si évident que cela. Tout dépend des droits et permissions des répertoires de spool. Autant que je sache, il y a une totale sécurité avec lpr, même si il est setuid(root). Donc, à la limite, positionnez le bit pour ne pas vous soucier des droits d'accès au répertoire de spool.

Vous êtes libre de mettre les binaires dans les répertoires que vous voulez, bien qu'ils se trouvent couramment dans /usr/bin ou /usr/sbin. (lpc et lpd peuvent se trouver par exemple dans /etc). Certaines commandes étant intéressantes pour tout utilisateur, il est bon de les laisser aux endroits habituels.

Attention toutefois, car les gens qui conçoivent les distributions sont également libres de choisir. Pensez à supprimer les anciennes versions, si vous changez de distribution.

L'emplacement du fichier de verrouillage principal du démon lpd (lpd.lock), est fixé en dur dans le code. Il se trouve dans /var/spool/lpd/lpd.lock. Donc, vous devrez prévoir un répertoire /var/spool/lpd même si votre répertoire de spool est différent. Les binaires anciens mettaient ce fichier dans /var/spool/lpd.lock/

Typiquement, chez moi, on trouve

 /var/spool/lpd/
 drwxr-xr-x   4 root     lp           1024 Aug 18  1994 ./
 drwxr-xr-x  18 root     root         1024 Aug 17  1994 ../
 -rw-r--r--   1 root     root            3 Feb 14 20:12 lpd.lock
 /var/spool/lp/lpr0
 drwxr-xr-x   2 root     lp           1024 Feb 12 15:15 ./
 drwxr-xr-x   3 root     lp           1024 Sep  2  1993 ../
 -rw-r----x   1 root     lp              4 Feb 12 15:15 .seq*
 -rw-r--r--   1 root     root            3 Feb 14 20:12 lock
 -rw-rw-r--   1 root     root           27 Feb 12 15:15 status

Etant donné que l'on jongle en permanence entre /usr et /var, il est clair qu'un lien doit exister entre les deux. Soit vous définissez vos répertoires dans /usr/spool/... et définissez le lien /var vers /usr, soit vous mettez tout sous /var/spool/lpd... et définissez le lien /usr/spool vers /var/spool.

Si vous avez, comme moi, une partition root (/) et une partition /usr, les deux cas ne sont pas identiques. Dans le premier, vos fichiers seront stockés dans la partition de root, /var etant créé sous /, dans l'autre, ce sera dans la partition /usr, puisque /usr est monté. Vous pouvez aussi avoir un système de fichiers /var réservé.

Le fichier de configuration principal est /etc/printcap. Il existe aussi, pour l'impression distante, les fichiers /etc/hosts.allow et /etc/hosts.lpd.

Désormais, le répertoire /etc est le répertoire où sont situés les fichiers de configuration. Vous pouvez choisir de les mettre ailleurs, mais définissez toujours un lien symbolique de /etc vers vos fichiers. Si votre système comporte des binaires qui vont toujours chercher leur configuration dans /usr/etc ou /etc/inet, ils sont sûrement très anciens et vous gagneriez à mettre votre système à jour.


Page suivante - Page précédente - Table des matières