1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379
| /* FIXER LES PRIVILEGES POUR LES UTILISATEURS DEPUIS ROOT */
/*DOCUMENTATION :
http://fluxbb.fr/aide/doku.php?id=mysql_gestion_utilisateurs
http://dev.mysql.com/doc/refman/5.0/fr/privileges-provided.html*/
/*NOTE :
Avec mysql le joker * est rempalcé par %
*/
/*AFICHER les comptes
SELECT User, Host, Password FROM mysql.User;
*/
/* ============================== ADMINISTRATEUR ===========================*/
/*
En tant quAdministrateur je désire créer & administrer la base de donné afin que les membres du CE puisent les emprunter.
administrateur : accés total
administrateur @ % doit être vue comme un couple "utilisateur ordinateur" */
GRANT ALL PRIVILEGES ON bibliotheque.* TO 'administrateur'@'localhost' IDENTIFIED BY 'test'; -- l' administrateur peut tout faire sur la BD bibliothe que en local !
/*
Innutile et dangereux!
CREATE USER 'administrateur'@'%' IDENTIFIED BY 'test';
GRANT ALL PRIVILEGES ON bibliotheque.* TO 'administrateur'@'%' WITH GRANT OPTION;
*/
/* ============================== CATALOGUEUR ===========================*/
/*
En tant que Catalogueur je désire enregistrer les références qui caractérises un livre afin de lenregistrer dans la BD des livres qui peuvent êtres prêtés.
catalogueur : accés restreint aux tables :livre, editeur, ville, contributeur, livre_contributeur*/
/*INUTILE de créer un user catalogueur sur localhost deplus ce n'est pas le même user que % !
CREATE USER 'catalogueur'@'localhost' IDENTIFIED BY 'test';
*/
-- table livre;
GRANT SELECT ON bibliotheque.livre TO 'catalogueur'@'%'; -- le catalogueur peut selectionner;
GRANT DELETE ON bibliotheque.livre TO 'catalogueur'@'%'; -- le catalogueur peut suprimmer;
GRANT INSERT ON bibliotheque.livre TO 'catalogueur'@'%'; -- le catalogueur peut inserer;
GRANT UPDATE ON bibliotheque.livre TO 'catalogueur'@'%'; -- le catalogueur peut màj;
-- table editeur;
GRANT SELECT ON bibliotheque.editeur TO 'catalogueur'@'%'; -- le catalogueur peut selectionner;
GRANT DELETE ON bibliotheque.editeur TO 'catalogueur'@'%'; -- le catalogueur peut suprimmer;
GRANT INSERT ON bibliotheque.editeur TO 'catalogueur'@'%'; -- le catalogueur peut inserer;
GRANT UPDATE ON bibliotheque.editeur TO 'catalogueur'@'%'; -- le catalogueur peut màj;
-- table ville;
GRANT SELECT ON bibliotheque.ville TO 'catalogueur'@'%'; -- le catalogueur peut selectionner;
GRANT DELETE ON bibliotheque.ville TO 'catalogueur'@'%'; -- le catalogueur peut suprimmer;
GRANT INSERT ON bibliotheque.ville TO 'catalogueur'@'%'; -- le catalogueur peut inserer;
GRANT UPDATE ON bibliotheque.ville TO 'catalogueur'@'%'; -- le catalogueur peut màj;
-- table contributeur;
GRANT SELECT ON bibliotheque.contributeur TO 'catalogueur'@'%'; -- le catalogueur peut selectionner;
GRANT DELETE ON bibliotheque.contributeur TO 'catalogueur'@'%'; -- le catalogueur peut suprimmer;
GRANT INSERT ON bibliotheque.contributeur TO 'catalogueur'@'%'; -- le catalogueur peut inserer;
GRANT UPDATE ON bibliotheque.contributeur TO 'catalogueur'@'%'; -- le catalogueur peut màj;
-- table livre_contributeur;
GRANT SELECT ON bibliotheque.livre_contributeur TO 'catalogueur'@'%'; -- le catalogueur peut selectionner;
GRANT DELETE ON bibliotheque.livre_contributeur TO 'catalogueur'@'%'; -- le catalogueur peut suprimmer;
GRANT INSERT ON bibliotheque.livre_contributeur TO 'catalogueur'@'%'; -- le catalogueur peut inserer;
GRANT UPDATE ON bibliotheque.livre_contributeur TO 'catalogueur'@'%'; -- le catalogueur peut màj;
-- table employe;
GRANT SELECT ON bibliotheque.employe TO 'catalogueur'@'%'; -- le catalogueur peut selectionner;
-- table employe_livre;
GRANT SELECT ON bibliotheque.employe_livre TO 'catalogueur'@'%'; -- le catalogueur peut selectionner;
-- On affiche la liste des utilisateurs créés;
/*mysql> mysql> select user from mysql.User;
+----------------+
| user |
+----------------+
| bibliothecaire | %
| root | %
| administrateur | localhost
| pma | localhost
| root | localhost
+----------------+
5 rows in set (0.00 sec)
*/
-- On affiche les droits de l'utilisateur catalogueur@'%';
/*mysql> mysql> show grants FOR catalogueur@'%';
+--------------------------------------------------------------------------------------------------+
| Grants for catalogueur@% |
+--------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'catalogueur'@'%' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `bibliotheque`.`livre_contributeur` TO 'catalogueur'@'%' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `bibliotheque`.`ville` TO 'catalogueur'@'%' |
| GRANT SELECT ON `bibliotheque`.`employe` TO 'catalogueur'@'%' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `bibliotheque`.`livre` TO 'catalogueur'@'%' |
| GRANT SELECT ON `bibliotheque`.`employe_livre` TO 'catalogueur'@'%' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `bibliotheque`.`contributeur` TO 'catalogueur'@'%' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `bibliotheque`.`editeur` TO 'catalogueur'@'%' |
+--------------------------------------------------------------------------------------------------+
8 rows in set (0.00 sec)
*/
-- Connection depuis une console DOS au server en tant que bibliothecaire;
/*c:\> mysql -u bibliothecaire
-- Connection à catalogueur;
use bibliotheque;
-- Liste les tables;
othecaire' at line 1
mysql> show tables;
+------------------------+
| Tables_in_bibliotheque |
+------------------------+
| contributeur |
| editeur |
| employe |
| employe_livre |
| liste_disponible |
| liste_emprunt |
| livre |
| livre_contributeur |
| ville |
+------------------------+
9 rows in set (0.01 sec)
*/
/* ============================== BIBLIOTHECAIRE ===========================*/
/*
En tant que bibliothécaire je désire enregistrer un nouvel employé afin de lui permettre d'emprunter un livre.
En tant que bibliothécaire je désire consulter la liste des employés.
En tant que bibliothécaire je désire enregistrer lemprunt dun livre par un employé enregistré en saisissant lidentificateur de lemployé, lidentificateur unique du livre & la date de prêt / sortie afin de mettre à jour le fond et le retiré le livre de la listes des livres disponibles.
En tant que bibliothécaire je désire enregistrer le retour dun livre emprunté par un employé enregistré en saisissant lidentificateur unique du livre et la date de retour afin de mettre à jour le fond et le réintégré à la listes des livres disponibles pour le prêt.
En tant que bibliothécaire je désire consulter la liste des livres.
En tant que bibliothécaire je désire consulter la liste des editeurs.
bibliothécaire accés :
- restreint aux tables : employe, employe_livre
- trés restrient aux tables : livre, editeur, ville, contributeur, livre_contributeur*/
/*INUTILE de créer un user bibliothecaire sur localhost deplus ce n'est pas le même user que % !
CREATE USER 'bibliothecaire'@'localhost' IDENTIFIED BY 'test';
*/
-- le user bibliothecaire sera créé pour bibliothecaire@'%' par les grants
-- table employe;
GRANT SELECT ON bibliotheque.employe TO bibliothecaire@'%'; -- le bibliothecaire peut selectionner et ce quelque soit la machine d'ou il se connecte;
GRANT INSERT ON bibliotheque.employe TO bibliothecaire@'%'; -- le bibliothecaire peut inserer;
GRANT UPDATE ON bibliotheque.employe TO bibliothecaire@'%'; -- le bibliothecaire peut màj;
-- table employe_livre;
GRANT SELECT ON bibliotheque.employe_livre TO bibliothecaire@'%'; -- le bibliothecaire peut selectionner;
GRANT INSERT ON bibliotheque.employe_livre TO bibliothecaire@'%'; -- le bibliothecaire peut inserer;
GRANT UPDATE ON bibliotheque.employe_livre TO bibliothecaire@'%'; -- le bibliothecaire peut màj;
-- table livre;
GRANT SELECT ON bibliotheque.livre TO bibliothecaire@'%'; -- le bibliothecaire peut voir /selectionner un livre;
-- table editeur;
GRANT SELECT ON bibliotheque.editeur TO bibliothecaire@'%'; -- le bibliothecaire peut voir /selectionner un editeur;
-- table ville;
GRANT SELECT ON bibliotheque.ville TO bibliothecaire@'%'; -- le bibliothecaire peut voir /selectionner un editeur;
-- table contributeur;
GRANT SELECT ON bibliotheque.contributeur TO bibliothecaire@'%'; -- le bibliothecaire peut voir /selectionner un editeur
-- table livre_contributeur;
GRANT SELECT ON bibliotheque.livre_contributeur TO bibliothecaire@'%'; -- le bibliothecaire peut voir /selectionner un editeur;
-- vue liste_Emprunt;
GRANT SELECT ON bibliotheque.liste_Emprunt TO bibliothecaire@'%'; -- le bibliothecaire peut voir /selectionner les livres empruntés;
-- liste_Disponible;
GRANT SELECT ON bibliotheque.liste_Disponible TO bibliothecaire@'%'; -- le bibliothecaire peut voir /selectionner les livres disponibles;
-- On affiche la liste des utilisateurs créés;
/*mysql> mysql> select user from mysql.User;
+----------------+
| user |
+----------------+
| bibliothecaire | %
| catalogueur | %
| root | %
| administrateur | localhost
| pma | localhost
| root | localhost
+----------------+
6 rows in set (0.00 sec)
*/
-- On affiche les droits de l'utilisateur bibliothecaire@'%';
/*mysql> show grants FOR bibliothecaire@'%';
+----------------------------------------------------------------------------------------+
| Grants for bibliothecaire@% |
+----------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'bibliothecaire'@'%' |
| GRANT SELECT ON `bibliotheque`.`ville` TO 'bibliothecaire'@'%' |
| GRANT SELECT ON `bibliotheque`.`liste_disponible` TO 'bibliothecaire'@'%' |
| GRANT SELECT ON `bibliotheque`.`livre_contributeur` TO 'bibliothecaire'@'%' |
| GRANT SELECT ON `bibliotheque`.`contributeur` TO 'bibliothecaire'@'%' |
| GRANT SELECT ON `bibliotheque`.`liste_emprunt` TO 'bibliothecaire'@'%' |
| GRANT SELECT ON `bibliotheque`.`editeur` TO 'bibliothecaire'@'%' |
| GRANT SELECT, INSERT, UPDATE ON `bibliotheque`.`employe_livre` TO 'bibliothecaire'@'%' |
| GRANT SELECT, INSERT, UPDATE ON `bibliotheque`.`employe` TO 'bibliothecaire'@'%' |
| GRANT SELECT ON `bibliotheque`.`livre` TO 'bibliothecaire'@'%' |
+----------------------------------------------------------------------------------------+
10 rows in set (0.00 sec)
*/
-- Connection depuis une console DOS au server en tant que bibliothecaire;
/*c:\> mysql -u bibliothecaire
-- Connection à bibliotheque;
use bibliotheque;
-- Liste les tables;
othecaire' at line 1
mysql> show tables;
+------------------------+
| Tables_in_bibliotheque |
+------------------------+
| contributeur |
| editeur |
| employe |
| employe_livre |
| liste_disponible |
| liste_emprunt |
| livre |
| livre_contributeur |
| ville |
+------------------------+
9 rows in set (0.01 sec)
*/
/* ============================== MEMBRE_CE ===========================*/
/*
En tant que membre du CE je désire pouvoir consulter la liste complété du fond afin de voir les titres qui la compose.
En tant que membre du CE je désire voir la liste des titres empruntés afin den avoir connaissance.
En tant que membre du CE je désire voir la liste des titres disponibles afin den avoir connaissance.
membre_ce accés restrictifs uniquement aux tables : livre, liste_Emprunt,liste_Disponible */
/*INUTILE de créer un user membre_ce sur localhost deplus ce n'est pas le même user que % !
CREATE USER 'membre_ce'@'localhost';
*/
-- LE USER MEMBRE_CE SERA CRÉÉ POUR MEMBRE_CE@'%' PAR LES GRANTS
-- table livre;
GRANT SELECT ON bibliotheque.livre TO membre_ce@'%'; -- le membre_ce peut voir /selectionner un livre;
-- vue liste_Emprunt;
GRANT SELECT ON bibliotheque.liste_Emprunt TO membre_ce@'%'; -- le membre_ce peut voir /selectionner les livres empruntés;
-- liste_Disponible;
GRANT SELECT ON bibliotheque.liste_Disponible TO membre_ce@'%'; -- le membre_ce peut voir /selectionner les livres disponibles;
-- On affiche la liste des utilisateurs créés;
/*mysql> select user from mysql.User;
+----------------+
| user |
+----------------+
| bibliothecaire | %
| catalogueur | %
| membre_ce | %
| root | %
| administrateur | localhost
| pma | localhost
| root | localhost
+----------------+
8 rows in set (0.00 sec)*/
-- On affiche les droits de l'utilisateur membre_ce;
/*mysql> show grants FOR membre_ce@'%';
+------------------------------------------------------------------------------+
| Grants for membre_ce@localhost |
+------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'membre_ce'@'%' |
| GRANT SELECT ON `bibliotheque`.`livre` TO 'membre_ce'@'%' |
| GRANT SELECT ON `bibliotheque`.`liste_disponible` TO 'membre_ce'@'%' |
| GRANT SELECT ON `bibliotheque`.`liste_emprunt` TO 'membre_ce'@'%' |
+------------------------------------------------------------------------------+
5 rows in set (0.00 sec)
*/
-- Connection depuis une console DOS au server en tant que membre_CE;
/*c:\> mysql -u membre_ce
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| bibliotheque |
| test |
+--------------------+
3 rows in set (0.01 sec)
mysql> use bibliotheque
mysql> show tables;
+------------------------+
| Tables_in_bibliotheque |
+------------------------+
| liste_disponible |
| liste_emprunt |
| livre |
+------------------------+
3 rows in set (0.01 sec)
-- AFFICHER LES LIVRES EMPRUNTÉS;
mysql> SELECT * FROM liste_Emprunt;
+-------------------------------------------------------------+
| titre |
+-------------------------------------------------------------+
| L'homme le plus sexy |
| Le cercle des immortels, Tome 3 : Le traqueur de rêves |
| Cours de statistiques descriptives |
| Orwell, entre littérature et politique |
| Le Seigneur des Anneaux, Tome 1 : La communauté de l'Anneau |
+-------------------------------------------------------------+
5 rows in set (0.05 sec)
-- AFFICHER LES TITRES DISPONIBLES;
mysql> SELECT * FROM liste_Disponible;
+------------------------------------------------------------------------+
| titre |
+------------------------------------------------------------------------+
| Les archanges du diable, Tome 1 : Le cavalier de l'orage |
| Qu'est-ce que le P.E.R.T. :programm evaluation and review technique :? |
| Chimie organique : Les grands principes |
| Rationalité, vérité et démocratie |
| L'Empire des Loups |
| Le Silmarillion |
| Contes et légendes inachevés, tome 3 |
| Technoperes, Les: Tome 1 : La Pre-Ecole Techno |
| La caste des Méta-Barons, Intégrale |
| L'Etre et le Néant |
| La Transcendance de l'égo |
| La fée Clochette |
+------------------------------------------------------------------------+
12 rows in set (0.03 sec)
*/
-- RESUME DES couples USER@HOST
/*mysql> select User,Host from mysql.User ;
+----------------+-----------+
| User | Host |
+----------------+-----------+
| bibliothecaire | % |
| catalogueur | % |
| membre_ce | % |
| root | 127.0.0.1 |
| administrateur | localhost |
| pma | localhost |
| root | localhost |
+----------------+-----------+
7 rows in set (0.00 sec)*/ |
Partager