16/01/2025

Stockage

Base de données

Créer, modifier ou supprimer un utilisateur avec la console SQL

I. Présentation Par défaut, on se connecte à une base de données avec l’utilisateur « Root » qui dispose de tous les privilèges, ce qui peut être un trou de sécurité important si vous vous faites pirater votre serveur. Fort heureusement, il est possible de créer plusieurs utilisateurs à partir de l’interface PhpMyAdmin, mais pas seulement. En effet, grâce à la console MySQL il est possible de gérer les utilisateurs c’est-à-dire d’en créer, de les modifier et de les supprimer, de manière simple et efficace. C’est ce que nous allons voir dans ce tutoriel. II. Informations sur le serveur et les utilisateurs Serveur : localhost Serveur web : WAMP Utilisateur : root Utilisateur à créer : neoflow, flo, test et admin III. Exécutez la console Avec une Invite de commandes, se positionner dans le répertoire contenant « mysql.exe » : cd « c:\wamp\bin\mysql\mysql5.1.36\bin »  Exécutez “mysql.exe” en utilisant des paramètres d’authentification SANS mot de passe : mysql.exe –u root  Exécutez “mysql.exe” en

Lire cet article
Base de données

La gestion des droits avec la console SQL

I. Présentation La gestion des droits est incontournable en matière de sécurité et pour définir les actions que l’utilisateur a le droit de faire et de ne pas faire. En SQL, il y a 4 droits/privilèges principaux que l’on peut attribuer à un utilisateur. Il peut avoir le droit de sélectionner des données dans des tables grâce au « SELECT », d’ajouter des valeurs dans les tables grâce à « INSERT » , de supprimer des données grâce à la commande « DELETE » et d’en mettre à jour en utilisant « UPDATE ». Il est possible de gérer ces droits via l’interface PHPMyAdmin mais aussi à partir de la console MySQL, c’est ce que nous allons dans ce tutoriel. II. Informations sur le serveur et la base de données utilisée Serveur : localhost (127.0.0.1) Serveur web : WAMP Base de données : neoflow_bdd Table : table1 Utilisateurs : root et invite III. Exécutez la console Avec une Invite de

Lire cet article
Base de données

Les alias en SQL

I. Présentation Les alias en SQL permettent de renommer une colonne c’est-à-dire le nom d’un champ indiqué dans le SELECT ou le nom d’une table indiquée dans le FROM. L’intérêt est de rendre plus lisible certaines requêtes et également d’améliorer l’exploitation du résultat en PHP. II. Syntaxe de l’alias pour un champ SELECT champ1 AS nom_alias FROM table1 ; Vous pouvez trouver les alias inutiles lorsque la requête est simple mais lorsque la requête devient conséquente et qu’elle contient de nombreux champs et tables, les alias deviennent incontournables pour s’y retrouver facilement. III. Syntaxe de l’alias pour une table SELECT champ1 FROM table1 AS nom_alias ; Le principe est le même pour faire un alias sur un champ ou sur une table, il suffit d’ajouter « AS » à la suite du nom du champ ou du nom de la table que l’on souhaite renommer. IV. L’impact d’un alias sur un champ Lorsque vous effectué un alias sur le nom

Lire cet article
Base de données

Réplication en temps réel Master/Slave MySQL

I. Présentation L’importance des serveurs de base de données et des bases de données elles même dans un système d’information est capital à son bon fonctionnement tant au niveau applicatif qu’au niveau des lectures par les serveurs web. C’est pourquoi il est important, dans une optique de sécurité et de disponibilité de l’information, d’avoir un processus à la fois de réplication des informations en temps réel mais aussi de tolérance de panne. Plus précisément, si un serveur dit « Master » tombe, un autre serveur « Slave » doit prendre le relais de manière immédiate et doit aussi avoir la dernière version des informations. Dans ce tutoriel, nous allons apprendre à mettre en place une réplication des bases de données en temps réel entre un serveur dit « Master » qui va recevoir les processus d’écriture et de lecture et un serveur « Slave » qui se chargera de se mettre à jour selon les modifications faites sur le « Master » afin qu’il dispose des dernières versions des informations

Lire cet article
NAS

Installation d’OpenMediavault depuis Debian

