Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:centos:6:avance:l105 [2020/08/07 16:27] – admin | elearning:workbooks:centos:6:avance:l105 [2023/02/15 15:55] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~PDF: | ~~PDF: | ||
- | **Version**: | ||
- | ======LRF305 - Gestion des Données avec SQL====== | + | Version : **2022.01** |
- | =====Contenu du Module===== | + | Dernière mise-à-jour : ~~LASTMOD~~ |
- | * **LRF305 | + | ======LCF304 |
- | * SQL | + | |
- | * Chaînes de caractères | + | |
- | * Nombres | + | |
- | * Nombres Entiers | + | |
- | * Nombres Décimaux | + | |
- | * Nombres Négatifs | + | |
- | * Valeurs NULL | + | |
- | * Noms de Fichiers | + | |
- | * Variables Utilisateurs | + | |
- | * Commentaires | + | |
- | * Commandes | + | |
- | * SELECT | + | |
- | * UPDATE | + | |
- | * DELETE FROM | + | |
- | * DROP TABLE | + | |
- | * INSERT | + | |
- | * ALTER | + | |
- | * MATCH | + | |
- | * Opérateurs | + | |
- | * Mathématiques | + | |
- | * Logiques | + | |
- | * Comparaison | + | |
- | * Fonctions | + | |
- | * Mathématiques | + | |
- | * Chaînes | + | |
- | * Dates | + | |
- | * Contrôle | + | |
- | * Agrégation | + | |
- | * Autres | + | |
- | * Types de Champs | + | |
- | * Nombres entiers | + | |
- | * Nombres à virgule flottante | + | |
- | * Dates et Heures | + | |
- | * Types de données TIMESTAMP | + | |
- | * Chaînes | + | |
- | * TEXT et BLOB | + | |
- | * ENUM et SET | + | |
- | * Types de Moteurs de Stockage | + | |
- | * Caractéristiques des Moteurs | + | |
- | * InnoDB | + | |
- | * Mécanisme Interne | + | |
- | * Transactions | + | |
- | * Tablespace | + | |
- | * Multiversion Concurrency Control | + | |
- | * Transaction Isolation Levels | + | |
- | * MyISAM | + | |
- | * MyISAM FIXED | + | |
- | * MyISAM DYNAMIC | + | |
- | * MyISAM COMPRESSED | + | |
- | * Particularités | + | |
- | * Memory | + | |
- | * Particularités | + | |
- | * En Pratique | + | |
- | * Archive | + | |
- | * Particularités | + | |
- | * CSV | + | |
- | * FEDERATED | + | |
- | * NDB Cluster | + | |
- | * Autres Moteurs Non Standards | + | |
- | * XtraDB | + | |
- | * Aria | + | |
- | * Jointures | + | |
- | * FULL JOIN | + | |
- | * LEFT JOIN | + | |
- | * RIGHT JOIN | + | |
- | * LAB #1 - Le Langage SQL | + | |
- | =====SQL===== | + | =====Contenu du Module===== |
- | ====Chaînes | + | * **LCF304 - Gestion du Partage des Fichiers** |
+ | * Contenu du Module | ||
+ | * Gestion du Serveur NFS | ||
+ | * Présentation | ||
+ | * Les Services et Processus du Serveur NFSv3 | ||
+ | * Les Services RPC | ||
+ | * Options d'un Partage NFS | ||
+ | * Commandes | ||
+ | * Installation | ||
+ | * LAB #1 Mise en Place du Serveur NFS | ||
+ | * Configuration du Serveur | ||
+ | * Configuration du Client | ||
+ | * Surveillance du Serveur | ||
+ | * La Commande rpcinfo | ||
+ | * La Commande nfsstat | ||
+ | * Gestion du Serveur CIFS Samba | ||
+ | * Les Réseaux Microsoft | ||
+ | * Types de Réseaux Microsoft | ||
+ | * Types de Clients Windows | ||
+ | * Présentation de Samba | ||
+ | * Daemons Samba | ||
+ | * Commandes Samba | ||
+ | * Installation de Samba | ||
+ | * Configuration de base | ||
+ | * Démarrage manuel de Samba | ||
+ | * Configuration de Samba | ||
+ | * Gestion des comptes et des groupes | ||
+ | * Création du fichier smbpasswd | ||
+ | * Comprendre la structure du fichier de configuration smb.conf | ||
+ | * LAB #2 - Tester Samba en tant que Serveur de Fichiers | ||
- | Les chaînes de caractères doivent être entourées de **'** ou de **"**. | + | =====Gestion du Serveur NFS===== |
- | // | + | ====Présentation==== |
- | 'Linux est incroyable' | + | Quand on parle de NFS, on parle d'**exportation** d'un répertoire sur le serveur afin que celui-ci puisse être vu par des clients sur le réseau. Ces clients peuvent ensuite monter le répertoire et l' |
- | " | + | Le Network File System (NFS) est le protocole de partage de fichiers historique sur des systèmes Unix. Lors de l' |
- | "Je lui dit : "" | + | * le partage ainsi que ses caractéristiques sont configurés par rapport à l'adresse IP du client, or l'IP Spoofing est de plus en plus répandu, |
+ | * aucun mot de passe n'est demandé lors de la connexion d'un utilisateur à une ressource car le serveur NFS présume que l' | ||
- | ====Nombres==== | + | Cependant l' |
- | Il existe 3 types de nombres | + | Il existe |
- | ===Nombres Entiers=== | + | ^ Version ^ Protocole Utilisé ^ Dépendance ^ |
+ | | **NFSv2** | TCP et UDP | portmap | | ||
+ | | **NFSv3** | TCP et UDP | portmap | | ||
+ | | **NFSv4** | TCP | Aucune - les fonctions de portmap sont incluses dans NFSv4 | | ||
- | Une séquence de chiffres | + | La version utilisée par défaut sous CentOS/ |
- | //Exemple// | + | ===Les Services et Processus du Serveur NFSv3=== |
- | 999256 | + | La version NFSv3 utilise les services suivants : |
- | 0 | + | ^ Services ^ Fonction ^ |
+ | | **nfs** | Démarre le service NFS ainsi que les processus RPC pour recevoir et traiter les demandes des clients | | ||
+ | | **nfslock** | Démarre les processus RPC qui permettent aux clients de verrouiller les fichiers sur le serveur | ||
+ | | **portmap** | Gestion des réservations des ports pour les services RPC locaux afin que les services RPC distants puissent se connecter | | ||
- | ===Nombres Décimaux=== | + | ==Les Services RPC== |
- | Utilisent | + | Les services RPC ( //Remote Procedure Calls// ou appel de procédures distantes ) ont été inventé par SUN Microsystem pour faciliter |
- | //Exemple// | + | Lorsque le client veut faire une requête à un service RPC, il contacte en premier lieu le service **rpcbind** qui assigne un numéro de port au délà du numéro **32768** à un numéro de programme RPC. |
- | 120.54 | ||
- | 5566.8956e+12 | + | ===Options d'un Partage NFS=== |
- | ===Nombres Négatifs=== | + | Certaines options, appliquées à un partage, modifient le comportement du serveur NFS pour le partage concerné lors de son démarrage : |
- | Sont précédés par le signe **-**. | + | ^ Option ^ Comportement ^ |
+ | | **ro** | Accès en lecture seule | | ||
+ | | **rw** | Accès en lecture / écriture | | ||
+ | | **sync** | Ecriture synchrone ( écriture immédiate sur disque ) | | ||
+ | | **async** | Ecriture asynchrone ( écriture sur disque en utilisant une cache ) | | ||
+ | | **root_squash** | Root perd ses prérogatives sur le partage concerné | | ||
+ | | **no_root_squash** | Root garde ses prérogatives sur le partage concerné | | ||
+ | | **no_lock** | Pas de verrous sur les fichiers accédés | | ||
+ | | **all_squash** | Force la mapping de tous les utilisateurs vers l' | ||
+ | | **anonuid** | Fixe l'UID de l' | ||
+ | | **anongid** | Fixe le GID de l' | ||
- | //Exemple// | + | <WRAP center round important> |
+ | **Important** : Si plusieurs options sont spécifiées, | ||
+ | </WRAP> | ||
- | -458 | + | ===Commandes de Base=== |
- | -147.36 | + | Plusieurs commandes permettent de gérer et de s' |
- | ====Valeurs NULL==== | + | ^ Commande ^ Comportement ^ |
+ | | **exportfs** | Affiche les partages actifs sur le serveur courant | | ||
+ | | **nfsstat** | Affiche les statistiques de l' | ||
+ | | **rpcinfo** | Affiche les démons gérés en effectuant une requête RPC sur le serveur courant | | ||
+ | | **showmount** | Affiche les partages actifs sur un serveur distant | | ||
+ | | **mount** | Permet de monter un partage distant sur un répertoire local | | ||
- | Une chaîne **sans données**. | + | ====LAB #1 Mise en Place du Serveur NFS==== |
- | <note warning> | + | ===Configuration du Serveur=== |
- | N'est pas la même chose qu'une chaîne **vide** ou un **0** dans le cas d'un nombre. | + | |
- | </ | + | |
- | ====Noms | + | <WRAP center round important> |
+ | **Important** : Arrêtez votre VM. Dans la fenêtre | ||
+ | </ | ||
- | Les noms de bases, tables et colonnes | + | Configurez votre interface réseau si ce n'est pas déjà fait : |
- | * peuvent contenir jusqu'à 64 caractères | + | < |
- | * peuvent commencer par un chiffre | + | [root@centos7 ~]# nmcli connection add con-name ip_fixe ifname enp0s3 type ethernet ip4 10.0.2.16/ |
- | * ne peuvent pas contenir **que** de chiffres | + | Connection |
- | * ne peuvent pas contenir un **/**, une **\** ou un **point** | + | [root@centos7 ~]# nmcli connection mod ip_fixe ipv4.dns 8.8.8.8 |
+ | [root@centos7 ~]# nmcli connection up ip_fixe | ||
+ | Connection successfully activated (D-Bus active path: / | ||
+ | [root@centos7 ~]# systemctl restart NetworkManager.service | ||
+ | </code> | ||
- | Les alias : | + | Ajoutez une autre adresse IP pour le NFS : |
- | * peuvent contenir jusqu' | + | < |
- | * peuvent contenir un **/**, une **\** ou un **point** | + | [root@centos7 ~]# nmcli connection mod ip_fixe +ipv4.addresses 192.168.1.2/24 |
- | + | </ | |
- | ====Variables Utilisateurs==== | + | |
- | Les variables n'ont pas besoin d' | + | Continuez maintenant par la mise en place du service |
- | ====Commentaires==== | + | < |
+ | [root@centos7 ~]# systemctl status nfs.service | ||
+ | nfs-server.service - NFS server and services | ||
+ | | ||
+ | | ||
- | Les commentaires **d'une ligne** sont précédés par le caractère **#** ou **- -**. | + | [root@centos7 ~]# systemctl enable nfs-server.service |
+ | ln -s '/ | ||
+ | [root@centos7 ~]# systemctl status nfs.service | ||
+ | nfs-server.service | ||
+ | | ||
+ | | ||
+ | </ | ||
- | Les commentaires | + | La mise en place d'un partage ponctuel se fait en utilisant la commande **exportfs** en indiquant en argument le répertoire |
< | < | ||
- | /* | + | [root@centos7 ~]# exportfs |
- | Ceci est | + | [root@centos7 ~]# exportfs 192.168.1.2: |
- | un commentaire | + | [root@centos7 ~]# exportfs |
- | sur | + | /home/ |
- | plusieurs lignes | + | |
- | */ | + | |
</ | </ | ||
- | ====Commandes==== | + | Démarrez maintenant le service **nfs** : |
- | ===SELECT=== | + | < |
+ | [root@centos7 ~]# systemctl start nfs.service | ||
+ | [root@centos7 ~]# systemctl status nfs.service | ||
+ | nfs-server.service - NFS server and services | ||
+ | | ||
+ | | ||
+ | Process: 9552 ExecStart=/ | ||
+ | Process: 9551 ExecStartPre=/ | ||
+ | Main PID: 9552 (code=exited, | ||
+ | | ||
- | Obtenir un ensemble de données à partir d'une ou de plusieurs tables. | + | Oct 01 13:18:13 centos7.fenestros.loc systemd[1]: Starting NFS server and services... |
+ | Oct 01 13:18:13 centos7.fenestros.loc systemd[1]: Started NFS server and services. | ||
+ | </ | ||
- | **Syntaxe** | + | Afin de mettre en place un ou des partages |
< | < | ||
- | SELECT [table.][colonne]|expression [AS nom][, | + | / |
- | FROM nom-table [, nom_table | + | / |
- | [WHERE condition [AND|OR condition ...] | + | |
- | [GROUP BY [table.][colonne], | + | |
- | [ORDER BY [table.][colonne][Description], | + | |
</ | </ | ||
- | //Exemples// | + | <WRAP center round important> |
+ | **Important** : Dans ce cas, nous avons partagé le répertoire **/home/trainee** pour la seule adresse IP 192.168.1.1. | ||
+ | </WRAP> | ||
- | SELECT nom, prenom FROM familles ORDER BY nom | + | Redémarrez maintenant le service nfs afin que le fichier **/ |
- | | + | < |
+ | [root@centos7 ~]# systemctl restart nfs.service | ||
+ | [root@centos7 ~]# systemctl status nfs.service | ||
+ | nfs-server.service - NFS server and services | ||
+ | | ||
+ | | ||
+ | Process: 4642 ExecStopPost=/ | ||
+ | Process: 4639 ExecStopPost=/ | ||
+ | Process: 4638 ExecStop=/ | ||
+ | Process: 4650 ExecStart=/ | ||
+ | Process: 4649 ExecStartPre=/ | ||
+ | Main PID: 4650 (code=exited, | ||
+ | | ||
- | ===UPDATE=== | + | Oct 01 14:24:50 centos7.fenestros.loc systemd[1]: Starting NFS server and services... |
- | + | Oct 01 14:24:50 centos7.fenestros.loc exportfs[4649]: | |
- | Mettre à jour des données dans une table. | + | Oct 01 14:24:50 centos7.fenestros.loc exportfs[4649]: |
+ | Oct 01 14:24:50 centos7.fenestros.loc systemd[1]: Started NFS server and services. | ||
+ | </ | ||
- | **Syntaxe** | + | Puisque aucune option ne soit spécifiée pour les montages, ceux-ci ont été exportés avec des option par défaut. En utilisant l' |
< | < | ||
- | UPDATE | + | [root@centos7 ~]# exportfs -v |
- | SET colonne | + | / |
- | WHERE expression | + | /tmp < |
- | ORDER BY expression | + | |
- | LIMIT valeur | + | |
</ | </ | ||
- | ^ Directive ^ Description ^ | + | ===Configuration du Client=== |
- | | LOW_PRIORITY | L' | + | |
- | | IGNORE | La mise à jour continue malgré des problèmes éventuels rencontrés. Les enregistrements posant problème ne seront PAS mis à jour | | + | |
- | //Exemples// | + | <WRAP center round important> |
+ | **Important** : Arrêtez votre VM. Créez une clône de votre VM. Démarrez la VM clonée. | ||
+ | </WRAP> | ||
- | UPDATE familles SET Adresse2='*******', | + | Re-configurez ensuite l'interface réseau de votre VM Client : |
- | UPDATE familles SET nb_enfants=8 ORDER BY Nom LIMIT 3; | + | < |
+ | [root@centos7 ~]# nmcli connection del ip_fixe | ||
- | ===DELETE FROM=== | + | [root@centos7 ~]# nmcli connection show ip_fixe |
+ | Error: ip_fixe - no such connection profile. | ||
- | Supprimer des enregistrements d'une table. | + | [root@centos7 ~]# nmcli connection add con-name ip_fixe ifname enp0s3 type ethernet ip4 10.0.2.17/ |
+ | Connection | ||
- | **Syntaxe** | + | [root@centos7 ~]# nmcli connection mod ip_fixe ipv4.dns 8.8.8.8 |
- | < | + | [root@centos7 ~]# nmcli connection mod ip_fixe +ipv4.addresses 192.168.1.1/24 |
- | DELETE | + | |
- | | + | |
- | | + | |
- | | + | |
- | </code> | + | |
- | //Exemple// | + | [root@centos7 ~]# nmcli connection up ip_fixe |
+ | Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/ | ||
- | DELETE FROM familles WHERE Nom = Durant; | + | [root@centos7 ~]# systemctl restart NetworkManager.service |
+ | </ | ||
- | ===DROP TABLE=== | + | <WRAP center round important > |
+ | **Important** : Démarrez la VM d' | ||
+ | </ | ||
- | **Syntaxe** | + | Dans la VM d' |
< | < | ||
- | DROP DATABASE | + | [root@centos7 ~]# getenforce |
+ | Enforcing | ||
+ | [root@centos7 ~]# setenforce permissive | ||
+ | [root@centos7 ~]# systemctl status firewalld.service | ||
+ | firewalld.service - firewalld - dynamic firewall daemon | ||
+ | | ||
+ | | ||
+ | Main PID: 479 (firewalld) | ||
+ | | ||
+ | | ||
+ | |||
+ | Oct 01 14:54:57 centos7.fenestros.loc systemd[1]: Started firewalld - dynamic firewall daemon. | ||
+ | [root@centos7 ~]# systemctl stop firewalld.service | ||
</ | </ | ||
- | Supprimer une table d'une base de données. | + | A partir |
- | //Exemple// | + | < |
- | + | [root@centos7 ~]# showmount --exports 192.168.1.2 | |
- | DROP TABLE Test; | + | Export list for 192.168.1.2: |
- | + | /tmp * | |
- | ===INSERT=== | + | / |
+ | </ | ||
- | **Syntaxe** | + | Créez maintenant le répertoire |
< | < | ||
- | INSERT | + | [root@centos7 ~]# mkdir /nfs |
- | [INTO] nom_table [(nom_colonne ...)] | + | [root@centos7 ~]# mount -t nfs 192.168.1.2:/ |
- | VALUES ((expression | DEFAULT) ...) , (...) | + | |
</ | </ | ||
- | ou | + | Notez que quand vous essayer de rentrer dans le répertoire en tant que root, vous obtenez le message **-bash: cd: /nfs: Permission non accordée** : |
< | < | ||
- | INSERT | + | [root@centos7 ~]# cd /nfs |
- | [INTO] nom_table [(nom_colonne ...)] | + | -bash: cd: /nfs: Permission denied |
- | SELECT ... | + | |
</ | </ | ||
- | ^ Directive ^ Description ^ | + | <WRAP center round important> |
- | | LOW_PRIORITY | L'opération se fera quand la table n'est pas utilisée par un client | | + | **Important** : Puisque le répertoire **/ |
- | | DELAYED | Permet à un client d'utiliser la table sans attendre la fin de l'opération | | + | </ |
- | | IGNORE | La mise à jour continue malgré des problèmes éventuels rencontrés. Les enregistrements posant problème ne seront PAS mis à jour | | + | |
+ | Retournez donc dans le serveur et modifiez le fichier **/ | ||
- | **INSERT VALUES** | + | < |
+ | [root@centos7 ~]# cat / | ||
+ | / | ||
+ | /tmp * | ||
+ | </ | ||
- | Insérer des valeurs dans une table. | + | Redémarrez le service nfs : |
- | //Exemple// | + | < |
+ | [root@centos7 ~]# systemctl restart nfs.service | ||
+ | </code> | ||
- | INSERT INTO familles (Nom, Prenom) VALUES (' | + | Vous noterez que maintenant vous êtes capable de vous positionner dans le répertoire **/nfs** du client en tant que **root** |
- | **INSERT SELECT** | + | < |
+ | [root@centos7 ~]# cd /nfs | ||
+ | [root@centos7 nfs]# | ||
+ | </ | ||
- | Insérer des valeurs en provenance d'une autre table dans la table cible. | + | ====Surveillance du Serveur==== |
- | //Exemple// | + | ===La Commande rpcinfo=== |
- | INSERT INTO familles (Prenom) SELECT enfants.prenom FROM enfants; | + | La commande **rpcinfo** permet de faire une requête RPC sur le serveur et de voir les démons gérés : |
- | ===ALTER=== | + | < |
+ | [root@centos6 ~]# rpcinfo | ||
+ | | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100024 | ||
+ | 100024 | ||
+ | 100024 | ||
+ | 100024 | ||
+ | 100011 | ||
+ | 100011 | ||
+ | 100011 | ||
+ | 100011 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100227 | ||
+ | 100227 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100227 | ||
+ | 100227 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100227 | ||
+ | 100227 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100227 | ||
+ | 100227 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | </ | ||
- | Ajouter, supprimer ou modifier une colonne, index ou nom de table. | + | < |
+ | [root@centos7 ~]# rpcinfo | ||
+ | | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100000 | ||
+ | 100024 | ||
+ | 100024 | ||
+ | 100024 | ||
+ | 100024 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100005 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100227 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100227 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100227 | ||
+ | 100003 | ||
+ | 100003 | ||
+ | 100227 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | 100021 | ||
+ | </ | ||
+ | ===La Commande nfsstat=== | ||
- | **ALTER ADD** | + | La Commande |
- | ^ Commande ^ Description ^ | + | < |
- | | ADD [COLUMN] | Ajouter un champ | | + | [root@centos6 ~]# nfsstat |
- | | ADD INDEX | Ajouter un index | | + | Server rpc stats: |
- | | ADD PRIMARY KEY | Ajouter une clef primaire | | + | calls badcalls |
- | | ADD UNIQUE | Ajouter un index unique | + | 50 |
- | | ADD FULLTEXT | Ajouter une recherche texte entier | | + | |
- | + | ||
- | // | + | |
- | ALTER TABLE familles ADD Sports VARCHAR(50) NOT NULL; | + | Server nfs v4: |
+ | null | ||
+ | 2 4% 48 | ||
- | | + | Server nfs v4 operations: |
+ | op0-unused | ||
+ | 0 0% 0 0% 0 0% 5 4% 0 0% 0 0% | ||
+ | create | ||
+ | 0 0% 0 0% 0 0% 45 41% 5 4% 0 0% | ||
+ | lock | ||
+ | 0 0% 0 0% 0 0% 3 2% 0 0% 0 0% | ||
+ | open | ||
+ | 0 0% 0 0% 0 0% 0 0% 46 42% 0 0% | ||
+ | putrootfh | ||
+ | 2 1% 0 0% 3 2% 0 0% 0 0% 0 0% | ||
+ | renew restorefh | ||
+ | 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% | ||
+ | setcltidconf verify | ||
+ | 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% | ||
+ | exchange_id | ||
+ | 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% | ||
+ | getdevlist | ||
+ | 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% | ||
+ | set_ssv | ||
+ | 0 0% 0 0% 0 0% 0 0% 0 0% | ||
+ | </ | ||
+ | < | ||
+ | [root@centos7 ~]# nfsstat | ||
+ | Server rpc stats: | ||
+ | calls badcalls | ||
+ | 34 | ||
- | **ALTER CHANGE** | + | Server nfs v4: |
+ | null | ||
+ | 1 2% 33 | ||
- | Permet de modifier le nom ou le type d'une colonne. | + | Server nfs v4 operations: |
+ | op0-unused | ||
+ | 0 0% 0 0% 0 0% 5 7% 0 0% 0 0% | ||
+ | create | ||
+ | 0 0% 0 0% 0 0% 22 31% 4 5% 0 0% | ||
+ | lock | ||
+ | 0 0% 0 0% 0 0% 5 7% 0 0% 0 0% | ||
+ | open | ||
+ | 0 0% 0 0% 0 0% 0 0% 23 33% 0 0% | ||
+ | putrootfh | ||
+ | 1 1% 0 0% 0 0% 0 0% 0 0% 0 0% | ||
+ | renew restorefh | ||
+ | 5 7% 0 0% 0 0% 0 0% 0 0% 2 2% | ||
+ | setcltidconf verify | ||
+ | 2 2% 0 0% 0 0% 0 0% 0 0% 0 0% | ||
+ | exchange_id | ||
+ | 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% | ||
+ | getdevlist | ||
+ | 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% | ||
+ | set_ssv | ||
+ | 0 0% 0 0% 0 0% 0 0% 0 0% | ||
+ | </ | ||
- | //Exemple// | + | =====Gestion du Serveur SMB/CIFS Samba===== |
- | ALTER TABLE familles CHANGE PrenomPere Prenom_Pere VARCHAR(45) NOT NULL; | + | ====Les Réseaux Microsoft==== |
- | **ALTER DROP** | + | Le fonctionnement d'un réseau Windows(tm) se repose sur le protocole |
- | ^ Commande ^ Description ^ | + | ===Types de Réseaux Microsoft=== |
- | | DROP [COLUMN] | Supprimer un champ | | + | |
- | | DROP INDEX | Supprimer un index | | + | |
- | | DROP PRIMARY KEY | Supprimer une clef primaire | | + | |
- | //Exemple// | + | Les réseaux Microsoft(tm) se divisent en trois types distincts : |
- | | + | |
+ | * Windows (tm) 3.11, 9x, ME, NT Workstation, | ||
+ | * Les systèmes se trouvent sur le même réseau physique, | ||
+ | * La gestion des partages n'est pas centralisée, | ||
+ | * La sécurité est fournie par des mots de passe qui protègent les ressources individuelles, | ||
+ | * **Un domaine**, | ||
+ | * Windows(tm) NT Server 3.5, 3.51 ou 4, | ||
+ | * Nécessite la mise en place d'un **PDC** (//Primary Domain Controller// | ||
+ | * La gestion des utilisateurs est accomplie via le service **SAM** (//Security Account Manager// | ||
+ | * La sécurité s' | ||
+ | * Peut contenir un ou plusieurs **BDC** (//Backup Domain Controller// | ||
+ | * **Active Directory**, | ||
+ | * Windows(tm) 2000 Server, Server 2003, Server 2008, | ||
+ | * La gestion de l' | ||
+ | * Le service des noms est assurée par le **DNS** (//Domain Name Service//), | ||
- | **ALTER KEYS** | + | ===Types de Clients Windows=== |
- | Permet de désactiver la clef primaire momentanément. | + | Le fonctionnement du client Windows(tm) 2000 et les versions ultérieures implique que le protocole SMB s' |
- | //Exemples// | + | Le fonctionnement du client Windows(tm) antérieur à Windows(tm) 2000 nécessite le protocole **NBT** (//Network Basic Import/Export System over TCP/IP//) qui utilise les ports suivants : |
- | | + | |
+ | * //Name Service// - La résolution des noms et le parcours du réseau (// | ||
+ | * **138**, | ||
+ | * //Datagram Service//, | ||
+ | * **139**, | ||
+ | * //Session Service// - Le partage de fichiers et d' | ||
- | ALTER TABLE familles ENABLE KEYS; | + | Un nom %%NetBIOS%% est codé sur 16 octets dont les 15 premiers sont définis par l' |
+ | ^ Valeur Hexadécimale | ||
+ | | 00 | Standard Workstation | ||
+ | | 03 | Messenger Service | ||
+ | | 06 | RAS Server Service | ||
+ | | 21 | RAS Client Service | ||
+ | | 1B | Domain Master Browser Service | ||
+ | | 1D | Master Browser Name | | ||
+ | | 20 | Fileserver et/ou Printserver | ||
+ | | BE | Network Monitor Agent | | ||
+ | | BF | Network Monitor Utility | ||
- | **ALTER RENAME** | + | Les noms %%NetBIOS%% peuvent aussi être utilisés pour des noms de groupes : |
- | Permet | + | ^ Valeur Hexadécimale |
+ | | 00 | Standard Workstation Group | | ||
+ | | 1C | Logon Server | | ||
+ | | 1D | Master Browser Name | | ||
+ | | 1E | Normal Group Name | | ||
- | //Exemple// | + | <WRAP center round important> |
+ | **Important** : Le nom NetBIOS ne doit pas contenir les charactères suivants : **"** **/** **\** **[** **]** **:** **;** **|** **=** **,** **^** ***** **?** **>** **<** | ||
+ | </WRAP> | ||
- | ALTER TABLE enfants RENAME familles_enfants; | + | La commande Windows(tm) **NBTSTAT** peut être utilisée pour visualiser la liste des types de ressources et les noms %%NetBIOS%% : |
+ | < | ||
+ | C: | ||
- | **ALTER ORDER BY** | + | Connexion au réseau local: |
+ | Adresse IP du noeud : [192.168.1.29] ID d' | ||
- | Permet de reclasser physiquement une table. | + | Table nom local NetBIOS |
- | //Exemple// | + | |
+ | --------------------------------------------- | ||
+ | WINDOWS-FFC9AFA< | ||
+ | WORKGROUP | ||
+ | WINDOWS-FFC9AFA< | ||
+ | WORKGROUP | ||
- | ALTER TABLE familles ORDER BY Prenom_Pere; | + | </ |
+ | ====Présentation de Samba==== | ||
- | ===MATCH=== | + | Le serveur Samba est en réalité un ensemble de programmes qui permettent le **partage de fichiers et d' |
- | Permet la recherche d'un mot, d'une phrase ou d'une expression sur un **texte entier** | + | Le serveur Samba3 était capable offrir : |
- | //Exemple// | + | * des services classiques d'un serveur de fichiers et d' |
+ | * l' | ||
+ | * la gestion des droits d' | ||
+ | * la résolution des noms, | ||
+ | * le parcours du voisinage réseau (//Local Master Browser//, //Local Backup Browser//, //Domain Master Browser// | ||
+ | * les services d'un serveur **WINS** primaire, | ||
+ | * les services d'un serveur **PDC** (//Primary Domain Controller// | ||
+ | * les services d'un serveur Microsoft(tm) **DFS** (// | ||
- | SELECT * FROM familles WHERE MATCH (Commentaire) AGAINST ('fleuve'); | + | Le serveur Samba n'est **pas** capable d'offrir : |
- | ====Opérateurs==== | + | * les services d'un serveur **WINS** secondaire, |
+ | * les services d'un contrôleur de domaine Active Directory, | ||
+ | * les services d'un **BDC** - contrôleur secondaire de domaine (//Backup Domain Controller// | ||
- | ===Mathémathiques=== | + | Samba4 apporte les nouveautés suivantes : |
- | ^ Nom ^ Description ^ | + | * Support de l' |
- | | + | Addition | | + | * Support complet de NTFS, |
- | | - | Soustraction | + | |
- | | * | Multiplication | | + | * Serveur Kerberos, |
- | | / | Division | + | |
- | | () | Le calcul entre parenthèses est effectué en priorité | | + | * Support du nouveau protocole RPC et de Python. |
- | ===Logiques=== | + | ===Daemons Samba=== |
- | ^ Nom ^ Description ^ | + | Samba se repose sur trois **Daemons** (//Disk And Extension |
- | | ! | NON | | + | |
- | | %%||%% | OU | | + | |
- | | && | ET | | + | |
- | | XOR | XOR exclusif | + | |
+ | * **smbd** qui : | ||
+ | * fournit les services de gestion des ressources partagées et les fonctionnalités d' | ||
+ | * génère un processus fils pour chaque connexion active, | ||
+ | * **nmbd** qui : | ||
+ | * participe à la fonctionnalité du parcours du voisinage réseau et fournit un serveur compatible Microsoft(tm) WINS, | ||
+ | * génère une deuxième instance de lui-même dans le cas où Samba joue le rôle d'un serveur WINS, | ||
+ | * **winbindd** qui : | ||
+ | * permet d' | ||
+ | * facilite l' | ||
- | ===Comparaison=== | + | ===Commandes Samba=== |
- | ^ Nom ^ Description ^ | + | Samba propose un nombre important de commandes et utilitaires : |
- | | = | Egal | | + | |
- | | != ou <>| Non égal | | + | |
- | | < | Inférieur | | + | |
- | | < = | Inférieur ou égal | | + | |
- | | > | Supérieur | | + | |
- | | > =| Supérieur ou égal | | + | |
- | | < = > | Egal gérant la nullité | | + | |
- | | IS NULL | Nullité | + | |
- | | IS NOT NULL | Non nullité | + | |
- | ====Fonctions==== | + | ^ Commande |
+ | | findsmb | ||
+ | | net | Commande similaire à la commande Windows(tm) du même nom | | ||
+ | | nmblookup | ||
+ | | pdbedit | ||
+ | | rpcclient | ||
+ | | smbcacls | ||
+ | | smbclient | ||
+ | | smbcontrol | ||
+ | | smbmount | ||
+ | | smbpasswd | ||
+ | | smbspool | ||
+ | | smbstatus | ||
+ | | smbtar | ||
+ | | smbumount | ||
+ | | swat | Utilitaire de configuration | ||
+ | | testparm | ||
+ | | testprns | ||
+ | | wbinfo | ||
- | ===Mathémathiques=== | + | ====Installation de Samba==== |
- | ^ Nom ^ Description ^ | + | <WRAP center round important> |
- | | ABS(nbr) | Valeur absolue de nbr| | + | **Important** : Configurez votre machine virtuelle CentOS 7 en mode réseau ponté avant de la démarrer. |
- | | SIGN(nbr)| -1 0 ou 1 en fonctionne du signe de nbr | | + | </ |
- | | MOD(nbr1, nbr2) | Indique le reste de la division de nbr1 par nbr2 | | + | |
- | | FLOOR(nbr) | Indique le plus grande nombre entier inférieur à nbr | | + | |
- | | CEILING(nbr) | Indique la plus petite valeur entière supérieure à nbr | | + | |
- | | ROUND(nbr)| Indique l' | + | |
- | | ROUND(nbr, | + | |
- | | EXP(nbr) | Indique l' | + | |
- | | POW(nbr, | + | |
- | | SQRT(nbr) | Indique la racine carrée de nbr | | + | |
- | | PI()| Indique la valeur de PI | | + | |
- | | COS(nbr) | Indique le cosinus de nbr | | + | |
- | | ACOS(nbr) | Indique l'arc cosinus de nbr | | + | |
- | | SIN(nbr) | Indique le sinus de nbr | | + | |
- | | ASIN(nbr) | Indique l'arc sinus de nbr | | + | |
- | | TAN(nbr)| Indique le tangent de nbr | | + | |
- | | ATAN(nbr) | Indique l'arc tangent de nbr | | + | |
- | | COT(nbr) | Indique la cotangente de nbr | | + | |
- | | RAND() | Indique une valeur en virgule flottante entre 0 et 1.0 | | + | |
- | | RAND(nbr) | Indique une valeur en virgule flottante entre 0 et 1.0. La valeur de nbr indique la limite haute | | + | |
- | | LEAST(nbr1, nbr2 ...)| Indique le plus petit des nombres nbr1 à nbrX | | + | |
- | | GREATEST(nbr1, | + | |
- | | DEGREES(nbr) | Convertit nbr de gradiants vers degrés | | + | |
- | | RADIANS(nbr) | Convertit nbr de degrés vers gradiants | | + | |
- | | TRUNCATE(nbr, | + | |
- | ===Chaînes=== | + | Désactivez SELINUX afin de ne pas avoir des erreurs de ce dernier : |
- | ^ Nom ^ Description ^ | + | < |
- | | LIKE | Effectue une comparaison en fonction d'un motif | | + | [root@centos7 /]# setenforce permissive |
- | | NOT LIKE | L' | + | [root@centos7 /]# getenforce |
- | | _ | Remplace un caractère dans le motif d'une chaîne | + | Permissive |
- | | % | Remplace un ou plusieurs caractère(s) dans le motif d'une chaîne | + | </code> |
- | | \ | Caractère d' | + | |
- | | BINARY| Rend la comparaison avec un motif sensible à la casse | | + | |
- | | STRCMP(chaîne1, | + | |
- | | MATCH | Utilisé pour des recherches de texte intégral | + | |
- | | UPPER(' | + | |
- | | LOWER(' | + | |
- | ===Dates=== | + | Editez ensuite le fichier **/ |
- | ^ Nom ^ Description ^ | + | < |
- | | NOW() | Retourne la date au format ' | + | [root@centos7 /]# vi /etc/sysconfig/selinux |
- | | DATE_FORMAT(date, | + | [root@centos7 /]# cat / |
- | | DAYOFWEEK(date) | Retourne un chiffre qui représente le jour de la semaine ( 1 pour dimanche, 7 pour samedi ) | | + | |
- | | WEEKDAY(date) | Retourne un chiffre qui représente le jour de la semaine ( 7 pour dimanche, 0 pour lundi ) | | + | |
- | | DAYOFMONTH(date) | Retourne un chiffre de 1 à 31 | | + | |
- | | DAYOFYEAR(date)| Retourne un chiffre de 1 à 366 | | + | |
- | | MONTH(date) | Retourne un chiffre de 1 à 12 | | + | |
- | | DAYNAME(date) | Retourne le nom du jour ( lundi, mardi ... ) | | + | |
- | | MONTHNAME(date) | Retourne le nom du mois | | + | |
- | | QUARTER(date) | Retourne un chiffre de 1 à 4 ( 1 = premier trimestre de l' | + | |
- | | WEEK(date | + | |
- | | YEAR(date) | Retourne un chiffre de 1000 à 9999 | | + | |
- | | HOUR(date) | Retourne l' | + | |
- | | MINUTE(date) | Retourne les minutes | + | |
- | | SECOND(date) | Retourne les secondes | + | |
- | | TO_DAYS(date)| Retourne le nombre de jours écoulés depuis le début de l'an 0 | | + | |
- | | FROM_DAYS(date) | Retourne la date à partir d'un nombre de jours écoulés depuis le début de l'an 0 | | + | |
- | | CURDATE() | Retourne la date courante au format AAAA-MM-JJ | + | |
- | | CURRENT_DATE() | Retourne la date courante au format AAAA-MM-JJ | + | |
- | | CURTIME()| Retourne la date courante au format HH: | + | |
- | | CURRENT_TIME() | Retourne la date courante au format HH: | + | |
- | | UNIX_TIMESTAMP([date]) | Retourne le nombre de secondes depuis la date 1970-01-01 00: | + | |
- | | FROM_UNIXTIME(unix_timestamp[, | + | |
- | ==Motifs== | + | # This file controls the state of SELinux on the system. |
+ | # SELINUX= can take one of these three values: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | SELINUX=permissive | ||
+ | # SELINUXTYPE= can take one of three two values: | ||
+ | # | ||
+ | # | ||
+ | # mls - Multi Level Security protection. | ||
+ | SELINUXTYPE=targeted | ||
- | ^ Nom ^ Description ^ Exemple ^ | + | </code> |
- | | %M | Le mois | janvier | + | |
- | | %W | Le jour de la semaine | + | |
- | | %D | La date du mois | 1st | | + | |
- | | %Y | L' | + | |
- | | %y | L' | + | |
- | | %a | L' | + | |
- | | %d | Le jour du mois | 01 | | + | |
- | | %m | Le numéro du mois | 01 | | + | |
- | | %b | L' | + | |
- | | %j | Le jour de l' | + | |
- | | %H | L' | + | |
- | | %h | L' | + | |
- | | %i | Les minutes | + | |
- | | %r | L' | + | |
- | | %T | L' | + | |
- | | %S | Les secondes | + | |
- | | %p | AM ou PM | PM | | + | |
- | | %w | Le numéro du jour de la semaine | + | |
- | | %U | Le numéro de la semaine avec le début de la semaine étant un dimanche | + | |
- | | %u | Le numéro de la semaine avec le début de la semaine étant un lundi | 02 | | + | |
- | Par exemple | + | Afin d' |
< | < | ||
- | mysql> select DATE_FORMAT(now(), '%W %d %M %Y' | + | [root@centos7 /]# systemctl status firewalld.service |
- | +-----------------------------------+ | + | ● firewalld.service - firewalld - dynamic firewall daemon |
- | | DATE_FORMAT(now(), '%W %d %M %Y') | | + | |
- | +-----------------------------------+ | + | |
- | | Friday 19 October 2012 | | + | Docs: man: |
- | +-----------------------------------+ | + | Main PID: 616 (firewalld) |
- | 1 row in set (0.00 sec) | + | CGroup: / |
+ | └─616 / | ||
- | mysql> | + | Jul 28 11:10:52 centos7.fenestros.loc systemd[1]: Starting firewalld - dynamic firewall daemon... |
+ | Jul 28 11:10:59 centos7.fenestros.loc systemd[1]: Started firewalld - dynamic firewall daemon. | ||
+ | [root@centos7 /]# systemctl stop firewalld.service | ||
+ | [root@centos7 /]# systemctl disable firewalld.service | ||
+ | Removed symlink / | ||
+ | Removed symlink / | ||
+ | [root@centos7 /]# systemctl status firewalld.service | ||
+ | ● firewalld.service - firewalld - dynamic firewall daemon | ||
+ | | ||
+ | | ||
+ | Docs: man: | ||
+ | |||
+ | Jul 28 11:10:52 centos7.fenestros.loc systemd[1]: Starting firewalld - dynamic firewall daemon... | ||
+ | Jul 28 11:10:59 centos7.fenestros.loc systemd[1]: Started firewalld - dynamic firewall daemon. | ||
+ | Jul 28 11:54:00 centos7.fenestros.loc systemd[1]: Stopping firewalld - dynamic firewall daemon... | ||
+ | Jul 28 11:54:00 centos7.fenestros.loc systemd[1]: Stopped firewalld - dynamic firewall daemon. | ||
</ | </ | ||
- | ===Contrôle=== | + | Modifiez ensuite le fichier **/ |
- | ^ Nom ^ Description ^ | + | < |
- | | IF(exp1, exp2, exp3) | Si exp1 est vrai, exp2 est retournée sinon exp3 est retournée | + | [root@centos7 ~]# cat /etc/hosts |
- | | IFNULL(exp1, | + | 127.0.0.1 localhost.localdomain localhost |
- | | NULLIF(exp1, | + | :: |
- | | CASE value WHEN comp1 THEN res1 [WHEN comp2 THEN res2][ELSE elseres] END | La fonction compare | + | 192.168.1.103 centos7.fenestros.loc |
+ | </ | ||
- | ===Agrégation=== | + | <WRAP center round todo> |
+ | **Important** : Modifiez l' | ||
+ | </ | ||
- | ^ Nom ^ Description ^ | + | Maintenant installez le paquet samba-swat : |
- | | AVG(colonne) | Moyenne de la colonne | + | |
- | | COUNT(items)| Le nombre de valeurs non nulles de la colonne | + | |
- | | MIN(colonne) | Valeur minimum de la colonne | + | |
- | | MAX(colonne) | Valeur maximum de la colonne | + | |
- | | STD(colonne) | Écart type des valeurs de la colonne | + | |
- | | SUM(colonne) | Somme des valeurs de la colonne | + | |
- | | BIT_OR(colonne) | Ou logique effectué sur les valeurs de la colonne | | + | |
- | | BIT_AND(colonne) | ET logique effectué sur les valeurs de la colonne | + | |
- | ===Autres=== | + | < |
+ | [root@centos7 ~]# yum install samba-swat | ||
+ | Loaded plugins: fastestmirror, | ||
+ | adobe-linux-x86_64 | ||
+ | base | 3.6 kB 00: | ||
+ | extras | ||
+ | updates | ||
+ | (1/3): adobe-linux-x86_64/ | ||
+ | (2/3): extras/ | ||
+ | (3/3): updates/ | ||
+ | Determining fastest mirrors | ||
+ | * base: centos.mirrors.ovh.net | ||
+ | * extras: mirrors.standaloneinstaller.com | ||
+ | * updates: mirrors.standaloneinstaller.com | ||
+ | Resolving Dependencies | ||
+ | --> Running transaction check | ||
+ | ---> Package samba.x86_64 0: | ||
+ | --> Processing Dependency: samba-libs | ||
+ | --> Processing Dependency: samba-common-tools | ||
+ | --> Processing Dependency: samba-common-libs | ||
+ | --> Processing Dependency: samba-common | ||
+ | --> Processing Dependency: samba-client-libs | ||
+ | --> Processing Dependency: libwbclient | ||
+ | --> Running transaction check | ||
+ | ---> Package libwbclient.x86_64 0: | ||
+ | ---> Package libwbclient.x86_64 0: | ||
+ | ---> Package samba-client-libs.x86_64 0: | ||
+ | --> Processing Dependency: samba-client-libs = 4.4.4-12.el7_3 for package: samba-client-4.4.4-12.el7_3.x86_64 | ||
+ | --> Processing Dependency: samba-client-libs = 4.4.4-12.el7_3 for package: libsmbclient-4.4.4-12.el7_3.x86_64 | ||
+ | ---> Package samba-client-libs.x86_64 0: | ||
+ | ---> Package samba-common.noarch 0: | ||
+ | ---> Package samba-common.noarch 0: | ||
+ | ---> Package samba-common-libs.x86_64 0: | ||
+ | ---> Package samba-common-libs.x86_64 0: | ||
+ | ---> Package samba-common-tools.x86_64 0: | ||
+ | ---> Package samba-common-tools.x86_64 0: | ||
+ | ---> Package samba-libs.x86_64 0: | ||
+ | ---> Package samba-libs.x86_64 0: | ||
+ | --> Running transaction check | ||
+ | ---> Package libsmbclient.x86_64 0: | ||
+ | ---> Package libsmbclient.x86_64 0: | ||
+ | ---> Package samba-client.x86_64 0: | ||
+ | ---> Package samba-client.x86_64 0: | ||
+ | --> Finished Dependency Resolution | ||
- | ^ Nom ^ Description ^ | + | Dependencies Resolved |
- | | CAST(expression) CONVERT(expression) | Convertit l' | + | |
- | | LAST_INSERT_ID()| Retourne la valeur d'une colonne // | + | |
- | | VERSION() | La version du serveur %%MySQL%% | + | |
- | | CONNECTION_ID() | L' | + | |
- | | DATABASE() | La base de données courante | + | |
- | | USER() | L' | + | |
- | | PASSWORD(chaîne) | Encrypte un mot de passe | | + | |
- | | ENCRYPT(chaîne, | + | |
- | | ENCODE(chaîne, | + | |
- | | DECODE(chaîne, | + | |
- | | MD5(chaîne) | Retourne une chaîne encodée à la norme MD5 | | + | |
- | | SHA1() | Retourne une chaîne encodée à la norme SHA1 | | + | |
+ | ======================================================================================================================================= | ||
+ | | ||
+ | ======================================================================================================================================= | ||
+ | Installing: | ||
+ | | ||
+ | Updating for dependencies: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
- | =====Types de Champs===== | + | Transaction Summary |
+ | ======================================================================================================================================= | ||
+ | Install | ||
+ | Upgrade | ||
- | ====Nombres entiers==== | + | Total download size: 7.0 M |
+ | Is this ok [y/d/N]: y | ||
+ | </ | ||
- | ^ Type ^ Intervalle ^ Taille en octets ^ Description ^ | + | Les paquets ainsi installés sont : |
- | | TINYINT[(M)] | + | |
- | | TINYINT[(M)] UNSIGNED | + | |
- | | SMALLINT[(M)] | + | |
- | | SMALLINT[(M)] UNSIGNED | + | |
- | | MEDIUMINT[(M)] | + | |
- | | MEDIUMINT[(M)] UNSIGNED | + | |
- | | INT[(M)] | + | |
- | | INT[(M)] UNSIGNED | + | |
- | | INTEGER[(M)] | + | |
- | | BIGINT[(M)] | + | |
- | | BIGINT[(M)] UNSIGNED | + | |
+ | < | ||
+ | [root@centos7 ~]# rpm -qa | grep samba | ||
+ | samba-libs-4.4.4-14.el7_3.x86_64 | ||
+ | samba-client-4.4.4-14.el7_3.x86_64 | ||
+ | samba-client-libs-4.4.4-14.el7_3.x86_64 | ||
+ | samba-common-tools-4.4.4-14.el7_3.x86_64 | ||
+ | samba-common-4.4.4-14.el7_3.noarch | ||
+ | samba-4.4.4-14.el7_3.x86_64 | ||
+ | samba-common-libs-4.4.4-14.el7_3.x86_64 | ||
+ | </ | ||
- | ====Nombres à virgule flottante==== | + | Les deamons **smb** et **nmb** ne sont pas démarrés : |
- | ^ Type ^ Intervalle ^ Taille en octets ^ Description ^ | + | <code> |
- | | FLOAT(precision) | + | [root@centos7 ~]# systemctl status smb |
- | | FLOAT[(M,D)] | + ou - 1.175494351E-38 à + ou - 3.402823466E+38 | 4 | Simple précision | + | ● smb.service |
- | | DOUBLE[(M,D)] | + ou - 1.7976931348623157E+308 à + ou - 2.2250738585072014E-308 | 8 | Double précision | + | Loaded: loaded |
- | | DOUBLEPRECISION[(M,D)] | - | - | Synonyme de DOUBLE[(M,D)] | | + | Active: inactive |
- | | REAL[(M, | + | [root@centos7 ~]# systemctl status nmb |
- | | DECIMAL[(M[,D])] | Varie | M +2 | Nombre à virgule flottante | + | ● nmb.service |
- | | NUMERIC | + | |
+ | Active: inactive | ||
+ | </ | ||
- | ====Dates et Heures==== | + | Notez que le démarrage automatique de Samba n'est pas configuré. Configurez donc le démarrage automatique de Samba : |
- | ^ Type ^ Intervalle ^ | + | < |
- | | DATE | 1000-01-01 à 9999-12-31 | | + | [root@centos7 ~]# systemctl enable smb |
- | | TIME | -838:59:59 à 838:59:59 | | + | Created symlink from / |
- | | DATETIME | + | [root@centos7 ~]# systemctl enable nmb |
- | | TIMESTAMP[(M)] | Voir tableau ci-dessous | | + | Created symlink from / |
- | | YEAR[(2)] | + | </ |
- | | YEAR[(4)] | + | |
- | ===Types de données TIMESTAMP=== | + | ===Configuration |
- | ^ Type ^ Affichage ^ | + | La configuration de Samba est obtenue en éditant le fichier **/ |
- | | TIMESTAMP | + | |
- | | TIMESTAMP(14) | + | |
- | | TIMESTAMP(12) | + | |
- | | TIMESTAMP(10) | + | |
- | | TIMESTAMP(8) | + | |
- | | TIMESTAMP(6) | + | |
- | | TIMESTAMP(4) | + | |
- | | TIMESTAMP(2) | + | |
- | ====Chaînes==== | + | < |
+ | [root@centos7 ~]# testparm | ||
+ | Load smb config files from / | ||
+ | rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) | ||
+ | Processing section " | ||
+ | Processing section " | ||
+ | Processing section " | ||
+ | Loaded services file OK. | ||
+ | Server role: ROLE_STANDALONE | ||
- | ^ Type ^ Longeur ^ Description ^ | + | Press enter to see a dump of your service definitions |
- | | CHAR(M) | + | |
- | | VARCHAR(M) | 1 à 255 | Chaîne de longueur variable où M varie entre 1 et 255 | | + | |
- | ====TEXT et BLOB==== | + | # Global parameters |
+ | [global] | ||
+ | workgroup | ||
+ | printcap name = cups | ||
+ | security | ||
+ | idmap config * : backend | ||
+ | cups options | ||
- | * **TEXT**, | ||
- | * TEXT respecte la casse des données, | ||
- | * **BLOB** (Binary Large OBject), | ||
- | * BLOB permet de stocker toute information binaire telle une image ou un son. | ||
- | ^ Type ^ Longueur Maximale en caractères ^ Description ^ | + | [homes] |
- | | TINYBLOB | + | comment = Home Directories |
- | | TINYTEXT | + | browseable = No |
- | | BLOB | 65 535 | Objet binaire de taille normale | + | inherit acls = Yes |
- | | TEXT | 65 535 | Texte de taille normale | + | read only = No |
- | | MEDIUM BLOB | 16 777 215 | Objet binaire de taille moyenne | | + | valid users = %S %D%w%S |
- | | MEDIUM TEXT | 16 777 215 | Texte de taille moyenne | | + | |
- | | LONG BLOB | 4 294 967 295 | Objet binaire de grande taille | | + | |
- | | LONG TEXT | 4 294 967 295 | Texte de grande taille | | + | |
- | ====ENUM et SET==== | ||
- | * **ENUM**, | + | [printers] |
- | * permet de prendre une valeur ou NULL parmi une liste de valeurs prédéfinies à la création de la colonne, | + | comment = All Printers |
- | * **SET** | + | path = /var/tmp |
- | * permet de prendre un maximum de 64 valeurs ou NULL parmi une liste de valeurs prédéfinies à la création de la colonne, | + | browseable = No |
+ | printable = Yes | ||
+ | create mask = 0600 | ||
- | ^ Type ^ Maximum des valeurs dans l' | ||
- | | ENUM(' | ||
- | | SET(' | ||
- | =====Types de Moteurs de Stockage===== | + | [print$] |
+ | comment | ||
+ | path = / | ||
+ | create mask = 0664 | ||
+ | directory mask = 0775 | ||
+ | write list = root | ||
+ | </ | ||
- | Le type de moteur est spécifié lors de la création de la table. Le moteur d'une table existant peut être modifié avec la commande **ALTER TABLE**. Les différents types **principaux** sont résumés ci-après : | + | ===Démarrage manuel |
- | ^ Type de Moteur | + | Démarrez maintenant |
- | | %%InnoDB%% | Le format par défaut. Supportent | + | |
- | | %%MyISAM%% | Données stockées dans un fichier .MYD. Index stockés dans un fichier .MYI. Structure da la table stockée dans un fichier .frm | | + | |
- | | MEMORY | Anciennement connues sous le nom HEAP. Les données sont stockées en mémoire tandis que la structure de la table est stockée sur disque dans un fichier .frm. Ne supportent pas les champs TEXT, BLOB. Ne supportent pas l' | + | |
- | | ARCHIVE | Ne supportent que des requêtes de lecture et d' | + | |
- | | CSV | Données sont stockées dans un fichier texte au format CSV. Utilisé pour échanger des données avec d' | + | |
- | | FEDERATED | Ne stocke pas de données. Extrait des données de tables en provenance de bases sur des serveurs distants. | | + | |
- | Bien que possible techniquement, | + | < |
+ | [root@centos7 ~]# systemctl start smb | ||
+ | [root@centos7 ~]# systemctl start nmb | ||
+ | [root@centos7 ~]# systemctl status smb | ||
+ | ● smb.service - Samba SMB Daemon | ||
+ | | ||
+ | | ||
+ | Main PID: 6793 (smbd) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
- | Le choix d'un moteur de stockage se fait en fonction de l'adéquation entre les besoins et les caractéristiques suivants | + | Jul 29 11:53:31 centos7.fenestros.loc systemd[1]: Starting Samba SMB Daemon... |
+ | Jul 29 11:53:31 centos7.fenestros.loc smbd[6793]: [2017/07/29 11: | ||
+ | Jul 29 11:53:31 centos7.fenestros.loc systemd[1]: Started Samba SMB Daemon. | ||
+ | Jul 29 11:53:31 centos7.fenestros.loc smbd[6793]: | ||
+ | [root@centos7 ~]# systemctl status nmb | ||
+ | ● nmb.service - Samba NMB Daemon | ||
+ | | ||
+ | | ||
+ | Main PID: 6825 (nmbd) | ||
+ | | ||
+ | | ||
+ | | ||
- | ^ Moteur ^ Verrous ^ Transactionnel de type **[[http://fr.wikipedia.org/ | + | Jul 29 11:53:36 centos7.fenestros.loc systemd[1]: Starting Samba NMB Daemon... |
- | | InnoDB | Enregistrement | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | | + | Jul 29 11:53:36 centos7.fenestros.loc nmbd[6825]: [2017/07/29 11:53:36.108613, |
- | | MyISAM | Table | Non | Non | Non | Oui | Non | Non | Non | Non | | + | Jul 29 11:53:36 centos7.fenestros.loc systemd[1]: Started Samba NMB Daemon. |
- | | Memory | Table | Non | Non | Non | Non | Non | Non | Non | Non | | + | Jul 29 11:53:36 centos7.fenestros.loc nmbd[6825]: |
- | | Archive | Enregistrement | Non | Non | Non | Oui | Non | Non | Non | Non | | + | |
- | | CSV | Table | Non | Non | Non | Oui | Non | Non | Non | Non | | + | |
- | | Federated | Table | Non | Non | Non | Oui | Non | Non | Non | Non | | + | |
- | | NDB Cluster | Enregistrement | Oui | Non | Oui | Oui | Oui | Oui | Oui | Oui | | + | |
- | =====Caractéristiques des Moteurs===== | + | [root@centos7 ~]# ps aux | grep mb |
+ | root 6793 0.0 0.3 410660 | ||
+ | root 6794 0.0 0.1 404480 | ||
+ | root 6795 0.0 0.1 404472 | ||
+ | root 6796 0.0 0.1 410668 | ||
+ | root 6825 0.0 0.1 337320 | ||
+ | root 7296 0.0 0.0 112648 | ||
+ | </ | ||
- | ====InnoDB==== | + | Testez ensuite le bon fonctionnement de Samba grâce à la commande **smbclient** : |
- | Le moteur InnoDB est le moteur par défaut de MySQL depuis la version 5.5. Les principaux caractéristiques du moteur %%InnoDB%% sont : | + | < |
+ | [root@centos7 ~]# smbclient -U% -L localhost | ||
+ | Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4] | ||
- | * Il est transactionnel de type **[[http:// | + | Sharename |
- | * Il implémente le **[[http://fr.wikipedia.org/ | + | --------- |
- | * Il implémente un verrou au niveau enregistrement, | + | print$ |
- | * Il implémente un mécanisme de restauration automatique en utilisant des journaux de transactions **ib_logfile*** ou ***** est **0**, **1**, **2** etc, | + | IPC$ IPC IPC Service (Samba 4.4.4) |
- | * La structure de la table est stockée dans un fichier | + | Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4] |
- | * Il supporte l' | + | |
- | * Il peut être sauvegardé à chaud, | + | |
- | * Il est recommandé pour des applications avec beaucoup d' | + | |
- | ===Mécanisme Interne=== | + | Server |
+ | --------- | ||
+ | CENTOS7 | ||
- | {{ free: | + | Workgroup |
+ | --------- | ||
+ | SAMBA | ||
+ | </ | ||
- | Les transactions en cours sont stockées en mémoire dans le **buffer des journaux | + | Les options |
- | Une partie des données ainsi que les index sont stockés en mémoire dans le **buffer pool**. | + | < |
+ | [root@centos7 ~]# smbclient --help | ||
+ | Usage: smbclient service < | ||
+ | -R, --name-resolve=NAME-RESOLVE-ORDER | ||
+ | -M, --message=HOST | ||
+ | -I, --ip-address=IP | ||
+ | -E, --stderr | ||
+ | -L, --list=HOST | ||
+ | -m, --max-protocol=LEVEL | ||
+ | -T, --tar=< | ||
+ | -D, --directory=DIR | ||
+ | -c, --command=STRING | ||
+ | -b, --send-buffer=BYTES | ||
+ | -t, --timeout=SECONDS | ||
+ | -p, --port=PORT | ||
+ | -g, --grepable | ||
+ | -B, --browse | ||
- | ===Transactions=== | + | Help options: |
+ | -?, --help | ||
+ | --usage | ||
- | Le moteur Innodb est transactionnel. Ceci implique que le moteur collectionne des requêtes jusqu' | + | Common samba options: |
+ | -d, --debuglevel=DEBUGLEVEL | ||
+ | -s, --configfile=CONFIGFILE | ||
+ | -l, --log-basename=LOGFILEBASE | ||
+ | -V, --version | ||
+ | --option=name=value | ||
- | Il est possible de modifier ce comportement automatique en utilisant la commande **BEGIN**. Par exemple | + | Connection options: |
+ | -O, --socket-options=SOCKETOPTIONS | ||
+ | -n, --netbiosname=NETBIOSNAME | ||
+ | -W, --workgroup=WORKGROUP | ||
+ | -i, --scope=SCOPE | ||
- | < | + | Authentication options: |
- | mysql> BEGIN; | + | -U, --user=USERNAME |
- | mysql> INSERT INTO table (colonne) VALUES (value); | + | -N, --no-pass |
- | mysql> COMMIT; | + | -k, --kerberos |
- | </file> | + | -A, --authentication-file=FILE |
+ | -S, --signing=on|off|required | ||
+ | -P, --machine-pass | ||
+ | -e, --encrypt | ||
+ | -C, --use-ccache | ||
+ | --pw-nt-hash | ||
+ | </code> | ||
- | Si la dernière commande est remplacée par la commande ROLLBACK la modification apportée par la requête INSERT INTO sera effacée | + | Celles qui nous intéressent ici sont : |
- | < | + | * **-U%** |
- | mysql> BEGIN; | + | * sert à éviter une authentification avec mot de passe, |
- | mysql> INSERT INTO table (colonne) VALUES (value); | + | * **-L** |
- | mysql> ROLLBACK; | + | * liste les ressources disponibles sur **localhost**. |
- | </ | + | |
- | ===Tablespace=== | + | === Configuration de Samba === |
- | Depuis la version 5.6.6 de MySQL, il existe l' | + | ==Gestion des comptes |
- | Cette modification permet | + | Vous allez maintenant créer |
- | Malgré l' | + | [root@centos7 ~]# groupadd staff |
- | <note warning> | + | Pour insérer |
- | Malgré l' | + | |
- | </ | + | |
- | <note important> | + | <code> |
- | La quantité de mémoire libre dans un fichier *.ibd ou dans la Tablespace est indiquée par la sortie de la commande **SHOW TABLE STATUS**. Cette valeur est en pages et chaque page vaut 16 Ko. Bien que vous puissiez libérer de l' | + | [root@centos7 ~]# vi / |
- | </note> | + | [root@centos7 ~]# cat / |
+ | root:x:0: | ||
+ | ... | ||
+ | trainee: | ||
+ | vboxsf: | ||
+ | staff: | ||
+ | </code> | ||
- | ===Multiversion Concurrency Control=== | + | Faites la même procédure pour le fichier **/ |
- | Chaque table Innodb contient deux colonnes cachées | + | < |
+ | [root@centos7 ~]# vi / | ||
+ | [root@centos7 ~]# cat / | ||
+ | root::: | ||
+ | ... | ||
+ | trainee: | ||
+ | vboxsf: | ||
+ | staff: | ||
+ | </ | ||
- | * le numéro de transaction - **txn#**, | + | == Création du fichier smbpasswd == |
- | * un pointeur vers la version précédente de la ligne qui se trouve dans le Undo log. Ce pointeur s' | + | |
- | Quand une ligne est modifiée, l' | + | Afin de pouvoir permettre des connexions au serveur Samba, il faut créer |
- | ===Transaction Isolation Levels=== | + | En effet, le serveur Samba n' |
- | Créez | + | Modifiez |
< | < | ||
- | mysql> CREATE DATABASE `Nombres` ; | + | [root@centos7 ~]# vi / |
- | Query OK, 1 row affected (0.01 sec) | + | [root@centos7 ~]# cat / |
+ | # See smb.conf.example for a more detailed config file or | ||
+ | # read the smb.conf manpage. | ||
+ | # Run ' | ||
+ | # you modified it. | ||
- | mysql> USE Nombres; | + | [global] |
- | Database changed | + | workgroup = SAMBA |
+ | security = user | ||
- | mysql> CREATE TABLE english (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Number VARCHAR(10)); | + | #passdb backend = tdbsam |
- | Query OK, 0 rows affected (0.08 sec) | + | passdb backend = smbpasswd |
- | mysql> INSERT INTO english (Number) VALUES (' | + | printing = cups |
- | Query OK, 1 row affected (0.01 sec) | + | printcap name = cups |
+ | load printers = yes | ||
+ | cups options = raw | ||
- | mysql> INSERT INTO english (Number) VALUES (' | + | [homes] |
- | Query OK, 1 row affected (0.01 sec) | + | comment = Home Directories |
+ | valid users = %S, %D%w%S | ||
+ | browseable = No | ||
+ | read only = No | ||
+ | inherit acls = Yes | ||
- | mysql> INSERT INTO english (Number) VALUES (' | + | [printers] |
- | Query OK, 1 row affected (0.01 sec) | + | comment = All Printers |
+ | path = /var/tmp | ||
+ | printable = Yes | ||
+ | create mask = 0600 | ||
+ | browseable = No | ||
- | mysql> SELECT * FROM english; | + | [print$] |
- | +----+--------+ | + | comment = Printer Drivers |
- | | id | Number | | + | path = / |
- | +----+--------+ | + | write list = root |
- | | 1 | One | | + | create mask = 0664 |
- | | 2 | Two | | + | directory mask = 0775 |
- | | 3 | Three | | + | |
- | +----+--------+ | + | |
- | 3 rows in set (0.00 sec) | + | |
- | + | ||
- | mysql> | + | |
</ | </ | ||
- | ==Read Uncomitted== | + | Le système de stockage des mots de passe peut être un des suivants : |
- | Mettez à jour l' | + | * smbpasswd - utilise un fichier. Par défaut: **/ |
+ | * tdbsam - utilise une base de données | ||
+ | * ldapsam - utilise un URL vers un LDAP, Par défaut : **ldap:// | ||
- | < | + | **La Commande smbpasswd** |
- | mysql> BEGIN; | + | |
- | Query OK, 0 rows affected (0.00 sec) | + | |
- | mysql> UPDATE english SET Number = " | + | Créez maintenant les mots de passe samba pour chaque utilisateur dans le fichier / |
- | Query OK, 1 row affected (0.04 sec) | + | |
- | Rows matched: 1 Changed: 1 Warnings: 0 | + | |
- | mysql> SELECT * FROM english; | + | <code> |
- | +----+--------+ | + | [root@centos7 ~]# smbpasswd |
- | | id | Number | | + | New SMB password: |
- | +----+--------+ | + | Retype new SMB password: |
- | | 1 | Un | | + | startsmbfilepwent_internal: |
- | | 2 | Two | | + | Added user root. |
- | | 3 | Three | | + | [root@centos7 ~]# smbpasswd |
- | +----+--------+ | + | New SMB password: |
- | 3 rows in set (0.00 sec) | + | Retype new SMB password: |
- | + | Added user trainee. | |
- | mysql> | + | |
</ | </ | ||
- | Ouvrez | + | Consultez le fichier **/ |
< | < | ||
- | [root@node01 | + | [root@centos7 |
- | Welcome to the MySQL monitor. | + | root: |
- | Your MySQL connection id is 3 | + | trainee: |
- | Server version: 5.5.33-cll-lve MySQL Community Server (GPL) by Atomicorp | + | |
- | + | ||
- | Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. | + | |
- | + | ||
- | Oracle is a registered trademark of Oracle Corporation and/or its | + | |
- | affiliates. Other names may be trademarks of their respective | + | |
- | owners. | + | |
- | + | ||
- | Type ' | + | |
- | + | ||
- | mysql> USE Nombres; | + | |
- | Reading table information for completion of table and column names | + | |
- | You can turn off this feature to get a quicker startup with -A | + | |
- | + | ||
- | Database changed | + | |
- | + | ||
- | mysql> SELECT * FROM english; | + | |
- | +----+--------+ | + | |
- | | id | Number | | + | |
- | +----+--------+ | + | |
- | | 1 | One | | + | |
- | | 2 | Two | | + | |
- | | 3 | Three | | + | |
- | +----+--------+ | + | |
- | 3 rows in set (0.01 sec) | + | |
- | + | ||
- | mysql> | + | |
</ | </ | ||
- | <note important> | + | Créez ensuite un lien symbolique |
- | Notez que le deuxième client voit l' | + | |
- | </ | + | |
- | + | ||
- | Pour voir la valeur dans la Tablespace, il faut modifier la valeur de l' | + | |
< | < | ||
- | mysql> SET TRANSACTION ISOLATION LEVEL read uncommitted; | + | [root@centos7 ~]# ln -s / |
- | Query OK, 0 rows affected (0.00 sec) | + | |
- | + | ||
- | mysql> SELECT * FROM english; | + | |
- | +----+--------+ | + | |
- | | id | Number | | + | |
- | +----+--------+ | + | |
- | | 1 | Un | | + | |
- | | 2 | Two | | + | |
- | | 3 | Three | | + | |
- | +----+--------+ | + | |
- | 3 rows in set (0.01 sec) | + | |
- | + | ||
- | mysql> | + | |
</ | </ | ||
- | <note warning> | + | **La Commande pdbedit** |
- | Dans ce mode, le client voit une donnée fictive car il n'y a pas encore eu de COMMIT ! | + | |
- | </ | + | |
- | ==Read Comitted== | + | La commande pdbedit est utilisée pour la gestion |
- | + | ||
- | Dans ce mode de fonctionnement InnoDB suit les Pointeurs ROLLBACK jusqu' | + | |
< | < | ||
- | mysql> SET TRANSACTION ISOLATION LEVEL read committed; | + | [root@centos7 ~]# pdbedit |
- | Query OK, 0 rows affected (0.00 sec) | + | root:0:root |
- | + | trainee: | |
- | mysql> SELECT * FROM english; | + | |
- | +----+--------+ | + | |
- | | id | Number | | + | |
- | +----+--------+ | + | |
- | | 1 | One | | + | |
- | | 2 | Two | | + | |
- | | 3 | Three | | + | |
- | +----+--------+ | + | |
- | 3 rows in set (0.01 sec) | + | |
- | + | ||
- | mysql> | + | |
</ | </ | ||
- | Retournez au premier terminal | + | Pour créer un compte SAMBA, l' |
< | < | ||
- | mysql> COMMIT; | + | [root@centos7 ~]# useradd sambauser |
- | Query OK, 0 rows affected (0.01 sec) | + | |
- | + | ||
- | mysql> | + | |
</ | </ | ||
- | Retournez au deuxième terminal | + | Il est ensuite possible d' |
< | < | ||
- | < | + | [root@centos7 ~]# useradd sambauser |
- | +----+--------+ | + | [root@centos7 ~]# pdbedit |
- | | id | Number | | + | new password: |
- | +----+--------+ | + | retype new password: |
- | | 1 | Un | | + | Unix username: |
- | | 2 | Two | | + | NT username: |
- | | 3 | Three | | + | Account Flags: |
- | +----+--------+ | + | User SID: S-1-5-21-3392617607-4065925175-2212523533-3002 |
- | 3 rows in set (0.00 sec) | + | Primary Group SID: S-1-5-21-3392617607-4065925175-2212523533-513 |
- | + | Full Name: | |
- | mysql> | + | Home Directory: |
+ | HomeDir Drive: | ||
+ | Logon Script: | ||
+ | Profile Path: | ||
+ | Domain: | ||
+ | Account desc: | ||
+ | Workstations: | ||
+ | Munged dial: | ||
+ | Logon time: 0 | ||
+ | Logoff time: never | ||
+ | Kickoff time: | ||
+ | Password last set: Tue, 15 Aug 2017 16:21:39 CEST | ||
+ | Password can change: | ||
+ | Password must change: never | ||
+ | Last bad password | ||
+ | Bad password count : 0 | ||
+ | Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF | ||
</ | </ | ||
- | ====MyISAM==== | + | Cette commande a donc ajouté l'utilisateur |
- | + | ||
- | L'architecture du moteur %%MyISAM%% est plus simple que le moteur %%InnoDB%%. Les principaux caractéristiques du moteur %%MyISAM%% sont : | + | |
- | + | ||
- | * Il n'est pas transactionnel, | + | |
- | * Il implémente un verrou | + | |
- | * Il n'y a pas de recouvrement automatique des données lors d'un crash, | + | |
- | * La structure de la table est stockée dans un fichier | + | |
- | * Les données sont stockées dans un fichier .MYD tandis que les index sont stockés dans un fichier .MYI, | + | |
- | * Il ne supporte pas de clefs étrangères, | + | |
- | * Il ne peut pas être sauvegardé à chaud, | + | |
- | * Il peut être compressé, | + | |
- | * Il supporte les index plain text (fulltext), | + | |
- | * Il est recommandé pour des applications avec beaucoup de lectures. | + | |
- | + | ||
- | Il existe trois types de moteurs %%MyISAM%% : FIXED , DYNAMIC et COMPRESSED : | + | |
- | + | ||
- | === MyISAM FIXED=== | + | |
- | + | ||
- | Une table est FIXED si elle ne contient aucun champ de type VARCHAR, VARBINARY, TEXT ou BLOB ou si la valeur de l' | + | |
< | < | ||
- | mysql> SHOW TABLE STATUS LIKE ' | + | [root@centos7 ~]# cat / |
- | *************************** 1. row *************************** | + | root:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:E183384163AA4BFFAF24CC678CF19EAB:[U ]:LCT-5993021B: |
- | Name: db | + | trainee:1000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:2A217A32BDE94A23B26A8EEA26C70874:[U ]:LCT-5993022B: |
- | | + | sambauser:1001:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:C27F8C725297C4466C963B7F88906297:[U ]:LCT-59930373: |
- | Version: 10 | + | |
- | | + | |
- | Rows: 2 | + | |
- | | + | |
- | | + | |
- | Max_data_length: 123848989752688639 | + | |
- | | + | |
- | Data_free: 0 | + | |
- | | + | |
- | Create_time: 2014-01-22 15:28:03 | + | |
- | | + | |
- | | + | |
- | Collation: utf8_bin | + | |
- | | + | |
- | | + | |
- | Comment: Database privileges | + | |
- | 1 row in set (0.01 sec) | + | |
- | + | ||
- | ERROR: | + | |
- | No query specified | + | |
- | + | ||
- | mysql> | + | |
</ | </ | ||
- | === MyISAM DYNAMIC === | + | Pour visualiser les informations d'un utilisateur SAMBA existant, il convient d'utiliser les options |
- | + | ||
- | Une table est DYNAMIC si elle contient au moins un champ de type VARCHAR, VARBINARY, TEXT ou BLOB ou la valeur de l' | + | |
< | < | ||
- | mysql> SHOW TABLE STATUS LIKE ' | + | [root@centos7 ~]# pdbedit -Lv sambauser |
- | *************************** | + | Unix username: |
- | | + | NT username: |
- | Engine: MyISAM | + | Account Flags: |
- | | + | User SID: S-1-5-21-3392617607-4065925175-2212523533-3002 |
- | Row_format: Dynamic | + | Primary Group SID: S-1-5-21-3392617607-4065925175-2212523533-513 |
- | Rows: 0 | + | Full Name: |
- | Avg_row_length: 0 | + | Home Directory: \\centos7\sambauser |
- | | + | HomeDir Drive: |
- | Max_data_length: 281474976710655 | + | Logon Script: |
- | Index_length: 2048 | + | Profile Path: \\centos7\sambauser\profile |
- | | + | Domain: CENTOS7 |
- | Auto_increment: NULL | + | Account desc: |
- | | + | Workstations: |
- | | + | Munged dial: |
- | Check_time: NULL | + | Logon time: |
- | Collation: utf8_general_ci | + | Logoff time: never |
- | | + | Kickoff time: never |
- | Create_options: | + | Password last set: |
- | | + | Password can change: Tue, 15 Aug 2017 16:21:39 CEST |
- | 1 row in set (0.01 sec) | + | Password must change: never |
- | + | Last bad password | |
- | ERROR: | + | Bad password count : 0 |
- | No query specified | + | Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF |
- | + | ||
- | mysql> | + | |
</ | </ | ||
- | ===MyISAM COMPRESSED=== | + | La commande peut aussi être utiliser pour supprimer un utilisateur SAMBA : |
- | + | ||
- | Après avoir arrêté le serveur, la compression est obtenue en utilisant la commande | + | |
< | < | ||
- | [root@centos | + | [root@centos7 |
- | Compressing / | + | [root@centos7 |
- | - Calculating statistics | + | root: |
- | - Compressing file | + | trainee: |
- | 95.21% | + | [root@centos7 |
- | Remember to run myisamchk -rq on compressed tables | + | sambauser: |
- | + | ||
- | [root@centos | + | |
- | - check record delete-chain | + | |
- | - recovering (with sort) MyISAM-table '/ | + | |
- | Data records: 467 | + | |
- | - Fixing index 1 | + | |
- | - Fixing index 2 | + | |
- | + | ||
- | [root@centos | + | |
- | - recovering (with sort) MyISAM-table '/var/lib/mysql/mysql/ | + | |
- | Data records: 467 | + | |
- | - Fixing index 1 | + | |
- | - Fixing index 2 | + | |
</ | </ | ||
- | ===Particularités=== | ||
- | * Le moteur MyISAM est particulièrement portable car il suffit | + | == Comprendre la structure du fichier |
- | * Le nombre d' | + | |
- | * Les index non-uniques peuvent être désactivés momentanément, | + | |
- | * Il est possible d' | + | |
+ | Ayant maintenant créé un fichier smbpasswd, il est le moment de terminer la configuration de votre serveur Samba. | ||
- | ====Memory==== | + | Cette configuration est dictée par un seul et unique fichier – **/ |
- | Les principaux caractéristiques du moteur Memory sont : | + | Avant de faire des manipulations, |
- | * Il n'est pas transactionnel, | + | < |
- | * Il implémente un verrou au niveau table, | + | [root@centos7 ~]# cp / |
- | * Il n'y a pas de recouvrement automatique des données lors d'un crash, | + | </ |
- | * La structure de la table est stockée dans un fichier | + | |
- | * Les données sont stockées dans la mémoire, | + | |
- | * Il ne supporte pas de clefs étrangères, | + | |
- | * Il ne peut pas être sauvegardé à chaud, | + | |
- | * Il est recommandé pour des applications ayant besoin de la vitesse. | + | |
- | ===Particularités=== | + | Examinez le fichier smb.conf suivant ainsi que le tableau récapitulatif des paramètres : |
- | * La consommation de la mémoire est fixée | + | < |
- | * Le moteur peut implémenter soit l'algorithme **HASH** pour les index pour augmenter | + | # Example d'un fichier smb.conf pour des partages |
- | * Au démarrage du serveur les tables sont évidement vides. Il est possible | + | # Toute ligne commencant par un # ou un ; est un commentaire |
+ | # n'est pas prise en compte lors de la lecture de ce fichier par | ||
+ | # samba. N'oubliez pas de lancer | ||
+ | # lors de chaque changement et enregistrement de ce fichier. | ||
+ | # | ||
- | ===En Pratique=== | + | [global] |
- | Créez une table au format MEMORY en utilisant les données de la tables famille issue de la base carnetadresses : | + | # 1. Options du nom du serveur: |
+ | # Modifiez | ||
+ | workgroup = WORKGROUP | ||
+ | # Modifiez la ligne qui suit pour votre nom de machine. Par défaut sa valeur est la valeur de hostname | ||
+ | netbios name = Machine01 | ||
+ | server string = Samba Server %v | ||
- | mysql> CREATE TABLE tempfamilles TYPE=MEMORY SELECT * FROM familles ; | + | # 2. Options d' |
+ | printcap name = cups | ||
+ | load printers = yes | ||
+ | printing = cups | ||
- | Visualisez les enregistrements | + | # 3. Options |
+ | log file = / | ||
+ | max log size = 50 | ||
+ | log level = 5 | ||
- | mysql> SELECT | + | # 4. Options de sécurité : |
+ | # Modifiez la ligne qui suit pour votre adresse reseau | ||
+ | hosts allow = 192.168.1. | ||
+ | hosts deny = all | ||
+ | security = user | ||
+ | passdb backend = smbpasswd | ||
+ | encrypt passwords = yes | ||
+ | smb passwd file = / | ||
+ | unix password sync = Yes | ||
+ | passwd program = / | ||
+ | passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n | ||
+ | *passwd: | ||
- | Supprimez la table tempfamilles | + | # 5. Options du reseau: |
+ | # Modifiez la ligne qui suit pour l' | ||
+ | interfaces = 192.168.1.22/ | ||
+ | # Modifiez la ligne qui suit à l' | ||
+ | remote announce = 192.168.1.255 | ||
- | mysql > DROP TABLE tempfamilles; | + | # 6.Options de resolutions de nom Netbios: |
+ | name resolve order = wins lmhosts bcast host | ||
+ | dns proxy = yes | ||
- | ====Archive==== | + | # 7. Options de nommage de fichiers: |
+ | dos charset | ||
+ | unix charset | ||
- | Les principaux caractéristiques du moteur Archive sont : | + | # |
- | * Il n'est pas transactionnel, | + | [homes] |
- | * Il implémente un verrou au niveau enregistrement, | + | comment = Repertoires Personnels |
- | * Il n'y a pas de recouvrement automatique des données lors d'un crash, | + | browseable = no |
- | * Les données sont stockées en les compressant, | + | writable = yes |
- | * Il ne supporte pas de clefs étrangères, | + | |
- | * Il ne peut pas être sauvegardé à chaud, | + | |
- | * Il ne supporte pas d' | + | |
- | * Il est recommandé pour réduire l' | + | |
- | ===Particularités=== | + | [public] |
+ | comment | ||
+ | path = / | ||
+ | write list = @staff | ||
+ | read list = @staff | ||
+ | writable | ||
+ | guest ok = no | ||
+ | create mode = 0755 | ||
+ | #Fin | ||
+ | </ | ||
- | | + | Ce fichier est un exemple d'un smb.conf avec **security = user**. De cette façon chaque utilisateur |
+ | Toute ligne commençant par **#** ou **;** est un commentaire et n'est pas prise en compte lors de la lecture du fichier par Samba. Le fichier est divisé en deux parties – la section **globale **et la section **partages**. | ||
- | ====CSV==== | + | L' |
- | Les principaux caractéristiques du moteur CSV sont : | + | Afin de comprendre les paramètres dans le fichier précédent, |
- | | + | ^ **Paramètre |
- | | + | | Workgroup = | s/o | Le nom du groupe |
- | | + | | Netbios name = | La valeur |
- | | + | | Server string = | s/o |La description du serveur | |
- | | + | | path = | s/o | Désigne le chemin du répertoire à partager | |
- | * Il ne supporte pas de clefs étrangères, | + | | comment = | s/o | Désigne le nom du partage visible |
- | * Il ne peut pas être sauvegardé | + | | guest ok = yes | no | Si yes, le partage est en accès libre sans restrictions de mot de passe. | |
- | * Il ne supporte pas d'Index, | + | | guest account = | nobody | Le nom du compte d' |
- | * Il est recommandé pour des tables ayant besoin d'être manipulées par des logiciels tiers. | + | | valid users = | tout utilisateur | Désigne une liste d' |
+ | | printable = true | false | Partager un service d' | ||
+ | | writeable = yes | no | Désigne si oui ou non le droit d' | ||
+ | | write list = | tout utilisateur | Désigne la liste des utilisateurs qui peuvent écrire dans un répertoire. | | ||
+ | | read list = | tout utilisateur | Désigne la liste des utilisateurs qui peuvent lire dans un répertoire. | | ||
+ | | browseable = | yes | Désigne si oui ou non le partage sera visible par tous, y compris les utilisateurs non authentifiés. | | ||
+ | | create mode = | 0744 | Désigne les droits maximum accordés à un fichier | ||
+ | | create mask = | 0744 | Idem create mode =. | | ||
+ | | directory mode = | 0755 | Désigne | ||
+ | | directory mask = | 0755 | Idem directory mode =. | | ||
+ | | force create mode | s/o | Désigne les droits accordés à un fichier créés dans le répertoire concerné. | | ||
+ | | force directory mode| s/o | Désigne les droits accordés à un répertoire créé | ||
+ | | force group = | s/o | Impose | ||
+ | | hide dot files = | yes | Cache les fichiers cachés | ||
+ | | hosts allow = | toute station | Liste d' | ||
+ | | hosts deny = | aucune | Liste d'adresses IP n' | ||
+ | | max connections = | 0 | Désigne un nombre de connections illimités à la ressource concernée. Sinon spécifiez un nombre maximum de connexions. | | ||
+ | | Log file = / | ||
+ | | max log size = | s/o | La taille | ||
+ | | interfaces = | s/o | Désigne l' | ||
+ | | remote announce = | s/o | L' | ||
- | ====FEDERATED==== | + | Notez que lors de chaque changement et enregistrement de ce fichier, il faut que smb relise le fichier. |
- | Les principaux caractéristiques du moteur FEDERATED sont : | + | Le fichier smb.conf utilise également des variables |
- | | + | ^ **Variable ** ^ **Description ** ^ |
- | * Il n'y a pas de recouvrement automatique des données lors d'un crash, | + | | %a | L'architecture du client (Samba, Windows 2000, Windows NT, Unknown | |
- | * Il ne supporte pas de clefs étrangères, | + | | %l | L'adresse IP du client | |
- | * Il ne peut pas être sauvegardé à chaud, | + | | %M | Le nom DNS du client | |
- | * Il ne supporte pas d' | + | | %m | Le nom NetBIOS du client | |
- | * Il supporte des requêtes SELECT, INSERT, UPDATE, DELETE, TRUNCATE et DROP TABLE, | + | | %u | L' |
- | * Il n' | + | | %U | L' |
- | * Il est utilisé pour accéder à des données localisées sur un serveur **MySQL** distant. | + | | %H | Le répertoire |
+ | | %g | Le groupe principal de l' | ||
+ | | %S | Le nom du partage | | ||
+ | | %P | Le répertoire racine du partage | | ||
+ | | %d | Le PID du process courant | | ||
+ | | %h | Le nom DNS du serveur SAMBA | | ||
+ | | %L | Le nom NetBIOS du serveur SAMBA | | ||
+ | | %N | Idem %L | | ||
+ | | %v | La version | ||
+ | | %T | La date et l' | ||
+ | | %var | La valeur de la variable var | | ||
- | ====NDB Cluster==== | + | Créez donc le fichier smb.conf ci-dessous et placez-le dans le répertoire **/ |
- | Le moteur NDB Cluster est le moteur de MySQL Cluster. Les principaux caractéristiques du moteur NDB Cluster sont : | + | <file text smb.conf> |
+ | [global] | ||
+ | workgroup = WORKGROUP | ||
+ | netbios name = Machine01 | ||
+ | server string = Samba Server %v | ||
+ | printcap name = cups | ||
+ | load printers = yes | ||
+ | printing = cups | ||
+ | log file = / | ||
+ | max log size = 50 | ||
+ | log level = 5 | ||
+ | hosts allow = 192.168.1. | ||
+ | hosts deny = all | ||
+ | security = user | ||
+ | passdb backend = smbpasswd | ||
+ | encrypt passwords = yes | ||
+ | smb passwd file = / | ||
+ | unix password sync = Yes | ||
+ | passwd program = / | ||
+ | passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully* | ||
+ | interfaces = 192.168.1.103/ | ||
+ | remote announce = 192.168.1.255 | ||
+ | name resolve order = wins lmhosts bcast host | ||
+ | dns proxy = yes | ||
+ | dos charset = 850 | ||
+ | unix charset = ISO8859-1 | ||
- | * Il est transactionnel de type **[[http:// | + | [homes] |
- | * Il implémente le **[[http:// | + | comment = Repertoires Personnels |
- | * Il implémente un verrou au niveau enregistrement, | + | browseable = no |
- | * Il implémente la réplication synchrone, | + | writable = yes |
- | * Il implémente le basculement automatique sur un autre nœud en cas de panne et la synchronisation automatique du nœud à son démarrage, | + | |
- | * Il peut être sauvegardé à chaud, | + | |
- | * Il permet le dimensionnement des requêtes de lecture et d' | + | |
- | * Il utilise l' | + | |
- | * Il implémente l’absence du **[[http:// | + | |
+ | [public] | ||
+ | comment = Repertoire Public | ||
+ | path = / | ||
+ | write list = @staff | ||
+ | read list = @staff | ||
+ | writable = yes | ||
+ | guest ok = no | ||
+ | create mode = 0755 | ||
+ | </ | ||
- | ====Autres Moteurs Non Standards==== | + | Rechargez |
- | + | ||
- | ===XtraDB=== | + | |
- | + | ||
- | **[[http:// | + | |
- | + | ||
- | * Il est transactionnel de type **[[http:// | + | |
- | * Il implémente le **[[http:// | + | |
- | * Il implémente un verrou au niveau enregistrement, | + | |
- | * Il implémente un mécanisme de restauration automatique, | + | |
- | * Il supporte l' | + | |
- | * Il peut être sauvegarder à chaud, | + | |
- | * Le moteur peut implémenter soit l' | + | |
- | + | ||
- | ===Aria=== | + | |
- | + | ||
- | **[[https:// | + | |
- | + | ||
- | * En version 2.0, il est transactionnel de type **[[http:// | + | |
- | * Il implémente un verrou au niveau enregistrement, | + | |
- | * Il implémente un mécanisme de restauration automatique. | + | |
- | + | ||
- | + | ||
- | =====Jointures===== | + | |
- | + | ||
- | Les jointures permettent de créer un lien entre deux tables. Le champ utilisé pour la jointure dans la première table est souvent la **clef primaire**. Le champs utilisé dans la deuxième table est appelé le **clef étrangère**. La clef primaire et la clef étrangère doivent être du même **type**. | + | |
- | + | ||
- | Dans le cas où on utilise un champs autre que la clef primaire pour assurer la jointure, cet autre champs doit être **indexé**. | + | |
- | + | ||
- | ====FULL JOIN==== | + | |
- | + | ||
- | Ce type de jointure permet de renvoyer uniquement les enregistrements des **deux** tables 1 et 2 ayant une correspondance : | + | |
- | + | ||
- | mysql> SELECT table1.champ1, | + | |
- | + | ||
- | ou | + | |
- | + | ||
- | mysql> SELECT table1.champ1, | + | |
- | + | ||
- | ====LEFT JOIN==== | + | |
- | + | ||
- | Ce type de jointure permet de renvoyer les enregistrements de la première table qui ont une correspondance dans la deuxième table. La syntaxe est la suivante : | + | |
- | + | ||
- | mysql> SELECT table1.champ1, | + | |
- | + | ||
- | Le résultat de cette requête est l' | + | |
- | + | ||
- | mysql> SELECT table1.champ1, | + | |
- | + | ||
- | ====RIGHT JOIN==== | + | |
- | + | ||
- | Ce type de jointure est l' | + | |
- | + | ||
- | =====LAB #1 - Le Langage SQL===== | + | |
- | + | ||
- | Créez maintenant la base de données **%%CarnetAdresses%%** | + | |
< | < | ||
- | mysql> CREATE DATABASE `CarnetAdresses` ; | + | [root@centos7 ~]# systemctl reload smb |
- | Query OK, 1 row affected (0.00 sec) | + | |
- | + | ||
- | mysql> | + | |
</ | </ | ||
- | Créez | + | Créez |
< | < | ||
- | mysql> USE CarnetAdresses ; | + | [root@centos7 ~]# mkdir -p / |
- | Database changed | + | |
- | mysql> | + | |
</ | </ | ||
- | < | + | Ensuite, afin que chaque utilisateur puisse écrire dans le répertoire public mais supprimer uniquement ses propres fichiers et répertoires, il faut modifier les permissions pour le répertoire **/home/ |
- | mysql> CREATE TABLE familles (CodeFamille BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, Nom VARCHAR(40), | + | |
- | -> PrenomPere VARCHAR(40) , PrenomMere VARCHAR(40) , Adresse1 VARCHAR(40) , Adresse2 VARCHAR(40), | + | |
- | -> CodePostal VARCHAR(5), Ville VARCHAR(40), | + | |
- | Query OK, 0 rows affected (0.03 sec) | + | |
- | + | ||
- | mysql> | + | |
- | </code> | + | |
- | + | ||
- | Pour plus de facilité, copiez simplement la requête et collez-la dans votre terminal | + | |
- | + | ||
- | <file text familles> | + | |
- | CREATE TABLE familles (CodeFamille BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, Nom VARCHAR(40), | + | |
- | </ | + | |
< | < | ||
- | mysql> CREATE TABLE Enfants ( CodeFamille BIGINT NOT NULL, Prenom VARCHAR(40) NOT NULL, | + | [root@centos7 ~]# chmod 1777 / |
- | -> Sexe VARCHAR(1) NOT NULL, DateNaissance DATE NOT NULL, PRIMARY KEY (CodeFamille)); | + | |
- | Query OK, 0 rows affected (0.01 sec) | + | |
- | + | ||
- | mysql> | + | |
</ | </ | ||
- | Pour plus de facilité, copiez simplement la requête et collez-la dans votre terminal : | + | Vous pouvez tester |
- | + | ||
- | <file text enfants> | + | |
- | CREATE TABLE Enfants ( CodeFamille BIGINT NOT NULL, Prenom VARCHAR(40) NOT NULL, Sexe VARCHAR(1) NOT NULL, DateNaissance DATE NOT NULL, PRIMARY KEY (CodeFamille)); | + | |
- | </ | + | |
- | + | ||
- | Utilisez ensuite | + | |
< | < | ||
- | mysql> SHOW DATABASES; | + | [root@centos7 ~]# testparm |
- | +--------------------+ | + | Load smb config files from / |
- | | Database | + | rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) |
- | +--------------------+ | + | Processing section " |
- | | information_schema | | + | Processing section " |
- | | CarnetAdresses | + | Loaded services file OK. |
- | | mysql | | + | Server role: ROLE_STANDALONE |
- | | test | | + | |
- | +--------------------+ | + | |
- | 4 rows in set (0.00 sec) | + | |
- | mysql> | + | Press enter to see a dump of your service definitions |
- | </ | + | |
- | < | + | # Global parameters |
- | mysql> SHOW TABLES FROM CarnetAdresses; | + | [global] |
- | +--------------------------+ | + | dos charset = 850 |
- | | Tables_in_CarnetAdresses | | + | interfaces = 192.168.1.103/ |
- | +--------------------------+ | + | netbios name = MACHINE01 |
- | | Enfants | + | server string = Samba Server %v |
- | | familles | + | unix charset = ISO8859-1 |
- | +--------------------------+ | + | log file = / |
- | 2 rows in set (0.00 sec) | + | max log size = 50 |
+ | remote announce = 192.168.1.255 | ||
+ | printcap name = cups | ||
+ | name resolve order = wins lmhosts bcast host | ||
+ | passdb backend = smbpasswd | ||
+ | passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd: | ||
+ | passwd program = / | ||
+ | security = USER | ||
+ | smb passwd file = / | ||
+ | unix password sync = Yes | ||
+ | idmap config * : backend = tdb | ||
+ | hosts allow = 192.168.1. 127. | ||
+ | hosts deny = all | ||
- | mysql> | ||
- | </ | ||
- | < | + | [homes] |
- | mysql> SHOW COLUMNS FROM familles FROM CarnetAdresses; | + | comment = Repertoires Personnels |
- | +-------------+-------------+------+-----+---------+----------------+ | + | browseable = No |
- | | Field | Type | Null | Key | Default | Extra | | + | read only = No |
- | +-------------+-------------+------+-----+---------+----------------+ | + | |
- | | CodeFamille | bigint(20) | + | |
- | | Nom | varchar(40) | YES | | NULL | | | + | |
- | | PrenomPere | + | |
- | | PrenomMere | + | |
- | | Adresse1 | + | |
- | | Adresse2 | + | |
- | | CodePostal | + | |
- | | Ville | varchar(40) | YES | | NULL | | | + | |
- | | ProfPere | + | |
- | | ProfMere | + | |
- | +-------------+-------------+------+-----+---------+----------------+ | + | |
- | 10 rows in set (0.00 sec) | + | |
- | mysql> | ||
- | </ | ||
- | < | + | [public] |
- | mysql> SHOW INDEX FROM familles; | + | comment = Repertoire Public |
- | +----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | + | path = / |
- | | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | | + | create mask = 0755 |
- | +----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | + | read list = @staff |
- | | familles | 0 | PRIMARY | + | read only = No |
- | +----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | + | write list = @staff |
- | 1 row in set (0.00 sec) | + | |
- | + | ||
- | mysql> | + | |
</ | </ | ||
- | < | + | ==== LAB #2 - Tester Samba en tant que Serveur de Fichiers ==== |
- | mysql> SHOW TABLE STATUS FROM CarnetAdresses; | + | |
- | +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+ | + | |
- | | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | + | |
- | +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+ | + | |
- | | Enfants | + | |
- | | familles | InnoDB | 10 | Compact | + | |
- | +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+ | + | |
- | 2 rows in set (0.00 sec) | + | |
- | mysql> | + | Pour tester votre configuration : |
- | </ | + | |
- | Créez les enregistrements dans la table **familles** : | + | * Consultez |
+ | * Identifiez la machine **MACHINE01**, | ||
+ | * Connectez-vous à la **MACHINE01** avec le compte **trainee/ | ||
+ | * Vérifiez que vous pouvez créer un fichier dans le partage du serveur samba appelé **public** ainsi que dans le partage du répertoire personnel de trainee. | ||
- | <file text data> | + | ----- |
- | INSERT INTO familles (Nom , PrenomPere , PrenomMere , Adresse1 , Adresse2 , CodePostal , Ville , ProfPere , ProfMere) VALUES (' | + | |
- | </ | + | |
+ | Copyright © 2023 Hugh Norris. | ||
- | Saisissez maintenant chacune des commandes suivantes et expliquez le résultat obtenu. Les instructions sont numérotées pour faciliter vos prises de notes. | ||
- | |||
- | | 1 | ALTER TABLE Enfants ADD INDEX (Prenom); | | ||
- | | 2 | ALTER TABLE Enfants DROP INDEX Prenom; | | ||
- | | 3 | ALTER TABLE Enfants ADD %%TelPort%% VARCHAR(50) NOT NULL; | | ||
- | | 4 | ALTER TABLE Enfants CHANGE %%TelPort%% %%TelPort%% VARCHAR( 22 ) NOT NULL; | | ||
- | | 5 | ALTER TABLE Enfants ADD Test VARCHAR( 40 ) NOT NULL; | | ||
- | | 6 | ALTER TABLE Enfants DROP Test; | | ||
- | | 7 | SELECT * FROM familles; | | ||
- | | 8 | SELECT * FROM familles LIMIT 8,12; | | ||
- | |||
- | <note tip> | ||
- | **LIMIT** - Avec un argument, la valeur spécifie le nombre de lignes à retourner depuis le début du jeu de résultat. Si deux arguments sont donnés, le premier indique le décalage du premier enregistrement à retourner, le second donne le nombre maximum d' | ||
- | </ | ||
- | |||
- | |||
- | | 9 | UPDATE familles SET Adresse1 = '120 rue de Vaugirard', | ||
- | | 10 | DELETE FROM familles WHERE Nom = ' | ||
- | | 11 | DELETE FROM familles WHERE Ville = ' | ||
- | | 12 | SELECT * FROM familles LIMIT 8,12; | | ||
- | | 13 | SELECT nom, %%PrenomPere%% FROM familles; | | ||
- | | 14 | SELECT Nom AS 'Nom de famille', | ||
- | | 15 | INSERT INTO Enfants (Prenom, Sexe, %%CodeFamille%%) VALUES (' | ||
- | | 16 | SELECT familles.nom, | ||
- | |||
- | < | ||
- | Créez la colonne **familles.nb_enfants**. | ||
- | </ | ||
- | |||
- | | 17 | UPDATE familles SET nb_enfants = ' | ||
- | | 18 | UPDATE familles SET nb_enfants = ' | ||
- | | 19 | UPDATE familles SET nb_enfants = ' | ||
- | | 20 | UPDATE familles SET nb_enfants = ' | ||
- | | 21 | UPDATE familles SET nb_enfants = ' | ||
- | | 22 | UPDATE familles SET nb_enfants = ' | ||
- | | 23 | UPDATE familles SET nb_enfants = ' | ||
- | | 24 | UPDATE familles SET nb_enfants = ' | ||
- | | 25 | UPDATE familles SET nb_enfants = ' | ||
- | | 26 | SELECT SUM(nb_enfants) FROM familles; | | ||
- | | 27 | SELECT MIN(nb_enfants) AS 'Nb enfants minimum', | ||
- | | 28 | SELECT nom FROM familles WHERE ville = ' | ||
- | | 29 | SELECT nom FROM familles WHERE ville = ' | ||
- | | 30 | ALTER TABLE Enfants DROP PRIMARY KEY; | | ||
- | | 31 | INSERT INTO Enfants (Prenom, Sexe, %%CodeFamille%%) VALUES (' | ||
- | | 32 | INSERT INTO Enfants (Prenom, Sexe, %%CodeFamille%%) VALUES (' | ||
- | | 33 | INSERT INTO Enfants (Prenom, Sexe, %%CodeFamille%%) VALUES (' | ||
- | | 34 | SELECT | ||
- | | 35 | SELECT familles.nom, | ||
- | | 36 | SELECT ville, min(nb_enfants) as 'Nb enfants minimum', | ||
- | | 37 | SELECT * FROM familles ORDER BY nom; | | ||
- | | 38 | SELECT * FROM familles GROUP BY ville, Nom; | | ||
- | | 39 | %%UPDATE familles SET Adresse2 = ' | ||
- | | 40 | %%UPDATE familles SET Adresse2 = ' | ||
- | | 41 | UPDATE familles SET nb_enfants=4 WHERE Ville = ' | ||
- | | 42 | UPDATE familles SET nb_enfants=7 LIMIT 4; | | ||
- | | 43 | UPDATE familles SET nb_enfants=8 ORDER BY Nom LIMIT 3; | | ||
- | | 44 | DELETE FROM familles WHERE Nom = ' | ||
- | | 45 | CREATE TABLE loisirs( Nom VARCHAR( 30 ) NOT NULL ); | | ||
- | | 46 | DROP TABLE loisirs; | | ||
- | | 47 | INSERT INTO familles (Nom, %%PrenomPere%%) VALUES (' | ||
- | | 48 | INSERT INTO familles (%%PrenomPere%%) SELECT Enfants.prenom FROM Enfants; | | ||
- | | 49 | ALTER TABLE familles ADD Sports VARCHAR(50) NOT NULL; | | ||
- | | 50 | ALTER TABLE familles ADD INDEX (Sports); | | ||
- | | 51 | ALTER TABLE familles ADD INDEX (%%PrenomPere%%), | ||
- | | 52 | ALTER TABLE familles CHANGE %%PrenomPere%% Prenom_Pere VARCHAR( 45 ) NOT NULL; | | ||
- | | 53 | ALTER TABLE familles DROP Sports; | | ||
- | | 54 | ALTER TABLE familles DROP INDEX %%PrenomPere%%; | ||
- | | 55 | ALTER TABLE familles DISABLE KEYS; | | ||
- | | 56 | ALTER TABLE Enfants RENAME familles_enfants; | ||
- | | 57 | ALTER TABLE familles ORDER BY Prenom_Pere; | ||
- | | 58 | ALTER TABLE familles ADD Commentaire LONGTEXT NOT NULL ; | | ||
- | | 59 | ALTER TABLE familles ADD FULLTEXT (Commentaire); | ||
- | | 60 | UPDATE familles SET Commentaire = 'La vie est un long fleuve tranquille' | ||
- | | 61 | UPDATE familles SET Commentaire = ' | ||
- | | 62 | UPDATE familles SET Commentaire = 'Le ruisseau se jette dans la rivière qui se jette dans le FLEUVE' | ||
- | | 63 | SELECT * FROM familles WHERE MATCH (Commentaire) AGAINST (' | ||
- | | 64 | SELECT Nom, Commentaire FROM familles WHERE MATCH (Commentaire) AGAINST (' | ||
- | |||
- | ----- | ||
- | < | ||
- | <div align=" | ||
- | Copyright © 2020 Hugh Norris. | ||
- | </ |