• LINUX > INFOS PELE-MELE

      savoir si le disque est un SSD

      Connaître le type de disque dur sous Linux

      cat /sys/block/sda/queue/rotational
      si la réponse est 0 alors c’est un disque SSD
      si la réponse est 1 c’est donc un disque SATA
      SSD sur bus PCI express
      un disque dur est nommé HDA pour les IDE, SDA pour les SATA, SCSI et SSD mais dans le cas où le disque dur SSD est branché sur un bus PCI Express, alors le disque prend comme nommage : NVMe.
      Pour trouver le nom d’un disque dur sous Linux :
      lsblk -o NAME

      gestion des processus qui ne libèrent pas de l’espace disque

      Vérification de l’espace disque

      Vérification des partitions avec la commande df -h :
      Ici dans mon cas sur ce serveur, il n’y a plus d’espace disque de disponible.
      Mais si je vérifie avec la commande ncdu :
      hummm, en faite d’après la commande ncdu, la partition racine n’occupe que 3.2Go de données !

      Identifier les processus

      Pour identifier les processus en cours d’exécution, qui n’ont pas libérer les fichier seront identifiés via la commande lsof avec comme argument +L1 :

      lsof +L1

       

      D’après le man de lsof : « +L1 » will select open files that have been unlinked.:
      Les processus qui n’ont pas libérés les fichiers supprimés sont identifiés avec l’argument (deleted) en fin de ligne.
      Pour libérer de l’espace, il faut soit redémarrer le processus si c’est un démon ou le tuer.

       

      Une fois tous les processus redémarrés ou tués, on retrouve de l’espace disque sans avoir eu besoin de redémarrer notre système GNU/Linux. De toute façon, un Linux ne se redémarre jamais ;-)

      réinitialiser le mot de passe root MySql

      avec systemd

      Redémarrer le service MySQL en mode --skip-grant-tables :

       

      systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

       

      Plus besoin de mot de passe dans ce mode pour se connecter au serveur !

       

      Définir un nouveau mot de passe avec la commande mysql_secure_installation:

      mysql_secure_installation

       

      Autres méthodes à l’aide d’instructions SQL :

      Se connecter au serveur avec la commande mysql :

      mysql

       

      Ensuite, plusieurs façons de faire pour changer le mot de passe :

       

      Une première méthode :

      SET PASSWORD FOR root@’localhost’=PASSWORD(‘mon_nouveau_mot-de_passe’);

      ou :

      UPDATE mysql.user SET password=PASSWORD(‘mon_nouveau_mot_de_passe’) WHERE User=’root’ AND Host = ‘localhost’;

      FLUSH PRIVILEGES;

      ou :

      GRANT ALL PRIVILEGES ON *.* TO root@’localhost’ IDENTIFIED BY ‘mon_nouveau_mot_de_passe’;

       

      Redémarrer le service en désactivant le mode --skip-grant-tables :

      systemctl unset-environment MYSQLD_OPTS

      systemctl restart mariadb

       

      source : http://www.dsfc.net/logiciel-libre/mysql-logiciel-libre/perte-mot-de-passe-root-mysql-mariadb/

       

       

      Ancienne méthode : Toutes les étapes sont éxécutées en tant que root.

       

      Etape 1

      Arréter le service MySql:

      service mysql stop

      ou

      service mysqld stop

       

      Etape 2

      Démarrer le serveur MySql sans aucun mot de passe:

      mysqld_safe --skip-grant-tables &

       

      Etape 3

      Se connecter à Mysql

      mysql -u root

       

      Etape 4

      Choisir la base de donnée mysql, mettre à jour le mot de passe root puis recharger les prévilèges:

      use mysql;

      update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User=’root’;

      flush privileges;

      quit

       

      Etape 5

      Redémarrer le serveur MySql:

      service mysql restart

      Ou

      service mysqld restart

       

      A ce stade il est de nouveau possible de se connecter sur le serveur MySql avec le nouveau mot de passe root.

       

      Astuce sous Ubuntu!

      Sous Ubuntu, il existe un compte d’administrateur de secour: debian-sys-maint.
      Le mot de passe associé à ce compte se trouve dans le fichier /etc/mysql/debian.cnf.

      tget : le wget du torrent

      Un nouveau petit utilitaire vient de voir le jour, pour télécharger des fichiers torrents sous GNU/Linux en ligne de commande : tget.
      tget-linux-torrent

      tget, le wget du torrent sous GNU/Linux

      tget est basé sur torrent-stream et s’inspire de peerflix. Cet outil est écrit en Node.js et publié sous licence MIT.

      Installer tget :

      sudo npm install -g t-get

      Utliser tget :

      tget fichier.torrent

      Afficher une barre de progression pour la commande dd

      La commande dd est pour moi la commande ultime pour faire des clés bootable ou toutes autres copies par block.

      De base, il est possible d’avoir un affichage basique de la progression d’une copie avec dd, mais ce n’est pas très clair…
      Exemple :

      dd if=image.iso of=/dev/sdb bs=1M status=progress && sync
      685+0 enregistrements lus
      685+0 enregistrements écrits
      718274560 bytes (718 MB, 685 MiB) copied, 0,278259 s, 2,6 GB/s

      Afficher une barre de progression graphique pour dd avec pv et dialog

      Pour afficher une barre de progression pour connaître l’état d’avancement de la commande dd, deux commandes vont être combinées : pv et dialog.

      La commande pv permet à travers un pipe de connaitre la progression d’avancement d’une tâche et la commande dialog permet d’afficher une boite de dialogue.

       

      Voici la commande entièrement pour afficher une barre de progression graphique pour dd :

      (pv -n image.iso | dd of=/dev/sdb bs=1M && sync) 2>&1 | dialog --gauge "dd en cours, patienter..." 10 70 0

      Ce qui donne :
      dd-dialog

       

      pv : pour connaître la progression d’une tâche

      La commande pv (Pipe Viewer) permet de visualiser l’état de progression d’une tâche à travers un pipeline, ce qui permet d’avoir une estimation du temps écoulé.

      Voici les informations fournis par cette commande :

      -Temps écoulé

      -Pourcentage achevé (avec barre de progression)

      -taux de débit actuel

      -Total des données transférées

        Installer pv

        sudo apt install pv

        Exemples

        Création d’une clé bootable :

        pv image.iso | dd of=/dev/sdb && sync
        1,46GiO 0:00:17 [  86MiB/s] [===========================================================================>] 100%
        3062144+0 enregistrements lus
        3062144+0 enregistrements écrits
        1567817728 bytes (1,6 GB, 1,5 GiB) copied, 13,8749 s, 113 MB/s
          Sauvegarde d’une base de données MariaDB:
          mysqldump mybdd | pv > mybdd.sql
          Création d’une archive :
          tar -czf - dossier | pv > dossier.tar.gz

          ip : pour gérer son interface réseau

          iphelplinux
          nb : toutes les commandes décrites dans l’article sont exécutées en tant que root et l’interface réseau choisie pour les exemples est eth0

          attribuer une adresse IPv4 sur une interface réseau

          A savoir une adresse IP sans masque de sous réseau, cela ne sert à rien.

          ip addr add 192.168.1.5/24 dev eth0

           

          connaître son adresse IP sur toutes les interfaces réseau

           

          ip -4 -o addr show
          1: lo     inet 127.0.0.1/8 scope host lo\                             valid_lft forever preferred_lft forever
          2: eth0   inet 192.168.1.5/24 brd 192.168.1.255 scope global eth0\    valid_lft forever preferred_lft forever

           

          options utilisées :

          -4 : pour n’afficher que les adresses IPv4

          -o : le résultat sur une seule ligne

           

          Un exemple avec l’affichage en couleur à l’aide de l’option -c, qui n’est présente que depuis la version 4 :
          ipshowaddrcolor

          Supprimer une adresse IP sur une interfacé réseau

          ip addr del 192.168.1.5/24 dev eth0

          activer une interface réseau

          ip link set eth0 up

          désactiver une interface réseau

          ip link set eth0 down

          ajouter une passerelle par défaut (gateway)

          ip route add default via 192.168.1.1

          tout savoir sur la commande IP

            man ip
            ip --help

            changer le label d’une clé USB

              Partitions de type ext2/3/4 :

              sudo e2label /dev/sdbx "NOUVEAULABEL"

               

              Partitions de type FAT32 :

              sudo mlabel -i /dev/sdbx ::NOUVEAULABEL"

              dban : pour supprimer toutes les données sur un disque dur

              Effectivement, dban est un logiciel sous la forme d’une image ISO bootable, qui peut être graver sur CD ou une clé USB et doit être lancé ou démarrage de la machine. Le processus de dban pour supprimer les données est le suivant : il écrit plusieurs fois des données aléatoires sur le disque dur, en les supprimant et en les réécrivant. Cependant, cette opération de suppression peut être relativement très longue suivant le nombre de passes et la taille du disque.
              Un élément important à savoir, si les disques sont dans une grappe RAID alors dban ne pourra pas garantir la suppression totales des données.

               

              dban en fonction

               

              Télécharger la dernière image ISO :

              wget -c http://sourceforge.net/projects/dban/files/dban/dban-2.3.0/dban-2.3.0_i586.iso

               

              Graver sur un CD ou une clé USB, dans mon cas c’est sur clé USB :

              dd if=dban-2.3.0_i586.iso of=/dev/sdb bs=4M && sync

               

              Démarrer sur l’ISO, appuyer sur la touche « Entrée » pour exécuter dban en mode interactive :

              dban-01

               

              Cette fenêtre affiche le(s) disque(s) découvert(s) :

              dban-02

               

              Sélectionner un disque avec la touche « Espace » du clavier :

              dban-03

               

              Presser la touche F10 pour lancer le processus de suppression des données :

              dban-05

               

              Fin du processus de suppression de données:

              ddan-06

               

              Environ 30minutes, pour un disque dur virtuel d’une taille de 10Go.

              Test de récupération des données avec SystemRescue

                Démarrage sur SystemRescueCD :
                systemrescuecd
                Une fois arrivé sur l’interface graphique, je lance un Terminal pour exécuter Testdisk :
                testdisk-01
                Après analyse, TestDisk ne trouve aucune partition à restaurer : 

                testdisk-02

                détruire fichiers, répertoires, partitions ou disques dur avec shred et wipe

                shred

                shred est une commande unix, qui permet d’effacer définitivement le contenu d’un fichier (ou d’une partition) sans possibilité de récupération. Pour y arriver, il y a écritures répétitives et aléatoires dans le fichier.
                wipe est une commande, qui permet de nettoyer une partition par un mécanisme de « frottement « .

                Si les paquets shred et wipe ne sont pas installés par défaut, il suffit d’utiliser les gestionnaire de paquet de la distribution en question.

                Attention avec shred et wipe, il est (quasi) impossible de récupérer les données !!!

                Suivant les droits d’accès au fichier/répertoire/partion/disque dur, il faudra se connecter en tant que root ou passer par la commande sudo.

                 

                Détruire un fichier :

                shred -n 20 -z -u -v fichierasupp

                 

                Détruire un répertoire :

                wipe -r RepAsupp

                 

                Détruire une partition :

                shred -n 20 -z -u -v /dev/sdaX

                wipe /dev/sdaX

                 

                Détruire une disque dur entier :

                shred -n 20 -z -u -v /dev/sda

                wipe /dev/sda

                 

                options de shred:

                -n 20 : fichier réécrit 20 fois.

                -z : réécriture avec des zéros pour dissimuler l’opération.

                -v : suivre l’état d’avancement de la commande.

                -u : supprime le fichier après sa réécriture.

                Fail2Ban : load Average Cpu usage high

                Si les fichiers de log deviennent anormalement gros, il se peut que le réglage de la rotation des logs soit mal paramétré (en dehors d’une attaque évidemment).
                J’ai revue ma configuration de logrotate, et en particulier celui de nginx.

                 

                /etc/logrotate.d/nginx

                ##le chemin ou se trouve les logs de ngnix :
                /var/log/nginx/*.log {
                ##Copie du fichier de log et vide ce dernier pour le remplir :
                copytruncate
                ##rotation jounalière :
                daily
                ##Je garde un historique de 7 fichiers de log :
                rotate 7
                ##Je compresse les fichiers de log :
                compress
                ##je limite la taille du fichier de log à 10Mo :
                size 10M
                ##si le log n’existe pas, ne créé pas d’erreur :
                missingok
                ##si le journal est vide, il n'y aura aucune action :
                notifempty
                ##Permet l’exécution de postrotate :
                sharedscripts
                ##Action après la rotation des logs (action qui était par défaut)  :
                postrotate
                                /bin/kill -USR1 `cat /var/run/nginx.pid 2>/dev/null` 2>/dev/null || true
                endscript
                }

                 

                Relance de logrotate :

                logrotate -f  /etc/logrotate.conf

                 

                Pour finir, la commande HTOP pour vérifier le bon fonctionnement de Fail2Ban :

                htop

                 

                 

                 

             

            Aucun commentaire

             

            Laissez un commentaire