[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]
Permission accordée
- To:
- Subject: Permission accordée
- From: Gilles Pelletier <>
- Date: Fri, 11 Jun 1999 19:53:02 -0400
Je ne connais pas grand-chose à Linux, je l'ai dit. Toutefois,
comme j'ai un site depuis près de cinq ans, je tente ici d'écrire
le début d'un chapitre sur les permissions.
------------
Les permissions
¯¯¯¯¯¯¯¯¯¯¯¯¯
Il y a trois »catégories« de personnes qui ont des droits sur les
fichiers et les répertoires:
«u»ser, «g»roup et «o»thers, qu'on retient facilement avec l'acronyme «ugo»
«u»ser: C'est la personne qui possède le fichier (ou le répertoire,
qui n'est qu'un fichier de noms de fichiers). On dit souvent «owner»...
mais le «o» servait déjà pour «other» ;-)
«g»roup: Le groupe est défini par le «user».
Cette catégorie permet de définir un groupe de personnes à qui
on veut donner un plus grand accès aux fichiers. Cette catégorie est
inutile pour l'usager normal qui n'a pas défini de groupe. On
donne habituellement les mêmes permissions qu'à «others».
«o»thers: On dit souvent «world» pour «others». Ce sont les permissions
pour tous, tous les visiteurs d'un site web, par exemple.
Les permissions qui peuvent être accordées à chacune de ces catégories
sont les suivantes:
«r»ead, «w»rite, «x»ecute
«r»ead permet de lire le fichier, de voir son contenu. Pour un
répertoire, le contenu, c'est la liste de fichiers. Si la permission
est accordée, «ls» donne la liste des fichiers.
«w»rite permet de d'écrire dans le fichier, de le modifier. Pour
un répertoire, «w» permet d'ajouter des fichiers au répertoire ou
de les effacer.
«x»ecute permet d'exécuter les fichiers exécutables. Pour un répertoire, «x»
donne l'accès au répertoire. On ne peut faire un «cd» sur un répertoire
qui n'a pas la permission «x».
Les permissions sur les fichiers se changent avec la commande chmod.
(Ici, un beau lien <A HREF="chmod.html"> vers plus d'explications.
Exemple:
¯¯¯¯¯¯¯
Vous avez un site internet et vous voulez que tout le monde voie vos
fichiers sans pouvoir les modifier ou en ajouter.
Fichiers:
Vous pouvez vous donner toutes les permissions, mais le «x» ne
vous servira pas pour des fichiers html, qui ne sont pas exécutables.
Pour les groupes, donnez,comme pour «others», «r» seulement.
Ainsi, tous peuvent lire vos fichiers -- voir vos pages, si vous
préférez -- si vous donnez accès au répertoire (voir ici-bas).
Voici un exemple permissions typiques sur un fichier html:
-rw-r--r-- 27975 Jun 5 20:39 aerop.html
Le premier « - » indique qu'il s'agit d'un fichier et non d'un répertoire.
u g o
rw- r-- r--
Répertoires:
Pour lire un fichier, il faut aussi avoir les bonnes permissions sur
le répertoire. Le «user» (vous) doit les avoir toutes: rwx.
Donnez à «group», la même permission que «others»: r-x.
Pourquoi ce «r-x»?
Le «x» donne accès au répertoire, il permet au serveur de faire
un « cd /~nom_d'usager ». Sans la permission «x», l'accès de
votre site sera interdit au visiteur. Même s'il a la permission
«r» pour être lu, le serveur n'y aura pas accès.
Étant donné que les sites comportent habituellement un index avec
des liens html vers les fichiers, qu'on n'a pas à cliquer sur des
noms de fichiers comme dans un site ftp, on pourrait même se passer
de la permission «r». Toutefois, pour des raisons de sécurité trop
longues à expliquer ici, on accorde habituellement la permission
«r» en plus du «x».(1)
Voici un exemple de permissions typiques sur un répertoire de fichiers html:
drwxr-xr-x 512 Jun 5 20:36 icones
Le «d» indique que c'est un répertoire.
u g o
rwx r-x r-x
Apprenez en plus!
(Fin temporaire du document)
-----------
Pour les experts, une question à laquelle je ne puis répondre:
(1) Si un répertoire a l'attribut «x» mais pas «r» et que ses noms
de fichiers sont connus -- ce qui est évidemment le cas pour un
site web -- il est apparemment possible d'effacer ses fichiers. Comment?
------------
J'ai faudrait ajouter des liens html, sur «group». par exemple.
Sur cette page, on pourrait aborder les sujets suivants: qui définit
le groupe dans le répertoire principal de l'usager, dans les
sous-répertoires; la commande chown, etc.
Dans le lien sur chmod: comment utliser la commande quand on
n'utilise pas un logiciel FTP? a = ugo, les chiffres (0 à 7)
plutôt que les lettres, etc.
Dans le lien «Apprenez en plus», il pourrait y avoir: Set-Gid Bit,
Sticky Bit, Locking Bit (System V), etc.
Évidemment, ce chapitre ne serait pas le premier. Il s'inscrit
dans une démarche: installer un system Linux. L'apprenti-usager
aurait d'abord fait quelques «ls», il saurait la différence entre
un répertoire et un fichier! De plus, on pourrait «faire» les
exemples: demander à l'usager de créer un fichier html
(style: <H1>Je m'appelle Toto</H1>),
lui faire chmoder le répertoire et le fichier, et lui faire
constater ce qui se passe.
J'espère qu'on va bientôt cesser de me dire qu'il est impossible
de donner rapidement une connaissance de base du système Linux,
que la seule approche valable pour appréhender Linux est de lire
des HOWTO, des man pages et des FAQs pendant des années.
On peut expliquer à un newbie la base des permissions ou comment
compiler un exécutable avec la librairie appropriée. Ça prend un
peu de temps, mais c'est bien moins long que de répondre aux mille
questions de mille newbies.
Peut-être des gens plus connaissants que moi m'indiqueront-ils des
erreurs ou une meilleure façon d'expliquer les choses. J'espère
seulement avoir réussi à donner un vague perçu de ce projet où
chacun pourrait approfondir sa matière en l'expliquant.
Le «livre», ou plutôt, le fichier html dont je rêve, aurait beau
être là, sur les tablettes de Camelot -- made in USA and skrink-wrapped
with a 20$ mail-in rebate -- ça ne me semblerait jamais aussi
intéressant que de l'écrire ensemble.
Gilles Pelletier