CentraleSupélecDépartement informatique
Plateau de Moulon
3 rue Joliot-Curie
F-91192 Gif-sur-Yvette cedex
Contrasenyes

autores (intermedi)

PmWiki dona suport per protegir amb contrasenya diverses àrees d'un lloc wiki. Generalment hom vol definir contrasenyes sobre pàgines individuals o grups wiki. Els administradors/es poden aplicar contrasenyes a pàgines individuals, grups o el lloc complet?. La definició d'una contrasenya per a editar una pàgina o grup (o el lloc complet) és una de les maneres més comuns per aturar l'spam o edicions brossa. Al igual que a un sistema de control d'accés, els mecanismes de protecció amb contrasenya que es descriuen ací només són una xicoteta part del wiki i del sistema general de seguretat?.

Com a autora que edita pàgines...

Habitualment una autora establirà 3 tipus de contrasenyes:

  1. per controlar qui pot llegir una pàgina o grup, useu les contrasenyes read
  2. per controlar qui pot editar una pàgina o grup, useu les contrasenyes edit
  3. per controlar qui pot modificar les contrasenyes d'una pàgina o grup, useu les contrasenyes attr

Si és necessari, es poden protegir amb contrasenya gairebé totes les accions de pàgina?.

Protecció d'una pàgina individual

Per a establir una contrasenya a una pàgina individual, afegiu l'acció de pàgina?:

?action=attr

al URL (adreça) de la pàgina; accedireu als seus atributs. Fent servir el formulari de la pàgina d'atributs, podeu definir o netejar les contrasenyes read, edit, o attr d'aquesta pàgina. Al formulari s'introdueixen les contrasenyes com a text pla (normal i corrent); PmWiki les xifrarà automàticament per a desar-les.

Opcions addicionals:

  • Per no canviar la configuració d'un atribut, cal deixar-ne el camp en blanc (buit).
  • Per eliminar una contrasenya d'una pàgina (revertir a la configuració per defecte del grup o el lloc), introduïu:
clear
  • Per indicar que una pàgina es pot editar fins i tot si hi ha una contrasenya establerta per al grup o el lloc, introduïu:
@nopass
  • Per a tancar una pàgina per a tothom excepte l'administrador/a, introduïu:
