Comment supprimer les comptes d’utilisateurs MySQL

MySQL vous permet de créer plusieurs comptes d’utilisateurs et d’accorder les privilèges appropriés pour que les utilisateurs puissent se connecter et gérer des bases de données.

Si le compte d’utilisateur n’est plus nécessaire, il est judicieux de supprimer les privilèges d’utilisateur ou de supprimer complètement le compte d’utilisateur.

Ce tutoriel explique comment supprimer les comptes d’utilisateurs MySQL / MariaDB.

DROP USERDéclaration #

Dans MySQL, vous pouvez supprimer un ou plusieurs utilisateurs et des privilèges attribués avec leDROP USERdéclaration. La syntaxe générale de cette instruction est la suivante:

DROP USER [IF EXISTS] USER_ACCOUNT [, USER_ACCOUNT] ...

Par exemple, pour supprimer lebrian @ localhostconnexion du compte utilisateur au shell MYSQL et exécutez:

DROP USER «brian @ localhost»;

En cas de succès, la commande retournera:

Requête OK, 0 lignes affectées (0,00 sec)

Pour supprimer plusieurs comptes d’utilisateurs dans une seule commande, exécutez leDROP USERsuivie des utilisateurs que vous souhaitez supprimer, séparés par un espace:

DROP USER «brian @ localhost» 'any @ localhost';

Si vous essayez de supprimer un compte d’utilisateur qui n’existe pas et leIF EXISTSn’est pas utilisée, la commande renvoie une erreur.

Si l’utilisateur que vous essayez de supprimer est actuellement connecté, la session utilisateur ne sera pas fermée et l’utilisateur pourra exécuter des requêtes jusqu’à la fin de la session. Une fois la session fermée, l’utilisateur est supprimé et il ne pourra plus se connecter au serveur MySQL.

Les bases de données et objets créés par l’utilisateur ne sont pas supprimés automatiquement.

Suppression des comptes d’utilisateurs MySQL #

Cette section explique étape par étape comment répertorier et supprimer les comptes d’utilisateurs MySQL.

Tout d’abord, connectez-vous au shell MySQL avec la racine ou un autre utilisateur administratif. Pour ce faire, tapez la commande suivante:

sudo mysql

Si vous utilisez l’ancien plug-in d’authentification MySQL natif pour vous connecter en tant que root, exécutez la commande ci-dessous et entrez le mot de passe lorsque vous y êtes invité:

mysql -u root -p

Les commandes ci-dessous sont exécutées à l’intérieur du shell MySQL.

MySQL stocke des informations sur les utilisateurs, dans leutilisateurtable dans lemysqlbase de données. Utilisez le suivantSELECTpour obtenir une liste de tous les comptes d’utilisateurs MySQL:

SELECT User, Host FROM mysql.user;

La sortie devrait ressembler à ceci:

+ ------------------ + ----------- +
| utilisateur | hôte |
+ ------------------ + ----------- +
| racine | localhost |
| luke | % |
| jabba | localhost |
| jabba | 10.10.8.8 |
| chewbacca | localhost |
+ ------------------ + ----------- +
5 lignes en jeu (0,00 sec)
Dans MySQL, un compte d’utilisateur se compose d’un nom d’utilisateur et d’un nom d’hôte.jabba @ localhostet[email protected]sont différents comptes d’utilisateurs.

Disons que lechewbacca @ localhostle compte utilisateur n’est plus nécessaire et nous voulons le supprimer.

Pour supprimer le run utilisateur:

DROP USER 'chewbacca' @ 'localhost'
Requête OK, 0 lignes affectées (0,00 sec)

La commande supprimera le compte utilisateur et ses privilèges.

Maintenant que l’utilisateur est supprimé, vous pouvez également supprimer les bases de données associées à cet utilisateur.

Conclusion #

Pour supprimer un compte utilisateur MySQL, utilisez leDROP USERsuivie du nom de l’utilisateur que vous souhaitez supprimer.

Si vous avez des questions ou des commentaires, n’hésitez pas à laisser un commentaire.

Comment supprimer des fichiers non suivis dans Git

Les fichiers du répertoire de travail Git peuvent être suivis ou non suivis.

Les fichiers suivis sont ceux qui ont été ajoutés et validés et que git connaît. Les fichiers suivis peuvent être non modifiés, modifiés ou organisés. Tous les autres fichiers du répertoire de travail ne sont pas suivis et git n’a pas connaissance de ces fichiers.

Parfois, votre répertoire de travail git peut être encombré de fichiers inutiles qui sont soit générés automatiquement, des restes de fusion ou créés par erreur. Dans ces situations, vous pouvez ajouter ces fichiers dans .gitignore ou les supprimer. Si vous voulez garder votre référentiel agréable et propre, la meilleure option est de supprimer les fichiers inutiles.

