Comprendre la structure des permissions

-- JacquesDaignault 2006-05-16 17:34:05

La structure générale reprend les normes acl Posix (user, group ou all, auxquels les permissions de lecture, écriture et/ou exécution peuvent être accordées)

Les permissions de base

Elles sont définies par l'administrateur dans la configuration du site. Dans le cas d'IAACS, les permissions générales sont les suivantes:

acl_right_before = u"FirstAdminGroup:read,write,delete,revert,admin"
acl_right_default = u"Known:read,write,delete,revert All:read"

Cela signifie

  1. Le groupe FirstAdminGroup1 a toutes les permissions en amont:

    • 1.1 Lire, écrire, effacer, restaurer d'anciennes versions et changer les permissions.
  2. Le groupe Know2 a les suivantes, par défaut:

    • 1.1 Lire, écire, effacer et restaurer (ce groupe ne peut pas changer les permissions, cela impliquerait qu'il puisse le faire dans toutes les pages appartenant à son groupe... On imagine facilement les problèmes...) C'est pour cette raison que nous utilisons la foncion d'autoadministration.
  3. Le groupe All3 est restreint à une seule permission:

    • 1.1 Lire.

La fonction AutoAdmin

Cette fonction permet d'accorder des permissions à des utilisateurs ou groupes d'utilisateurs sur des pages ou groupes de pages en particulier.

Le groupe AutoAdminGroup4 comprend la liste des utilisateurs (ou groupes) auxquels la permission admin est accordée.

La page AutoAdminGroup doit également donner les bons droits, en particulier ceux relatifs à un ou des groupes d'administrateurs -- autres que ceux désignés dans les acl_right_before -- dont on voudrait qu'ils gèrent la liste des utilisateurs autorisés sur cette page5.

Règles de base!!!

  1. Tout utilisateur (ou groupe) inclus dans AutoAdminGroup pourra gérer les permissions relatives à sa page d'accueil (celle de son NomUtilisateur).

    <!> Attention! On ne doit pas s'oublier dans les droits déclarés! Sinon, on ne pourra plus gérer sa page!!!

    Par exemple #acl NomUtilisateur6:read,write,delete,revert,admin7 et les autres droits, par exemple All:read

  2. Les autres pages créées sous l'identité du NomUtilisateur (les sous-pages 8, en fait) héritent des mêmes droits d'administration que la page-mère (on peut donc, sur chacune des sous-pages créées, assigner les mêmes permissions (ou d'autres) via la command #acl)

    • 1.1 <!> Attention! Les permissions se font dans l'ordre suivant : du particulier au général et s'arrête au premier "match" rencontré; il importe donc de donner les permissions dans le bon ordre (on finit toujours, par exemple, par All ; et on commence par l'utilisateur particulier)


______________________

Notes

  • 1 Ce groupe a été défini par le "superuser" et comprend les utilisateurs JacquesDaignault et ReneeFountain

  • 2 Ce groupe est défini par le système et comprend tous les utilisateurs enregistrés

  • 3 Tous les utilisateurs

  • 4 C'est le groupe que la fonction AutoAdmin prescrit de créer

  • 5 Iaacs n'a pas de tel groupe pour l'instant

  • 6 On peut remplacer NomUtilisateur par la variable @ ME@

  • 7 Il n'est pas nécessaire d'inclure admin... c'est le propre de la fonction AutoAdmin de le faire

  • 8 (!) Important! Seules les "sous-pages" hériteront des permissions, c'est-à-dire seulement les pages ayant la syntaxe NomUtilisateur/NouvellePage