Passwords Admin

traduction en chantier débutée le 01/11/05.

PmWiki possède un système intégré de gestion d'accès par mots de passe à différentes parties du site. Ces mots de passe peuvent être appliqués à des pages individuelles, à des groupes Wiki, ou à l'ensemble du site Wiki. Notez que les mots de passe ne sont qu'une petite partie de l'aspect sécurité d'un site Wiki, pour un aperçu global, consultez Les Sécurités de PmWiki.

Les auteurs peuvent utiliser PmWiki pour ajouter des mots de passe aux pages individuelles et aux WikiGroups comme décrit dans PmWikiFr.Passwords. Cependant, Les administrateurs Wiki peuvent aussi appliquer des mots de passe grace à des fichiers de personnalisation comme décrit ci-dessous.

Les bases des mots de passe

PmWiki supporte plusieurs types d'accès aux pages wiki.

read est le mot de passe qui autorise la lecture des pages.
edit est celui qui autorise l'édition et la modification des pages.
attr est celui qui autorise l'initialisation et la modification des mots de passe pour les différents attributs (et potentiellement d'autres attributs futurs).
upload autorise la possibilité d'attacher des fichiers (si la fonctionnalité envoyer des fichiers sur le site est activée).

Enfin, il y a un mot de passe admin qui permet à l'administrateur de prendre la main sur tout mot de passe affecté à une page ou un groupe.

Par défaut, PmWiki a la configuration de mots de passe suivante:

  • Les mots de passe admin et upload sont bloqués par défaut
  • Les groupes Main et PmWiki ont un mot de passe attr bloqué (dans leurs pages .GroupAttributes respectives).
  • Les pages dans le groupe Site sont bloquées contre l'édition, excepté Site.SideBar.

Un mot de passe admin peut être utilisé pour dépasser les mots de passe bloqués, sinon, aucun mot de passe ne permettra l'accès.

Regarder Mots de passe pour de l'information au sujet de l'application de mots de passe par page et par groupe. Le reste de cette page décrit l'application des mots de passe pour l'ensemble du site depuis le fichier local/config.php.

Application de mots de passe au site entier

La première chose qu'un administrateur devrait savoir est d'appliquer un mot de passe admin au site. Ceci est réalisé par une ligne dans le fichier local/config.php comme ce qui suit:

    $DefaultPasswords['admin'] = crypt('secret_password');

Notez que l'appel crypt() est requis pour cela -- PmWiki stocke et gère tous les mots de passe comme des objets cryptés. Voyez le crypt section dessous pour des détails sur l'élimination des mots de passe en clair dans le fichier de configuration.

Pour restreindre l'édition du site entier à ceux qui connaissent le mot de passe "edit", Ajoutez une ligne comme suit au fichier local/config.php:

    $DefaultPasswords['edit'] = crypt('edit_password');

De même, vous pouvez activer $DefaultPasswords['read'], $DefaultPasswords['attr'], et $DefaultPasswords['upload'] pour contrôler les mots de passe par défaut read, edit, and upload pour le site entier. Les mots de passe par défaut sont utilisés seulement pour les pages qui n'ont pas de mot de passe actifs. De plus, chaque valeur $DefaultPasswords peut contenir une rangée de mots de passe:

    $DefaultPasswords['read'] = array(crypt('alpha'), crypt('beta'));
    $DefaultPasswords['edit'] = crypt('beta');

Ces lignes signifient que "alpha" ou bien "beta" peuvent être utilisés pour lire les pages, mais seul le mot de passe "beta" accordera l'autorisation d'éditer une page. Comme PmWiki retient n'importe quel mot de passe entré durant la session en cours, le mot de passe "beta" permettra à la fois la lecture et l'écriture des pages, tandis que le mot de passe "beta" permet seulement la lecture. Une personne sans aucun mot de passe ne pourra consulter aucune page.

