Administration des roles

De HackBBS
Aller à la navigation Aller à la recherche

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');