Administration des roles
1. Se connecter a la BDD
mysql -u root -p
2. Acceder a la BDD hackbbs
use hackbbs
3. La table des roles est definie ainsi: (Exemple)
MariaDB [hackbbs]> select * from rank; +----+--------+-------------+----------------------------------------------------------------------------------------------+ | id | idRank | labelRank | Description | +----+--------+-------------+----------------------------------------------------------------------------------------------+ | 0 | 0 | Anonymous | Un invite est un visiteur non inscrit | | 1 | 16 | User | Le membre est une personne ou un bot inscrit | | 2 | 32 | Notificator | Le notificateur prévient le correcteur lorsqu'il suspect des erreurs | | 3 | 48 | Corrector | Le correcteur est habilité à proposer une solution lorsqu'une erreur est avérée | | 4 | 64 | Moderator | Le modérateur dispose des droits en écriture sur le serveur pour appliquer les corrections | | 5 | 240 | Admin | L'admin réalise la maintenance du système | | 6 | 255 | Root | System admin | +----+--------+-------------+----------------------------------------------------------------------------------------------+
4. L'ajout d'un nouveau role peut se faire avec:
insert into rank value(7,17,'Intel','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Intel'); insert into rank value(8,18,'Pilote','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Pilot'); insert into rank value(9,19,'RH','Le membre dispose des privileges pour acceder aux ressources de l\'équipe RH'); insert into rank value(10,20,'Formateur','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Formateur'); insert into rank value(11,21,'Architecte','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Architecte'); insert into rank value(12,22,'Developeur','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Developeur'); insert into rank value(13,23,'Pentest','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Pentest');
Les idRank existant ne permettent pas d'utiliser de masque pour attribuer plusieurs role a un utilisateurs. Nous pouvons donc mettre a jour ces idRank en utilisant les bit du binaire:
------------------+
| id | idRank | labelRank | Description |
+----+--------+-------------+----------------------------------------------------------------------------------------------+
| 0 | 0 | Anonymous | Un invite est un visiteur non inscrit |
| 1 | 1 | User | Le membre est une personne ou un bot inscrit |
| 2 | 10 | Notificator | Le notificateur prévient le correcteur lorsqu'il suspect des erreurs |
| 4 | 100 | Corrector | Le correcteur est habilité à proposer une solution lorsqu'une erreur est avérée |
| 8 | 1000 | Moderator | Le modérateur dispose des droits en écriture sur le serveur pour appliquer les corrections |
| 16 | 10000 | Admin | L'admin réalise la maintenance du système |
| 32 | 100000 | Root | System admin |
| 64 | 1000000 | Intel | Le membre dispose des privileges pour acceder aux ressources de l'équipe Intel |
| 128 | 10000000 | Pilote | Le membre dispose des privileges pour acceder aux ressources de l'équipe Pilot |
| 256 | 100000000 | RH |Le membre dispose des privileges pour acceder aux ressources de l'équipe RH |
| 512 | 1000000000 | Formator | Le membre dispose des privileges pour acceder aux ressources de l'équipe Formateur |
| 1024 | 10000000000 | Architecte | Le membre dispose des privileges pour acceder aux ressources de l'équipe Architecte |
| 2048 | 100000000000 | Developer | Le membre dispose des privileges pour acceder aux ressources de l'équipe Developeur |
| 4096 | 1000000000000 | Pentest | Le membre dispose des privileges pour acceder aux ressources de l'équipe Pentest |
+----+--------+-------------+----------------------------------------------------------------------------------------------+
Script sql:
insert into rank value(0,0x0,'Anonymous','Un invite est un visiteur non inscrit');
insert into rank value(1,0x1,'User','Le membre est une personne ou un bot inscrit');
insert into rank value(2,0x2,'Notificator','Le notificateur prévient le correcteur lorsqu\'il suspect des erreurs');
insert into rank value(4,0x4,'Corector','Le correcteur est habilité à proposer une solution lorsqu\'une erreur est avérée');
insert into rank value(8,0x8,'Moderator','Le modérateur dispose des droits en écriture sur le serveur pour appliquer les corrections');
insert into rank value(16,0x10,'Admin','L\'admin réalise la maintenance du système ');
insert into rank value(32,0x20,'Root','System admin');
insert into rank value(64,0x40,'Intel','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Intel');
insert into rank value(128,0x80,'Pilote','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Pilot');
insert into rank value(256,0x100,'RH','Le membre dispose des privileges pour acceder aux ressources de l\'équipe RH');
insert into rank value(512,0x200,'Formateur','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Formateur');
insert into rank value(1024,0x400,'Architecte','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Architecte');
insert into rank value(2048,0x800,'Developeur','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Developeur');
insert into rank value(4096,0x1000,'Pentest','Le membre dispose des privileges pour acceder aux ressources de l\'équipe Pentest');