Cet article explique comment supprimer des fichiers non suivis dans Git.

Suppression de fichiers non suivis #

La commande qui vous permet de supprimer les fichiers non suivis estgit clean.

C’est toujours une bonne idée de sauvegarder votre référentiel car une fois supprimés, les fichiers et les modifications qui y sont apportées ne peuvent pas être récupérés.

Avant d’exécuter la commande réelle et de supprimer les fichiers et répertoires non suivis, utilisez le-noption qui effectuera un « essai à sec » et vous montrera quels fichiers et répertoires seront supprimés:

git clean -d -n

La sortie ressemblera à ceci:

Supprimerait le contenu / test /
Enlèverait le contenu / blog / article / example.md

Si certains des fichiers répertoriés ci-dessus sont importants, vous devez soit commencer à suivre ces fichiers avecgit add <file>ou ajoutez-les à votre.gitignore.

Une fois que vous êtes sûr de vouloir continuer et supprimer les fichiers et répertoires non suivis, tapez:

git clean -d -f

La commande imprimera tous les fichiers et répertoires supprimés avec succès:

Suppression de contenu / test /
Suppression du contenu / blog / article / example.md

le-réL’option indique à git de supprimer également les répertoires non suivis. Si vous ne souhaitez pas supprimer les répertoires vides non suivis, omettez-réoption.

le-Foption représente la force. Si non utilisé et la variable de configuration Gitclean.requireForceest défini sur true, Git ne supprimera pas les fichiers.

Si vous souhaitez supprimer de manière interactive les fichiers non suivis, utilisez le-jeoption:

git clean -d -i

La sortie affichera les fichiers et les répertoires à supprimer et vous demandera quoi faire avec ces fichiers:

Supprimerait les éléments suivants:
  contenu / test / contenu / blog / article / exemple.md
*** Commandes ***
    1: nettoyer 2: filtrer par motif 3: sélectionner par numéros
    4: demandez à chacun 5: quittez 6: aide

Sélectionnez l’un des choix et appuyez surEntrer.

Si vous souhaitez limiter l’opération de nettoyage aux répertoires donnés, transmettez les chemins d’accès aux répertoires à vérifier pour les fichiers non suivis comme arguments de la commande. Par exemple, pour rechercher des fichiers sous lesrcrépertoire que vous exécuteriez:

git clean -d -n src

Suppression de fichiers ignorés #

legit cleanLa commande permet également de supprimer les fichiers et répertoires ignorés.

Pour supprimer tous les fichiers ignorés et non suivis, utilisez le-Xoption:

git clean -d -n -x

Si vous souhaitez supprimer uniquement les fichiers et répertoires ignorés, utilisez le-Xoption:

git clean -d -n -X

La commande ci-dessus supprimera tous les fichiers et répertoires répertoriés dans votre.gitignoreet conserver les fichiers non suivis.

Conclusion #

Dans ce tutoriel, nous vous avons montré comment supprimer les fichiers et répertoires non suivis dans Git. N’oubliez pas de toujours exécuter la commande à sec avant de supprimer les fichiers.

Si vous avez des commentaires, laissez un commentaire ci-dessous.

Mots-clés

Comment configurer le tunnel SSH (redirection de port)

La tunnellisation SSH ou la redirection de port SSH est une méthode de création d’une connexion SSH chiffrée entre un client et une machine serveur à travers laquelle les ports de services peuvent être relayés.

Le transfert SSH est utile pour transporter des données réseau de services qui utilisent un protocole non chiffré, tel que VNC ou FTP, accéder à du contenu géo-restreint ou contourner des pare-feu intermédiaires. Fondamentalement, vous pouvez transférer n’importe quel port TCP et tunneler le trafic via une connexion SSH sécurisée.

Il existe trois types de redirection de port SSH:

  • Transfert de port local. – Transmet une connexion de l’hôte client à l’hôte du serveur SSH, puis au port hôte de destination.
  • Transfert de port à distance. – Transmet un port de l’hôte serveur à l’hôte client, puis au port hôte de destination.
  • Redirection de port dynamique. – Crée un serveur proxy SOCKS qui permet la communication sur une gamme de ports.

Dans cet article, nous expliquerons comment configurer des tunnels SSH cryptés locaux, distants et dynamiques.

Transfert de port local #

Le transfert de port local vous permet de transférer un port sur la machine locale (client ssh) vers un port sur la machine distante (serveur ssh), qui est ensuite transféré vers un port sur la machine de destination.

Dans ce type de transfert, le client SSH écoute sur un port donné et tunnelise toute connexion à ce port vers le port spécifié sur le serveur SSH distant, qui se connecte ensuite à un port sur la machine de destination. La machine de destination peut être le serveur SSH distant ou toute autre machine.

La redirection de port locale est principalement utilisée pour se connecter à un service distant sur un réseau interne tel qu’une base de données ou un serveur VNC.