I. Présentation OpenMediaVault est une distribution orientée NAS (Network Attached Storage) créée par le développeur Volk qui est un ancien développeur de FreeNAS et de Debian. C’est une distribution nouvelle mais prometteuse basée sur Debian Squeeze, la plupart des fonctionnalités et des protocoles utiles pour un NAS y sont supportés. Dans ce tutoriel, nous allons voir comment installer OpenMediaVault depuis une machine Debian déjà installée. OpenMediavault peut en effet s’installer en tant que distribution toute faite basée sur Debian mais également en tant que paquet sur une Debian déjà installée. Nous passerons donc par la mise à jour des sources et paquets pour ensuite passer à l’installation en elle même puis la vérification de l’accès à la page d’accueil d’OMV. II. Mise à jour des paquets et des sources OMV étant une distribution naissante et grandissante, elle dispose de son propre dépôt (là où sont situés les paquets nécessaire à son fonctionnement). On commence donc par mettre à jour notre

Lire cet article
Cloud

Partage de documents avec ownCloud

I. Présentation La solution de stockage ownCloud permet l’hébergement de documents mais également le partage de fichiers et de répertoires, afin de rendre ce dernier public accessible par un lien ou alors privée avec une protection par mot de passe. Nous allons voir dans ce tutoriel comment partager un fichier avec ownCloud et les différentes possibilités qui sont offertes lors d’un partage. Dans le cas où vous souhaitez partager un répertoire, la procédure reste la même. II. Accès à ownCloud Dans un premier temps connectez-vous à l’interface web d’ownCloud, identifiez-vous puis naviguez dans vos documents jusqu’à arriver où se situe le fichier/dossier que vous souhaitez partager. III. La fonctionnalité de partage Survolez l’élément que vous souhaitez partager avec la souris, vous verrez apparaître sur la même ligne diverses actions et notamment « Partager », cliquez dessus. Pour ma part je vais partager un fichier nommé « Neoflow.fr ». Apparaît alors un formulaire de partage. Voici quelques explications : – Partager

Lire cet article
Base de données

Conception d’un modèle physique des données