Connexion avec Identification ( requière un nom d'utilisateur plus un mot de passe AuthUser)

Contrairement à beaucoup de systèmes qui ont qui ont une méthode d'identification pour contrôler l'accès aux pages (c'est à dire,avec unnom d'utilisateur et un mot de passe pour chaque personne), PmWiki est par défaut un système à mot de passe comme décrit ci-dessus. En général les systèmes de ce type sont souvent plus faciles à maintenir car ils évitent les tâches administratif de création de comptes utilisateur, de récupération des mots de passe perdus et la gestion des droits accordés à chaque utilisateur.

However, PmWiki's authuser.php script augments the password-based system to allow access to pages based on a username and password combination. See AuthUser for more details on controlling access to pages based on user identity.

Security holes ...

Administrators need to carefully plan where passwords are applied to avoid opening inadvertent security holes. If your wiki is open (anyone can read and edit), this would not seem to be a concern, except, a malicious or confused user could apply a read password to a group and make the group completely unavailable to all other users. At the very least, even an open wiki should have a site-wide "admin" password and a site-wide "attr" password set in config.php. The sample-config.php file distributed with PmWiki indicates that the PmWiki and Main groups have "attr" locked by default, but if anyone creates a new group, "attr" is unlocked. Administrators must remember to set "attr" passwords for each new group (if desired) in this case. An easier solution is to include these lines in config.php :

$DefaultPasswords['admin'] = crypt('youradminpassword');
$DefaultPasswords['attr'] = crypt('yourattrpassword');

Encrypting passwords in config.php

One drawback to using the crypt() function directly to set passwords in config.php is that anyone able to view the file will see the unencrypted password. For example, if config.php contains

    $DefaultPasswords['admin'] = crypt('mysecret');

then the "mysecret" password is in plain text for others to see. However, a wiki administrator can obtain and use an encrypted form of the password directly by using ?action=crypt on any PmWiki url (or just jump to PasswordsAdmin?action=crypt). This action presents a form that generates encrypted versions of passwords for use in the config.php file. For example, when ?action=crypt is given the password "mysecret", PmWiki will return a string like

    $1$hMMhCdfT$mZSCh.BJOidMRn4SOUUSi1

The string returned from ?action=crypt can then be placed directly into config.php, as in:

    $DefaultPasswords['admin'] = '$1$hMMhCdfT$mZSCh.BJOidMRn4SOUUSi1';  

Note that in the encrypted form the crypt keyword and parentheses are removed, since the password is already encrypted. Also, the encrypted password must be in single quotes. In this example the password is still "mysecret", but somebody looking at config.php won't be able to see that just from looking at the encrypted form. Crypt may give you different encryptions for the same password--this is normal (and makes it harder for someone else to determine the original password).

Removing passwords

To remove a site password entirely, such as the default locked password for uploads, just set it to empty:

    $DefaultPasswords['upload'] = '';

You can also use the special password "nopass" (defined by the $AllowPassword variable) via ?action=attr to have a non-password protected page within a password-protected group, or a non-password protected group with a site-wide default password set.

Revoking or invalidating passwords

If a password is compromised and the wiki administrator wants to quickly invalidate all uses of that password on a site, a quick solution is the following in local/config.php:

    $ForbiddenPasswords = array('secret', 'tanstaafl');
    if (in_array(@$_POST['authpw'], $ForbiddenPasswords)) 
      unset($_POST['authpw']);

This prevents "secret" and "tanstaafl" from ever being accepted as a valid authorization password, regardless of what pages may be using it.

See Also

  • The $HandleAuth array, which sets the required authentication level that is necessary to perform an action.

<< | DocumentationIndex | >>


Traduction de PmWiki:PasswordsAdmin révisé en version 2

PmWiki possède un système intégré de gestion d'accès par mots de passe à différentes parties du site. Ces mots de passe peuvent être appliqués à des pages individuelles, à des groupes Wiki, ou à l'ensemble du site Wiki. Notez que les mots de passe ne sont qu'une petite partie de l'aspect sécurité d'un site Wiki, pour un aperçu global, consultez PmWiki.Security ( en anglais) | PmWikiFr.Securité ( en français).

PmWiki supporte plusieurs types d'accès à ces pages.

read est le mot de passe qui autorise la lecture des pages.
edit est celui qui autorise l'édition et la modification des pages.
attr est celui qui autorise l'initialisation et la modification des mots de passe pour les différents attributs (et potentiellement d'autres attributs futurs).
upload autorise la possibilité d'attacher des fichiers (si la fonctionnalité envoyer des fichiers sur le site est activée).