Sous Linux, macOS et autres systèmes Unix pour créer un transfert de port local, passez le-Loption à lasshclient:

ssh -L [LOCAL_IP:] LOCAL_PORT: DESTINATION: DESTINATION_PORT [USER @] SSH_SERVER

Les options utilisées sont les suivantes:

  • [LOCAL_IP:] LOCAL_PORT– L’IP de la machine locale et le numéro de port. QuandLOCAL_IPest omis le client ssh se lie sur localhost.
  • DESTINATION: DESTINATION_PORT– L’IP ou le nom d’hôte et le port de la machine de destination.
  • [USER @] SERVER_IP– L’adresse IP de l’utilisateur et du serveur SSH distant.

Vous pouvez utiliser n’importe quel numéro de port supérieur à1024comme unLOCAL_PORT. Nombre de ports inférieur à1024sont des ports privilégiés et ne peuvent être utilisés que par root. Si votre serveur SSH écoute sur un port autre que 22 (par défaut), utilisez le-p [PORT_NUMBER]option.

Le nom d’hôte de destination doit pouvoir être résolu à partir du serveur SSH.

Disons que vous avez un serveur de base de données MySQL en cours d’exécution sur la machinedb001.hostsur un réseau interne (privé), sur le port 3306 accessible depuis la machinepub001.hostet vous souhaitez vous connecter en utilisant votre machine localemysqlclient au serveur de base de données. Pour ce faire, vous pouvez transférer la connexion comme suit:

ssh -L 3336: db001.host: 3306 [email protected]

Une fois la commande exécutée, vous serez invité à saisir le mot de passe de l’utilisateur SSH distant. Après l’avoir entré, vous serez connecté au serveur distant et le tunnel SSH sera établi. C’est une bonne idée de configurer une authentification basée sur une clé SSH et de se connecter au serveur sans entrer de mot de passe.

Maintenant, si vous pointez votre client de base de données de machine locale vers127.0.0.1:3336, la connexion sera transmise audb001.host:3306Serveur MySQL via lepub001.hostmachine qui servira de serveur intermédiaire.

Vous pouvez transférer plusieurs ports vers plusieurs destinations dans une seule commande ssh. Par exemple, vous avez un autre serveur de base de données MySQL en cours d’exécution sur la machinedb002.hostet vous souhaitez vous connecter aux deux serveurs à partir de votre client local, vous devez exécuter:

ssh -L 3336: db001.host: 3306 3337: db002.host: 3306 [email protected]

Pour vous connecter au deuxième serveur que vous utiliseriez127.0.0.1:3337.

Lorsque l’hôte de destination est le même que le serveur SSH au lieu de spécifier l’IP ou le nom d’hôte de l’hôte de destination que vous pouvez utiliserlocalhost.

Supposons que vous devez vous connecter à une machine distante via VNC qui s’exécute sur le même serveur et qu’il n’est pas accessible de l’extérieur. La commande que vous utiliseriez est:

ssh -L 5901: 127.0.0.1: 5901 -N -f [email protected]

le-Foption indique à lasshcommande à exécuter en arrière-plan et-Nne pas exécuter de commande à distance. Nous utilisonslocalhostcar le VNC et le serveur SSH s’exécutent sur le même hôte.

Si vous rencontrez des problèmes pour configurer la tunnellisation, vérifiez la configuration de votre serveur SSH distant et assurez-vousAllowTcpForwardingn’est pas défini surnon. Par défaut, le transfert est autorisé.

Redirection de port à distance #

La redirection de port à distance est l’opposé de la redirection de port locale. Il vous permet de transférer un port sur la machine distante (serveur ssh) vers un port sur la machine locale (client ssh), qui est ensuite transféré vers un port sur la machine de destination.

Dans ce type de transfert, le serveur SSH écoute sur un port donné et tunnelise toute connexion à ce port vers le port spécifié sur le client SSH local, qui se connecte ensuite à un port sur la machine de destination. La machine de destination peut être la machine locale ou toute autre machine.

Sous Linux, macOS et autres systèmes Unix pour créer un transfert de port distant, passez le-Roption pour le client ssh:

ssh -R[ÉLOIGNÉ:]REMOTE_PORT: DESTINATION: DESTINATION_PORT[[email protected]]SSH_SERVER

Les options utilisées sont les suivantes:

  • [REMOTE:] REMOTE_PORT– L’IP et le numéro de port sur le serveur SSH distant. Un videÉLOIGNÉsignifie que le serveur SSH distant se liera sur toutes les interfaces.
  • DESTINATION: DESTINATION_PORT– L’IP ou le nom d’hôte et le port de la machine de destination.
  • [USER @] SERVER_IP– L’adresse IP de l’utilisateur et du serveur SSH distant.