@lock
  • Per assignar les contrasenyes globals (establertes per l'administrador/a) a la contrasenya read, edit, o attr de la pàgina, introduïu:
@_site_edit, @_site_read, @_site_admin o @_site_upload

Protecció d'un grup wiki

Establir una contrasenya per a un grup wiki és lleugerament més difícil -- s'han de definir les contrasenyes per a una pagina especial? en cadascun dels grups, anomenada:

Primer, podeu arribar fins la pàgina d'atributs de GroupAttributes introduint un URL (adreça) com el següent:

http://exemple.com/pmwiki/pmwiki.php?n=NomGrup.GroupAttributes?action=attr

Substituïu exemple.com amb el nom del vostre domini, i NomGrup amb el nom del grup.

Aleshores, amb el formulari de la pàgina d'atributs, podeu definir o netejar les contrasenyes read, edit, o attr per a tot el grup. Al formulari s'introdueixen les contrasenyes com a text pla; PmWiki les xifrarà automàticament per a desar-les.

Opcions addicionals:

  • Per eliminar una contrasenya d'un grup (revertir a la configuració per defecte del lloc), introduïu:
clear
  • Per indicar que un grup es pot editar fins i tot si hi ha una contrasenya establerta per al lloc, introduïu:
@nopass
  • Per a tancar una grup per a tothom excepte l'administrador/a, introduïu:
@lock
  • Per assignar les contrasenyes globals (establertes per l'administrador/a) a la contrasenya read, edit, o attr del grup, introduïu:
@_site_edit, @_site_read, @_site_admin o @_site_upload

Contrasenyes

Les contrasenyes han de consistir en una combinació de caràcters, excepte les cometes. Es poden introduir contrasenyes amb espais introduint-les entre cometes, p.ex. "foo bar". Òbviament quan més llarg, millor.

Múltiples contrasenyes

Es permeten múltiples contrasenyes per a una pàgina, grup o lloc. Només cal que introduïu diverses contrasenyes separades per un espai. Això ens permet tenir una contrasenya de lectura, una contrasenya d'escriptura (edició), i que aquesta última doni accés per escriure/llegir. En altres paraules, si la contrasenya de lectura és:

alpha

I la contrasenya d'edició és:

beta

Aleshores introduirem:

Définir un nouveau mot de passe pour la lecture: alpha beta
Définir un nouveau mot de passe pour l'écriture: beta

Això vol dir que es pot usar tant

alpha

com

beta

per a llegir pàgines, però nomes amb

beta

es podran editar. Com que PmWiki comprova la contrasenya que heu introduït des que s'ha obert el navegador, fer servir una contrasenya que és de lectura i també d'escriptura permet ambdues accions, llegir i escriure, sense problemes.

Protegir el lloc

Les contrasenyes es poden aplicar a un lloc wiki sencer mitjançant el fitxer config.php. Per a més detalls, vegeu l'administració de contrasenyes?.

administració

Com a administrador/a ...

Podeu definir contrasenyes per a pàgines i grups tal i com s'ha explicat més a dalt. També podeu:

  1. definir contrasenyes extensibles a tot el lloc (aplicables allà on no hi ha contrasenyes especifiques de pàgina/grup)
  2. usar les contrasenyes attr per a controlar qui pot definir contrasenyes
  3. usar les contrasenyes upload per a controlar qui té capacitat d'adjuntar fitxers (si aquesta capacitat està habilitada)
  4. usar una contrasenya admin per a sobreescriure les contrasenyes definides individualment a les pàgines o grups
  5. usar AuthList per a veure la configuració de les pàgines amb permisos establerts.

Per a més informació sobre les opcions disponibles per als administradors/es, vegeu PasswordsAdmin?.

Quina contrasenya predomina?

A PmWiki, les contrasenyes de pàgina sobreescriuen les del grup, les del grup sobreescriuen les contrasenyes per defecte, i la contrasenya admin sobreescriu a tota la resta. Açò dona molta flexibilitat a l'hora de controlar l'accés a les pàgines de PmWiki.

Obrir l'accés a pàgines de grups/llocs protegits

En ocasions volem "deixar de protegir" algunes pàgines d'un grup o lloc que està protegit. En aquestos casos, la contrasenya especial:

@nopass

s'usa per a indicar que s'hauria de garantir l'accés a la pàgina sense requerir cap contrasenya.

Per exemple, suposem que Main.GroupAttributes té definida una contrasenya d'edició, restringint així l'edició de totes les pàgines del grup Main. Però volem que es pugui editar Main.WikiSandbox sense necessitat de proporcionar una contrasenya. Si usem

clear

com a contrasenya d'edició de Main.WikiSandbox no desprotegim la pàgina, perquè la contrasenya bé donada pel grup. En el seu lloc, establim la contrasenya d'edició de Main.WikiSandbox amb el valor especial:

@nopass

que li indica a PmWiki que s'han d'ignorar les contrasenyes establertes a nivell de grup o de lloc, per a aquesta pàgina concreta.

Com puc protegir amb contrasenya totes les pàgines i grups del meu lloc wiki? De veritat he de definir les contrasenyes pàgina a pàgina, o grup a grup?

Els administradors/es poden definir contrasenyes per a tot el lloc editant el fitxer config.php; no han d'establir contrasenyes per a cada pàgina o grup. Per exemple, per tal de permetre que tot el lloc sigui editable únicament per aquelles persones que coneixen la contrasenya d'"edició", un administrador/a pot afegir una línia com la següent al fitxer local/config.php:

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

Per a més informació sobre les opcions disponibles per als administradors/es, vegeu PasswordsAdmin?.

Quan intento autenticar-me, rebo un error 500 "Internal Server Error". Què faig malament?

Es pot donar aquesta situació si les contrasenyes xifrades no s'han creat al servidor web on s'hostatja PmWiki.
La funció crypt ha canviat durant el desenvolupament de PHP, p.ex. una contrasenya xifrada amb PHP 5.2 no es pot desxifrar amb PHP 5.1, però PHP 5.2 pot desxifrar contrasenyes xifrades amb PHP 5.1.
Habitualment aquesta situació es produeix si configureu el lloc a la vostra màquina local amb l'última versió de PHP i pugeu les contrasenyes al servidor web que funciona amb una versió més vella de PHP.
El mateix error té lloc quan afegiu contrasenyes xifrades al fitxer local/config.php.

Solució: Creeu les contrasenyes al sistema amb la versió de PHP més antiga i useu-les per a la resta de sistemes.

Com puc crear grups privats per a cada autora, de manera que cadascuna pugui editar les pàgines del seu propi grup, però ningú altre (tret de l'administrador/a) pugui?

Definiu la contrasenya a id:username per a cada grup, p.ex. definiu la contrasenya d'edició de VicentSanchis.GroupAttributes a id:VicentSanchis.

Hi ha una solució més automàtica, però segurament no sigui una bona idea en la majoria de casos. Els administradors/es poden usar la recepta AuthUser i afegir aquestes línies al fitxer local/config.php:

    $group = FmtPageName('$Group', $pagename); 
$DefaultPasswords['edit'] = 'id:'.$group;
include_once("$FarmD/scripts/authuser.php");

Açò dona permisos per editar un grup a totes les usuàries on nom d'usuària i nom de grup coincideixen. Desafortunadament dona permisos d'edició a les usuàries que visiten un grup amb el seu mateix nom, però també dona accés a aquestes usuàries a qualsevol pàgina del wiki que delegui en la contrasenya d'edició per defecte de tot el lloc. Això pot suposar un greu forat de seguretat.

Com pot ser que quan canvio de wiki a dintre d'una granja, mantinc la mateixa autorització?

PmWiki usa sessions de PHP per a mantenir el registre de la informació d'autorització/autenticació, i PHP considera per defecte que totes les interaccions amb un mateix servidor són part de la mateixa sessió.

Açò es pot solucionar fàcilment assegurant que cada wiki usa un nom de galeta diferent per a l'identificador de sessió. Prop d'algun dels fitxers local/config.php dels wikis, abans de cridar authuser o qualsevol altra recepta, afegiu una línia com aquesta:

    session_name('XYZSESSID');

Podeu triar qualsevol nom alfanumèric en lloc de XYZSESSID; per exemple, per al wiki cs559-1 podeu triar

    session_name('CS559SESSID');

Això mantindrà independents les sessions dels dos wikis.



Traducció de PmWiki.Passwords - Pàgina original a PmWikiCa.Passwords - Référencé par