Table of Contents
translate this page
Base de données VHFFS
Cette page décrit la base de données de VHFFS (les champs et leur utilité). Elle est à compléter et se rapporte à la versin 4.1 de VHFFS.
vhffs_object
Il s'agit de la table de base. Elle permet l'implantation d'un système d'héritage. Ainsi, les utilisateurs, les groupes, les différentes entités composant les services sont tous des objets. Cela permet d'éviter la duplication de champs.
\d vhffs_object Table «public.vhffs_object» Colonne | Type | Modificateurs ---------------+-----------------------------+------------------------------------------------------------------ object_id | integer | not null default nextval('vhffs_object_object_id_seq'::regclass) owner_uid | integer | date_creation | timestamp without time zone | state | character varying | not null description | text | type | integer | default 0 Index : «vhffs_object_pkey» PRIMARY KEY, btree (object_id) «idx_vhffs_object_state» btree (state)
object_id
: identifiant de l'objetowner_uid
: identifiant de l'utilisateur propriétaire de l'objetdate_creation
: date de création de l'objetstate
: état de l'objet (défini dansVhffs::Constants
)description
: description de l'objet (saisie par l'utilisateur)type
: type de l'objet (défini dansVhffs::Constants
)
DNS
vhffs_dns
Table contenant les données globales sur une zone. Cette table était auparavant décomposée en plusieurs tables (vhffs_dns_global
et vhffs_dns_soa
). Les données qu'elle contient sont destinées à |MyDNS, elles lui sont présentées via la vue vhffs_dns_soa
qui assure la conversion des noms de champs.
\d vhffs_dns Table «public.vhffs_dns» Colonne | Type | Modificateurs -----------+------------------------+------------------------------------------------------------------- dns_id | integer | not null default nextval('vhffs_dns_global_dns_id_seq'::regclass) domain | character varying(255) | not null owner_gid | integer | owner_uid | integer | object_id | integer | ns | character varying(255) | not null mbox | character varying(255) | not null serial | integer | not null default 1 refresh | integer | not null default 28800 retry | integer | not null default 7200 expire | integer | not null default 604800 minimum | integer | not null default 86400 ttl | integer | not null default 86400 Index : «vhffs_dns_pkey4» PRIMARY KEY, btree (dns_id) Contraintes de clés secondaires : «fk_vhffs_dns_vhffs_groups» FOREIGN KEY (owner_gid) REFERENCES vhffs_groups(gid) «fk_vhffs_dns_vhffs_object» FOREIGN KEY (object_id) REFERENCES vhffs_object(object_id) ON DELETE CASCADE «fk_vhffs_dns_vhffs_users» FOREIGN KEY (owner_uid) REFERENCES vhffs_users(uid)
Les cinq premiers champs formaient auparavant la table vhffs_dns_global
, les suivant vhffs_dns_soa
.
dns_id
: identifiant autogénéré du domainedomain
: nom du domaineowner_gid
: identifiant du groupe propriétaireowner_uid
: identifiant de l'utilisateur propriétaireobject_id
: identifiant de l'objet correspondantns
: nom du serveur de nom primaire (c-à-d. nom du serveur de nom MyDNS, paramètredefault_ns1
de la configuration VHFFS)mbox
: adresse email de la personne gérant le serveur DNS (default_mbox
)serial
: numéro de série des données de zone (formatAAAAMMJJVV
)refresh
: période de rafraîchissement des serveurs secondaires en secondesretry
: délai avant de réessayer un rafraîchissement si le transfert échoue (en seconde)expire
: délai d'expiration des données lorsque le serveur ne répond plusminimum
: TTL minimum pour tous les rr de ce domaine, si un enregistrement devhffs_dns_rr
contient une valeur inférieure pour son champttl
, c'est la valeur de minimum qui est utiliséettl
: Durée de conservation dans les caches DNS.
vhffs_dns_rr
Table contenant les “resource records” d'une zone.
\d vhffs_dns_rr Table «public.vhffs_dns_rr» Colonne | Type | Modificateurs ---------+------------------------+----------------------------------------------------------- id | integer | not null default nextval('vhffs_dns_rr_id_seq'::regclass) zone | integer | not null name | character varying(64) | not null type | character varying(5) | not null data | character varying(128) | not null aux | integer | not null default 0 ttl | integer | not null default 86400 Index : «vhffs_dns_rr_pkey» PRIMARY KEY, btree (id) Contraintes : «fk_vhffs_dns_rr_chk_type» CHECK ("type"::text = 'A'::text OR "type"::text = 'AAAA'::text OR "type"::text = 'CNAME'::text OR "type"::text = 'HINFO'::text OR "type"::text = 'MX'::text OR "type"::text = 'NS'::text OR "type"::text = 'PTR'::text OR "type"::text = 'RP'::text OR "type"::text = 'SRV'::text OR "type"::text = 'TXT'::text) Contraintes de clés secondaires : «fk_vhffs_dns_rr_vhffs_dns» FOREIGN KEY ("zone") REFERENCES vhffs_dns(dns_id) ON DELETE CASCADE
id
: identifiant de l'enregistrement (autogénéré)zone
: identifiant du SOA auquel se rapporte l'enregistrementtype
: type de l'enregistrement (A
,AAAA
,CNAME
, etc.)name
etdata
: nom auquel se rapporte l'enregistrement et données correspondantes. La signification varie selon les cas :- type
A
ouAAAA
: nom d'hôte et IP correspondante - type
CNAME
: alias et nom réel de la machine - type
MX
: hôte et serveur mail correspondant - type
NS
: nom d'hôte et nameserver correspondant - type
PTR
: adresse IP et nom d'hôte correspondant - type
SRV
:name
contient le nom du service etdata
contient[poids] [port] [machine]
- type
TXT
: Nom de l'hote et texte associé
aux
: Informations complémentaires (priorité dans le cas d'enregistrementsMX
ouSRV
)ttl
: Temps de vie dans le cache
Mailing lists
vhffs_ml
Table contenant les informations sur les mailing lists de la plateforme.
\d vhffs_ml Table «public.vhffs_ml» Colonne | Type | Modificateurs --------------+------------------------+---------------------------------------------------------- ml_id | integer | not null default nextval('vhffs_ml_ml_id_seq'::regclass) local_part | character varying | not null domain | character varying | prefix | character varying | owner_uid | integer | owner_gid | integer | object_id | integer | admin | character varying(250) | open_post | boolean | open_archive | boolean | open_sub | boolean | reply_to | boolean | moderated | boolean | signature | character varying(250) | Index : «vhffs_ml_pkey» PRIMARY KEY, btree (ml_id) «vhffs_ml_unique_address» UNIQUE, btree (local_part, "domain") Contraintes de clés secondaires : «fk_vhffs_ml_vhffs_groups» FOREIGN KEY (owner_gid) REFERENCES vhffs_groups(gid) «fk_vhffs_ml_vhffs_object» FOREIGN KEY (object_id) REFERENCES vhffs_object(object_id) ON DELETE CASCADE «fk_vhffs_ml_vhffs_users» FOREIGN KEY (owner_uid) REFERENCES vhffs_users(uid)
Note : il n'existe pas de contrainte entre le domaine et la table vhffs_mxdomain
. Cette contrainte est vérifiée logiciellement sauf dans le cas où le domaine est celui défini par default_domain
dans la section mailing
de la configuration.
ml_id
: Identifiant autogénéré de la mailing listlocal_part
: préfixe de la mailing list (partie avant le @)domain
: domaine de la mailing list (après le @)prefix
: préfixe ajouté à tous les mails envoyés sur la mailing listowner_uid
: identifiant de l'utilisateur propriétaireowner_gid
: identifiant du groupe propriétaireobject_id
: identifiant de l'objet correspondantadmin
: adresse email de l'administrateur de la liste (par défaut, adresse email de l'utilisateur créateur)open_post
: indique si les personnes non inscrites à la mailing list peuvent posteropen_archive
: indique si les archives sont disponibles publiquementopen_sub
: indique si les inscriptions sont publique (sinon il est possible d'ajouter des membres via le panelreply_to
: valeur du champReply To
des mails envoyésmoderated
: indique si la liste est modéréeurl
: ????signature
: Signature de la ml ajoutée à chaque pied de mail
vhffs_ml_subscribers
Table répertoriant toutes les personnes ayant souscrit à une mailing list.
\d vhffs_ml_subscribers Table «public.vhffs_ml_subscribers» Colonne | Type | Modificateurs ----------+-----------------------+----------------------------------------------------------------------- sub_id | integer | not null default nextval('vhffs_ml_subscribers_sub_id_seq'::regclass) member | character varying | not null perm | integer | not null hash | character varying | ml_id | integer | not null language | character varying(16) | Index : «vhffs_ml_subscribers_pkey» PRIMARY KEY, btree (sub_id) Contraintes de clés secondaires : «fk_vhffs_ml_subscribers_vhffs_ml» FOREIGN KEY (ml_id) REFERENCES vhffs_ml(ml_id) ON DELETE CASCADE
sub_id
: Identifiant de l'abonnémember
: Adresse de l'abonnéperm
: Niveau d'autorisation de l'abonné :ML_RIGHT_SUB_WAITING_FOR_REPLY
: Utilisateur ayant demandé une inscription mais ne l'ayant pas encore validéeML_RIGHT_SUB
: Utilisateur classique (ajouté directement ou ayant confirmé son inscription)ML_RIGHT_ADMIN
: Administrateur de la liste (accès aux commandes d'administration via xxx-request@domain.comML_RIGHT_SUB_WAITING_FOR_DEL
: Utilisateur ayant demandé sa désinscription mais ne l'ayant pas encore confirmée
active
: Indique si l'utilisateur est actif (??? semble inutilisé)hash
: Hash lié à la requête de l'utilisateur (pour inscription ou désinscription)ml_id
: Identifiant de la liste à laquelle l'utilisateur est inscritlanguage
: Langue de l'utilisateur (pour les tâches administratives)
La clé fk_vhffs_ml_subscribers_vhffs_ml
permet la suppression de tous les abonnés à une liste lors de la suppression de celle-ci.
vhffs_acl
Cette table contient les autorisations au niveau du panel pour les différents objets. Elle permet d'indiquer quels sont les groupes et/ou utilisateurs qui vont pouvoir consulter, modifier, supprimer, etc. un service.
\d vhffs_acl Table «public.vhffs_acl» Colonne | Type | Modificateurs ---------+---------+------------------------------------------------------------ acl_id | integer | not null default nextval('vhffs_acl_acl_id_seq'::regclass) oid_src | integer | perm | integer | not null oid_dst | integer | Index : «vhffs_acl_pkey» PRIMARY KEY, btree (acl_id) Contraintes de clés secondaires : «fk_vhffs_acl_vhffs_object_dst» FOREIGN KEY (oid_dst) REFERENCES vhffs_object(object_id) ON DELETE CASCADE «fk_vhffs_acl_vhffs_object_src» FOREIGN KEY (oid_src) REFERENCES vhffs_object(object_id) ON DELETE CASCADE
acl_id
: Identifiant de l'ACL ;oid_src
: Identifiant de l'objet correspondant au groupe ou à la personne disposant d'un accès ( renommer le champ) ;perm
: Niveau d'accès de l'utilisateur/groupe ;oid_dst
: Objet (service) concerné par l'ACL.