Enfin, il y a un mot de passe admin qui permet à l'administrateur de prendre la main sur tout mot de passe affecté à une page ou un groupe.

Les pages ont des mots de passe qui sont des "attributs de page" accessibles en utilisant la commande ?action=attr à la fin de l'adresse URL de la page. Les mots de passe de groupe sont stockés dans une page spéciale pour chaque groupe nommée GroupAttributes. Les mots de passe du site sont stockés dans une variable tableau $DefaultPasswords. Tous les mots de passe sont stockés de manière encryptée de manière à ce qu'un utilisateur balayant le contenu du fichier ne puisse pas déterminer le mot de passe.

Par défaut, $DefaultPasswords est configuré avec des mots de passe read,edit et attr vides pour tout le site (autorisant n'importe qui à voir et modifier les pages) et les mots de passe admin et upload sont verrouillés. De plus, les pages Main.GroupAttributes et PmWiki.GroupAttributes ont des mot de passe attr bloqué pour empêcher les auteurs d'installer des mots de passe sur ces groupes (Pour changer ces mots de passe, utiliser Main.GroupAttributes?action=attr ou PmWiki.GroupAttributes?action=attr).

Pour enregistrer "mysecret" comme mot de passe administrateur, ajoutez la ligne suivante dans config.php:

    $DefaultPasswords['admin'] = crypt('mysecret');

Bien sûr, n'importe qui capable de lire config.php trouverait votre mot de passe secret, aussi voici comment le crypter. Ajoutez ?action=crypt à la fin de n'importe quelle URL de PmWiki (ou cliquer sur PasswordsAdmin?action=crypt) et un formulaire vous permettra d'obtenir la forme cryptée de votre mot de passe. Par exemple quand le cryptage est effectué sur le mot de passe "mysecret", PmWiki retourne une chaîne de caractères du genre

    $1$hMMhCdfT$mZSCh.BJOidMRn4SOUUSi1

(le résultat peut être différent sur votre système). Cette chaîne peut être mise directement dans config.php comme ceci :

    
    $DefaultPasswords['admin'] = '$1$hMMhCdfT$mZSCh.BJOidMRn4SOUUSi1';

Notez que le mot de passe crypté est entouré d' apostrophes (single-quotes). Maintenant, le mot de passe est toujours "mysecret", mais quelqu'un qui regardera dans config.php ne verra que sa forme crypté. Crypt peut vous donner des résultats différents pour le cryptage du même mot de passe--c'est normal (et rend encore plus difficile pour quelqu'un d'autre de déterminer le mot de passe original).

De la même manière, vous pouvez établir $DefaultPasswords['read'], $DefaultPasswords['edit'] et $DefaultPasswords['attr'] pour contrôler le comportement par défaut de tout le site à travers les mots de passe read, edit et attr. Les mots de passe par défaut sont utilisés uniquement pour les pages et les groupes qui n'ont aucun mot de passe particulier. La valeur de ces variables peuvent aussi être des mots de passe cryptés.

Pour supprimer un mot de passe de site, définissez un mot de passe vide :

   $DefaultPasswords['uploads'] = '';

Dans PmWiki, les mots de passe de page ont priorité sur les mots de passe de groupe, les mots de passe de groupe sur les mots de passe par défaut, et le mot de passe admin a priorité sur tous les autres mots de passe. Ce qui procure une grande flexibilité pour contrôler l'accès des pages d'un site PmWiki. Le mot de passe spéciale "nopass" (défini par la variable $AllowPassword) peut être utilisé pour rendre public l'accès d'une page à l'intérieur d'un groupe protégé ou bien l'accès d'un groupe à l'intérieur d'un site protégé.

Pour l'utilisation même de PmWiki sur comment gérer les mots de passe sur des pages individuelles ou sur des groupes Wiki via ?action=attr, consultez mots de passe.


<< | Index doc admin | >>


Traduction de PmWiki:PasswordsAdmin - Page originale sur PmWiki:PmWikiFr.AdministrationDesMotsDePasse