La redirection de port locale est principalement utilisée pour donner accès à un service interne à quelqu’un de l’extérieur.

Imaginons que vous développiez une application Web sur votre ordinateur local et que vous souhaitiez en afficher un aperçu à votre collègue développeur. Vous n’avez pas d’adresse IP publique, donc l’autre développeur ne peut pas accéder à l’application via Internet.

Si vous avez accès à un serveur SSH distant, vous pouvez configurer un transfert de port distant comme suit:

ssh -R 8080: 127.0.0.1: 3000 -N -f [email protected]

La commande ci-dessus fera en sorte que le serveur ssh écoute sur le port8080et tunneler tout le trafic de ce port vers votre machine locale sur le port3000.

Maintenant, votre collègue développeur peut taperthe_ssh_server_ip: 8080dans son navigateur et prévisualisez votre application géniale.

Si vous rencontrez des problèmes pour configurer la redirection de port à distance, assurez-vousGatewayPortsest réglé surOuidans la configuration du serveur SSH distant.

Redirection de port dynamique #

La redirection de port dynamique vous permet de créer un socket sur la machine locale (client ssh) qui agit comme un serveur proxy SOCKS. Lorsqu’un client se connecte à ce port, la connexion est transmise à la machine distante (serveur ssh), qui est ensuite transmise à un port dynamique sur la machine de destination.

De cette façon, toutes les applications utilisant le proxy SOCKS se connecteront au serveur SSH et le serveur transmettra tout le trafic à sa destination réelle.

Sous Linux, macOS et autres systèmes Unix pour créer un transfert de port dynamique (SOCKS), passez le-RÉoption à lasshclient:

ssh -D[LOCAL_IP:]LOCAL_PORT[[email protected]]SSH_SERVER

Les options utilisées sont les suivantes:

  • [LOCAL_IP:] LOCAL_PORT– L’IP de la machine locale et le numéro de port. QuandLOCAL_IPest omis le client ssh se lie sur localhost.
  • [USER @] SERVER_IP– L’adresse IP de l’utilisateur et du serveur SSH distant.

Un exemple typique de redirection de port dynamique consiste à tunneler le trafic du navigateur Web via un serveur SSH.

La commande suivante créera un tunnel SOCKS sur le port9090:

ssh -D 9090 -N -f [email protected]

Une fois le tunneling établi, vous pouvez configurer votre application pour l’utiliser. Cet article explique comment configurer Firefox et le navigateur Google Chrome pour utiliser le proxy SOCKS.

La redirection de port doit être configurée séparément pour chaque application pour laquelle vous souhaitez canaliser le trafic.

Configurer le tunneling SSH dans Windows #

Les utilisateurs Windows peuvent créer des tunnels SSH à l’aide du client PuTTY SSH. Vous pouvez télécharger PuTTY ici.

  1. Lancez Putty et entrez l’adresse IP du serveur SSH dans leNom d'hôte (ou adresse IP)champ.

  2. Sous leConnexionmenu, développezSSHet sélectionnezTunnels. Vérifier laLocalbouton radio pour configurer local,Éloignépour télécommande, etDynamiquepour la redirection de port dynamique.

    • Si vous configurez le transfert local, entrez le port de transfert local dans lePort sourcesur le terrain et dansDestinationentrez l’hôte de destination et l’IP, par exemple,localhost: 5901.
    • Pour le transfert de port distant, entrez le port de transfert de serveur SSH distant dans lePort sourcesur le terrain et dansDestinationentrez l’hôte de destination et l’IP, par exemple,localhost: 3000.
    • Si vous configurez le transfert dynamique, entrez uniquement le port SOCKS local dansPort sourcechamp.
  3. Clique sur leAjoutercomme indiqué dans l’image ci-dessous.

  4. Retournez auSessionpour enregistrer les paramètres afin que vous n’ayez pas à les saisir à chaque fois. Entrez le nom de la session dans leSession enregistréechamp et cliquez sur lesauverbouton.

  5. Sélectionnez la session enregistrée et connectez-vous au serveur distant en cliquant sur leOuvertbouton.

    Une nouvelle fenêtre vous demandant votre nom d’utilisateur et votre mot de passe s’affichera. Une fois que vous aurez entré votre nom d’utilisateur et votre mot de passe, vous serez connecté à votre serveur et le tunnel SSH sera démarré.

    La configuration de l’authentification par clé publique vous permettra de vous connecter à votre serveur sans entrer de mot de passe.

Conclusion #

Nous vous avons montré comment configurer des tunnels SSH et transférer le trafic via une connexion SSH sécurisée. Pour faciliter l’utilisation, vous pouvez définir le tunnel SSH dans votre fichier de configuration SSH ou créer un alias Bash qui configurera le tunnel SSH.

Si vous rencontrez un problème ou avez des commentaires, laissez un commentaire ci-dessous.