I. Présentation Le modèle physique des données (MPD) d’une base de données permet d’avoir une représentation graphique de la structure d’une base de données et ainsi de mieux comprendre les relations entre les différents tables. Il permet d’avoir un point de vue global sur l’ensemble de la base de données. Nous utiliserons la base de données suivantes pour créer notre MPD : T_Batiments(Bat_Num,Bat_Nom); T_Fabricants(F_Num,F_Nom); T_Switchs(Sw_Num,#Sw_NumFabr,#Sw_NumBat,Sw_Modele,Sw_NbPortsMb,Sw_NbPortsGb); Cette base de données a pour but de répertorier les switchs des fabricants pour ensuite les implémenter dans différents bâtiments. II. Comment créer un MPD  ? Dans un MPD, on crée les tables dont on met le nom dans l’en-tête, ensuite à l’intérieur de ces tables on répertorie l’ensemble des champs qu’elles contiennent. Dans un second temps, il faut souligner les champs qui sont des clés primaires et mettre un “#” devant les champs qui sont des clés étrangères. Pour les clés étrangères ce n’est pas tout, il faut montrer, à l’aide d’une flèche vers

Lire cet article
Base de données

Ajouter des valeurs dans une table

I. Présentation Nous allons voir dans ce tutoriel comment ajouter des valeurs dans une table grâce à des requêtes écrites dans un script SQL.Comme pour les tutoriels précédents la base de données présentée dans ce MPD est utilisée.  Voici pour rappel le MPD de cette base de données : II. Quel est la requête utilisée pour ajouter des valeurs dans une table ? La requête utilisée pour ajouter des valeurs dans une table est la requête INSERT INTO dont la structure est la suivante : INSERT INTO nom_table ( champ1 , champ2 ) VALUES (‘valeur1’,’valeur2’), (‘valeur3’,’valeur4’);  “Valeur1” et “Valeur3” correspondent à la valeur du “champ1”.  Chaque ligne représente un enregistrement différent.  Chaque ligne d’enregistrement doit se terminer par une virgule sauf pour la dernière qui doit se terminer par un point-virgule.  Si vous indiquez 2 champs dans le “INSERT INTO” vous devez obligatoirement ajouter une valeur pour ces 2 champs à chaque enregistrement.  Il doit y avoir une virgule entre

Lire cet article
Base de données

Faire des requêtes SQL dans une base de données

I. Présentation Dans ce tutoriel nous allons voir comment effectuer des requêtes SQL dans une base de données pour obtenir des informations sur ce que contiennent les tables qui la compose. Nous commencerons par des requêtes très simples pour ensuite les complexifier. Les requêtes seront effectuées dans la base de données utilisée pour l’ensemble des tutoriels SQL, c’est à dire celle-ci : lien. Vous trouverez le tutoriel pour créer le script SQL de cette BDD en cliquant sur ce lien, et le tutoriel pour ajouter des valeurs à cette base de données à cette adresse : lien Pour rappel, voici le MPD de cette base de données : Pour exécuter les requêtes accédez à PhpMyAdmin puis à gauche dans l’arborescence cliquez sur la base de données (dans notre cas « implementation_switchs ») et ensuite dans le menu cliquez sur « SQL ». II. Qu’elle est la structure de base d’une requête SQL ? SELECT champ1 , champ2 FROM table1 WHERE champ1 = 0  

Lire cet article
Base de données

Erreur MysQL : Table is marked as crashed and should be repaired

I. Présentation Il peut arriver que vous ayez à faire face à l’erreur « Table is marked as crashed and should be repaired » lors de la manipulation des tables MySQL. II. Pourquoi cette erreur Cette erreur et avertissement peut avoir plusieurs sources. Elle indique la table en question est corrompue et qu’elle doit être réparée. Cela peut être dû à un problème d’espace disque sur la partition où se situe la base de données, à un problème d’extinction de la base de données lors d’une lecture ou d’une écriture d’informations ou alors plus couramment à un problème physique sur le support de stockage, une extinction non prévue, etc .. III. Réparer une table corrompue Nous pouvons le faire grâce à PhpmyAdmin dans un premier temps. Il faut se rendre dans le PhpMyAdmin pour réparer la table (l’opération est aussi faisable en ligne de commande sur le serveur MySQL). On doit ensuite se loguer puis se rendre dans la base de données

Lire cet article
Base de données

Voir les droits utilisateur dans MySQL en ligne de commande 

I. Présentation Dans ce tutoriel, nous allons voir comment afficher les droits et permissions d’un utilisateur MySQL en ligne de commande. Le plus souvent, on utilise PhpMyAdmin pour gérer les droits utilisateurs mais il est aussi facile et rapide de le faire en ligne de commande (CLI) Nous allons ici utiliser la commande « show grants » qui sert à afficher les droits d’un utilisateur sur les bases d’un serveur. Il est important de savoir que pour utiliser cette commande, le minimum des droits requis est celui de faire un « select » sur la base de données « mysql » du serveur MySQL. II. Voir les utilisateurs disponibles Nous allons, dans un premier temps, regarder quels sont les utilisateurs présents sur notre serveur après s’être connecté en « root » en ligne de commande : select user,host from mysql.user; Nous aurons alors la liste des utilisateurs ainsi que les hôtes depuis lesquels ils peuvent se connecter. III. Voir nos bases de données Nous allons maintenant chercher à

Lire cet article
Base de données

Changer le nom de l’utilisateur root MySQL

I. Présentation Par défaut, MySQL créé, lors de son installation, un super-utilisateur nommé « root ». Cet utilisateur a tous les droits sur toutes les bases de données du serveur. Si un utilisateur doit être ciblé lors d’une attaque sur un service MySQL, c’est bien celui-ci. En effet, si on arrive à avoir les identifiants de cet utilisateur (login et mot de passe), on aura un accès total à toutes les bases de données. Dés le départ, un attaquant peut démarrer une attaque avec 50% des informations requises : le nom de l’utilisateur (« root »). Pour rendre plus difficile et plus lente la tâche d’un attaquant, nous allons modifier le nom de cet utilisateur pour que l’utilisateur « root » n’existe plus. Ainsi, en plus de devoir trouver un mot de passe, l’attaquant devra commencer par trouver l’identifiant du super-utilisateur de notre service MySQL. II. Voir les utilisateurs existants Nous allons commencer par vérifier quel utilisateur est présent sur notre service MySQL. On se connecte

Lire cet article
Cloud

Script – Externaliser les données des utilisateurs ownCloud

I. Présentation Si vous utilisez le gestionnaire de fichiers ownCloud mais que vous utilisez un espace de stockage externe, comme un NAS par exemple, et que vous souhaitez que chacun de vos utilisateurs ownCloud possède un accès à un répertoire personnel sur ce NAS, ce script est fait pour vous ! En effet, lorsque vous exécuterez ce script Bash sur votre serveur ownCloud, celui-ci vous demandera de saisir le nom de l’utilisateur pour qui le répertoire sur le NAS doit être créé. Ensuite, un dossier portant le nom de cet utilisateur sera créé sur l’espace de stockage externe, et, un lien symbolique entre ce répertoire et le répertoire ownCloud de cet utilisateur sera créé. De ce fait, les données de vos utilisateurs seront stockées sur le NAS (votre espace de stockage externe) et non sur votre serveur ownCloud. Les données sont donc externalisées du serveur web. A chaque fois que vous créerez un utilisateur, vous devez exécuter à nouveau le

Lire cet article