Les utilisateurs

La majeure partie des serveurs sur internet utilisent des systèmes d’exploitation dérivés d’Unix, comme Linux ou FreeBSD. De ce système à la riche descendance retenons un principe qui nous intéresse pour le cas présent : il est à la fois multitâches et multi-utilisateurs. Cela signifie que plusieurs personnes à la fois peuvent faire plusieurs choses différentes sur la même machine[1] et, par conséquent, ça suppose de bien « régler la circulation » pour que Paul ne puisse pas casser le travail de Jean-Louis tout en accédant aux photos de vacances de Raoul !

On trouvera donc des utilisateurs et des groupes ; chaque groupe contient plusieurs utilisateurs, chacun membre de plusieurs groupes[2]. Par ailleurs chaque fichier, chaque dossier appartient à un utilisateur et groupe (et un seul) dont l’utilisateur est membre.

Permissions

Il existe quatre niveaux de permissions, repérées par les valeurs lettres ou chiffres suivantes :

  • 0- aucune (on ne peut même pas savoir que le fichier existe),
  • 4-r lire (on peut voir le contenu du fichier, mais pas le modifier),
  • 2-w écrire (on peut modifier et réenregistrer le fichier, voire le supprimer),
  • 1-x exécution (on peut « faire agir » le fichier, lui permettant par exemple de lancer un programme ou d’agir sur le système) ;

réparties entre trois catégories d’utilisateurs :

  • le propriétaire,
  • le groupe,
  • les autres (qui ne sont, donc, ni le propriétaire, ni membres du groupe).

Chaque fichier et dossier possède donc un « code » qui permet d’identifier les permissions, qu’on notera en lettres ou en chiffres. Pour la notation en lettres, on met le signe de chaque permission à la suite et un - quand la permission n’est pas disponible. On aura ainsi rwx pour lecture + écriture + exécution, ou r-x pour lecture + exécution. Pour obtenir la valeur chiffrée d’une permission spécifique, il faut additionner les valeurs indiquée ci-dessus, par exemple : 7 = 4 + 2 + 1 = lecture + écriture + exécution.

Le code de trois lettres ou un chiffre sera défini pour chaque catégorie d’utilisateur, on obtiendra donc neuf lettres ou trois chiffres. Tous les droits pour tout le monde pourra s’écrire 777[3] et tous les droits pour le propriétaire mais uniquement lecture et exécution pour les membres du groupe et autres se notera 755. Ces deux valeurs étant celles qu’on est le plus souvent amené à utiliser en cas de « problèmes de droits » sur un fichier ou un dossier, je ne saurai trop vous suggérer d’en garder la référence dans un coin de cerveau[4].

Tout cela est bel et bon, mais comment j’interviens sur ces permissions ?

Quand vous envoyez des fichiers par FTP sur le serveur, ceux-ci appartiennent… à votre identifiant FTP. Il est important d’avoir en tête que vous ne pouvez pas changer le propriétaire (ce type de manipulation est réservé à l’administrateur du système). Or, Dotclear, lui, discute avec le serveur en tant qu’utilisateur « web »[5], qui possède ses propres droits, et qui va avoir besoin de pouvoir intervenir sur certains fichiers et dossiers de Dotclear, principalement dans les dossiers de thèmes, de plugins, de médias (le dossier public) et dans le dossier cache (si Dotclear ne peut pas y écrire, un message d’erreur extrêmement disgracieux s’affiche à la place du blog).

Grâce à votre client FTP, vous pouvez régler les permissions, en sélectionnant un fichier sur le serveur, puis, par clic-droit (ou ctrl-clic sur Mac) vous accéderez aux permissions des fichiers. N’oubliez pas, quand il s’agit d’un dossier, d’appliquer les modifications aux contenus (sous-dossiers et fichiers). On parle alors de « récursion » (le vocabulaire informatique est d’une poésie insoupçonnée).

Notez qu’il arrive aussi qu’on désigne les permissions par un mot un peu barbare : CHMOD. Il s’agit en fait de la commande utilisée pour modifier les permissions en ligne de commande, que, par abus de langage, on étend à la désignation des permissions définies.

C’est tout pour aujourd’hui, vous n’aurez pas volé votre apéro… Serveur !

Notes

[1] on pourrait être tenté d’objecter que sur mon ordinateur, quand j’occupe le clavier, il n’y a pas grand monde qui peut faire autre chose en même temps, mais ce serait oublier que le principe du serveur, c’est précisément que de nombreux utilisateurs peuvent s’y connecter, donc l’utiliser, en même temps, à travers le réseau

[2] mais pas tous les utilisateurs dans tous les mêmes groupes, hein, sinon ça ne servirait à rien…

[3] ou rwxrwxrwx mais cette notation, plus claire mais plus lourde, se rencontre moins souvent

[4] c’est toujours ça qui ne sera pas disponible pour Coca-Cola :-D

[5] le nom de cet utilisateur, lié au serveur web, varie selon les configurations, le nom « web » n’est pas à prendre au pied de la lettre