Wolfzone

 Le blog d'un loup pas vraiment solitaire

Catégorie: Linux
Rédigé par YannG | 21 mai 2018 | Classé dans: Linux | Mots clés: aucun

Fin Du Support De Debian 7 "Wheezy"

Lorsque j'ai commencé à utiliser GNU/Linux, ma première expérience a été la distribution Yggdrasil, expérience couronnée de peu de succès puisque mon matériel de l'époque avait des problèmes de compatibilité.

Puis, par l'intermédiaire de la revue GNU/Linux Magazine France, j'ai rapidement découvert la distribution Red Hat, que j'ai beaucoup apprécié jusqu'au jour où, en voulant désinstaller SELinux que je n'ai jamais supporté, et à cause des diverses dépendances, la totalité de la distro a été désinstallée et tout a planté.

Puis j'ai tenté ma chance avec la distribution MandrakeLinux pendant quelques années jusqu'à ce que les détenteurs des droits du nom "Mandrake" ne viennent jouer les troubles fêtes et fassent péricliter cette distribution très intéressante.

Puis, j'ai continué avec la distribution Ubuntu, mais comme la MandrakeLinux, le soucis, c'est soit Gnome, soit KDE, qui comme Windows, passent leur temps à faire autre chose que ce que je demande à mon micro-ordinateur de faire.

Je suis donc passé à la Xubuntu, qui, enfin, correspondait globalement à mes attentes malgré son environnement quelque peu spartiate. J'ai ensuite amélioré cette austérité en passant à la distribution Linux Mint XFCE que j'ai utilisé pendant quelques années.

Enfin, en 2013, j'ai décidé de revenir en quelque sorte aux fondamentaux en installant la distribution Debian version 7 "Wheezy" qui est la distribution sur laquelle sont basées les Xubuntu et les Mint XFCE, et effectivement, à quelques détails près, j'avais enfin trouvé le système qui se rapprochait le plus de mes attentes en matières de système d'exploitation.

Mais en ce mois de mai 2018, ce sera la fin de la Debian 7 "Wheezy". Désormais, il n'y aura plus de mises à jour, et on nous conseille vivement de passer à la version suivante, sauf que les choix stratégiques qui sont maintenant suivis par Debian, sont de plus en plus aux antipodes de mes attentes, et donc fatalement, pour moi, l'expérience Debian s'arrête là.

Ainsi, ma quête de la distribution qui correspond le plus à mes attentes recommence.

Rédigé par YannG | 25 mars 2018 | Classé dans: Linux | Mots clés: aucun

La Date et l'Heure Sous Linux

S'il est relativement simple de changer la date et l'heure lorsque l'on utilise une interface graphique, cela demande quelques efforts supplémentaires avec la ligne de commande.

Définir le fuseau horaire

C'est le fichier /etc/timezone qui contient la définition du fuseau horaire de l'emplacement où se trouve le micro-ordinateur. C'est un fichier qui ne contient qu'une seule ligne de texte sous la forme Continent/Ville. Par exemple si l'on se trouve en France métropolitaine, /etc/timezone devrait normalement contenir:

Europe/Paris

Les définitions de tout les fuseaux horaires sont regroupées dans le dossier /usr/share/zoneinfo.

Format de la date et de l'heure

Pour exprimer la date et/ou l'heure, une suite de séquences est utilisée. ces séquences sont toutes précédées par le signe pourcent % suivi d'une lettre en minuscule ou en majuscule qui sont bien évidemment différenciées et qui fourniront des résultats différents.

Pour la date:

%A Nom du jour de la semaine en entier.
%B Nom du mois en entier.
%d Jour du mois numérique.
%D Date complète au format %m/%d/%y.
%e Jour du mois aligné en rajoutant un espace s'il est inférieur à 10.
%F Date complète au format %Y-%m-%d.
%j Jour de l'année.
%m Mois de l'année.
%u Jour de la semaine avec lundi comme premier jour.
%U Semaine de l'année avec dimanche comme premier jour de la semaine.
%w Jour de la semaine avec dimanche comme premier jour.
%W Semaine de l'année avec lundi comme premier jour de la semaine.
%x Date complète qui tient compte des paramètres de langue.
%y Les deux derniers chiffres de l'année.
%Y Année en entier.

Pour l'heure:

%H Heure au format 24 heures.
%I Heure au format 12 heures.
%k Heure au format 24 heures et alignée avec un espace si nécessaire.
%l Heure au format 12 heures et alignée avec un espace si nécessaire.
%M Minutes de l'heure courante.
%p Indique en majuscules si l'on est avant ou après midi pour une heure au format 12 heures.
%P Indique en minuscules si l'on est avant ou après midi pour une heure au format 12 heures.
%r Heure au format 12 heures qui tient compte des paramètres de langue.
%R Heure au format 24 heures au format %H:%M.
%s Valeur de EPOCH (nombre de secondes écoulées depuis le 1 janvier 1970 à 00:00:00 UTC).
%S Secondes de l'heure courante.
%T Heure au format 24 heures au format %H:%M:%S.
%Z Nom abrégé du fuseau horaire.

Par défaut les chiffres sont complétés avec des zéros, cependant, il est possible de modifier ce comportement en ajoutant l'un des caractères suivant entre le signe pourcent % et la lettre:

- Ne pas compléter les chiffres inférieurs à 10 (signe moins).
_ Compléter avec des espaces (signe soulignement).
0 Compléter avec des zéros (comportement par défaut).

Gestion de la date et de l'heure

La commande date permet d'afficher et de modifier la date et l'heure de la machine sur laquelle le système est en cours de fonctionnement.

Sans aucun argument cette commande affiche simplement la date et l'heure en tenant compte des différents réglages tel le fuseau horaire et les paramètres de langue.

date
lundi 5 mars 2018, 07:01:53 (UTC+0100)

Le signe plus + permet de modifier le format d'affichage de la commande avec l'aide des différentes séquences mentionnées au paragraphe précédent.

date +%F
2018-03-05

On peut également utiliser plusieurs séquences pour former des dates et des heures personnalisées.

date +%d-%m-%Y
05-03-2018

Par contre si l'on veut insérer des espaces entre les séquences, il faut mettre la définition entre guillemets.

date +"%A %-d %B %Y"
lundi 5 mars 2018

L'option -d permet d'utiliser une autre date que la date courante.

date -d "2018-03-25" +"%A %-d %B %Y"
dimanche 25 mars 2018

Enfin, l'option -s permet de définir la date ou l'heure courante, cependant, les droits administrateur sont généralement demandés pour redéfinir la date et l'heure.

date -s "2018-03-05 07:01:00"
lundi 5 mars 2018, 07:01:00 (UTC+0100)

Si l'on ne renseigne que la date, l'heure est simplement remise à 0.

date -s "2018-03-05"
lundi 5 mars 2018, 00:00:00 (UTC+0100)

Pour ne changer que l'heure, il suffit d'exécuter la commande date avec les paramètres suivants:

date -s "07:36:05" +%T
07:36:05

Rédigé par YannG | 11 février 2018 | Classé dans: Linux | Mots clés: aucun

Installer Un Dépot .DEB Local

Il existe un certain nombre de cas ou il peut être utile de maintenir son propre dépôt de fichiers. Si l'on a une connexion internet peu rapide ou une panne internet, si l'on veut avoir les fichiers à sa disposition sur un disque dur externe, si l'on a besoin d'installer des fichiers sur une ou plusieurs machines qui n'ont pas d’accès à internet ou qui sont seulement raccordés dans un réseau local privé déconnecté d'internet.

La solution la plus simple pour obtenir les fichiers nécessaires consiste à télécharger les compilations de DVD mises à disposition sur le site Debian. Par exemple pour la version x86_64 de la distribution "Stretch", on peut trouver la compilation de DVD à l'adresse suivante:

https://cdimage.debian.org/debian-cd/9.3.0/amd64/iso-dvd/

Commencer par créer un dossier debian, puis trois dossiers destinés à contenir les données de chacune des images ISO:

mkdir debian
cd debian
mkdir dvd1
mkdir dvd2
mkdir dvd3

Télécharger ensuite les trois images ISO nommées debian-9.3.0-amd64-DVD-x.iso (ou "x" est un nombre entier entre 1 et 3):

wget https://cdimage.debian.org/debian-cd/9.3.0/amd64/iso-dvd/debian-9.3.0-amd64-DVD-1.iso
wget https://cdimage.debian.org/debian-cd/9.3.0/amd64/iso-dvd/debian-9.3.0-amd64-DVD-2.iso
wget https://cdimage.debian.org/debian-cd/9.3.0/amd64/iso-dvd/debian-9.3.0-amd64-DVD-3.iso

Une fois les trois fichiers téléchargés, décompresser les dossiers dists et pool dans chacun des dossiers précédemment créés:

cd dvd1
unar -D ../debian-9.3.0-amd64-DVD-1.iso dists/* pool/*
cd ../dvd2
unar -D ../debian-9.3.0-amd64-DVD-2.iso dists/* pool/*
cd ../dvd3
unar -D ../debian-9.3.0-amd64-DVD-3.iso dists/* pool/*

Normalement le dossier pool ne contient que les versions contrib et main, le dossier non-free n'est pas contenu dans l'image ISO et doit être téléchargé à part.

Pour ajouter les dossiers locaux à la liste des sources il faut éditer le fichier /etc/apt/sources.list pour ajouter les dossiers:

nano /etc/apt/sources.list

Ajouter les lignes suivantes à la fin du fichier:

deb [trusted=yes] file:/debian/dvd1/ stretch contrib main
deb [trusted=yes] file:/debian/dvd2/ stretch contrib main
deb [trusted=yes] file:/debian/dvd3/ stretch contrib main

L'option [trusted=yes] permet de se passer de clé de sécurité et de considérer que tous les fichiers provenant de cette sources peuvent être installés sans danger.

Une fois le fichier enregistré, il faut recharger la liste des sources pour que tout les fichiers soient accessibles:

apt-get update

Lorsque la liste des fichiers a été rechargée, on peut ensuite installer des applications avec synaptic ou avec l'interface en ligne de commande.

Rédigé par YannG | 20 décembre 2017 | Classé dans: Linux | Mots clés: console

Améliorer La Sécurité Des Mots De Passe

Plus personne n'ignore de nos jours qu'il faut correctement protéger les divers accès aux services dont nous sommes les utilisateurs. Cependant, devant la multiplications des comptes en ligne, et la nécessité de changer régulièrement les mots de passe de chacun d'entre eux, beaucoup d'entre nous cèdent bien souvent à la facilité et font des choix minimalistes.

Il est important de garder à l'esprit quelques conseils de base pour éviter d'utiliser des mots de passe qui pourraient être découverts trop facilement et au contraire faire des choix qui correspondent beaucoup plus à des critères forts de sécurité:

  • Éviter les mots utilisés régulièrement dans la vie courante,
  • Éviter les suites de lettres tel le fameux "abcdef" ou encore constituées uniquement de la même lettre du style "aaaaaa",
  • Éviter les suites de chiffres tel le fameux "123456" ou encore constituées uniquement du même chiffre du style "111111", tout comme les dates de naissance,
  • Éviter les noms ou prénoms de l'utilisateur ou de ses proches, de ses amis, voire même de ses animaux de compagnie,
  • Utiliser des suites de caractères alphanumériques qui mélangent chiffres, majuscules et minuscules d'une manière le plus possible aléatoire,
  • On peut également utiliser la première lettre de chacun des mots d'une phrase code personnelle qui sera ainsi plus facile à mémoriser.

Il y a bien sûr d'autres possibilités de constituer des mots de passe forts, cette liste n'étant bien évidemment pas exhaustive.

Ainsi, il existe plusieurs programmes qui peuvent nous aider pour générer facilement des mots de passe qui offrent une plus grande sécurité.

GNU Privacy Guard (GnuPG)

L'outil GnuPG qui permet de crypter des données pour en assurer l'authenticité possède une options pour générer des nombres aléatoires. Une fois ce nombre aléatoire transformé en notation base64, on obtiens une mot de passe offrant un niveau de sécurité tout à fait convenable. Par exemple pour générer un mot de passe de 8 caractères:

gpg --gen-random --armor 1 6

Open Secure Sockets Layer (OpenSSL)

OpenSSL est un outil de chiffrement permettant de transférer des informations sécurisées sur un réseau informatique. de la même manière que la commande gpg on peux facilement générer des mots de passe offrant un bon niveau de sécurité. Par exemple pour générer un mot de passe de 8 caractères:

openssl rand -base64 6

Le générateur de nombres aléatoires

Sous Linux, le fichier spécial /dev/urandom sert de générateur de nombres aléatoires. On peux ainsi obtenir facilement une suite de caractères qui pourra servir de mot de passe. Par exemple pour obtenir un mot de passe de 8 caractère mélangeant des minuscules, des majuscules et des chiffres:
echo `tr -dc A-Z-a-z-0-9 < /dev/urandom | head -c 8`

Les dates

J'expliquais un peu plus haut qu'il ne fallait pas utiliser les dates de naissances, cependant, si l'on utilise la date du jour, en utilisant les fonctions de hachages ainsi que la notation en base64, on peut obtenir un mot de passe de bonne qualité, puisque qu'il y a relativement peu de chances que le moment où l'on génère le mot de passe au moyen de la date courante puisse être deviné.

Pour obtenir un mode passe de 8 caractères en utilisant l'algorithme de hachage md5:

echo `date | md5sum | base64 | head -c 8`

On peut également mélanger les algorithmes de hachages pour obtenir un mot de passe moins prévisible. Par exemple pour obtenir un mot de passe de 8 caractères haché par les algorithmes MD5 et SHA-2:

echo `date +%s | md5sum | sha256sum | base64 | head -c 8`

On peut donc constater qu'il existe des solutions très simple pour générer facilement des mots de passe qui offrent un bon niveau de sécurité.

Rédigé par YannG | 14 décembre 2017 | Classé dans: Linux | Mots clés: console

Rechercher Des Fichiers Avec "Find"

La solution la plus simple pour rechercher des fichiers dans l'arborescence du système de fichiers au moyen de la ligne de commande est d'utiliser find.

La commande find permet de rechercher des fichiers dans le ou les dossiers indiqués ainsi que dans tout les sous-dossiers contenus dans ceux-ci. Divers traitements peuvent être appliqués aux résultats de cette commande allant du simple affichage, à l'effacement ou encore d'un traitement personnalisé de la liste des fichiers correspondants.

Format de la commande:

find [chemins] [arguments]

Les chemins:

Par défaut, si aucun chemin n'est spécifié, la commande find recherche des fichiers dans le dossier en cours d'utilisation.

  • Le point . indique le dossier en cours,
  • Deux points .. indiquent de revenir en arrière dans l'arborescence en faisant référence au dossier précédent,
  • La barre oblique à droite / indique la racine de l'arborescence ou une séparation entre les différents dossiers,
  • Le tilde ~ fait référence à la racine du dossier de l'utilisateur.

Les noms de fichiers:

Les noms de fichiers à rechercher peuvent être spécifiés au moyen de divers motifs, dont par exemple:

  • texte va rechercher des fichiers dont le nom correspond exactement à "texte",
  • *texte va rechercher des fichiers dont le nom se termine avec "texte",
  • texte* va rechercher des fichiers dont le nom commence avec "texte",
  • *texte* va rechercher des fichiers dont le nom contient "texte".

Les arguments:

  • -empty le résultat de la recherche doit être vide, fichier à zéro ou dossier sans aucun fichier.
  • -exec exécute la commande spécifiée pour chacun des résultats de la recherche.
  • -iname recherche un nom de fichier sans tenir compte des majuscules/minuscules
  • -maxdepth n recherche dans n niveaux de sous-dossiers. La valeur 1 désactive la recherche récursive.
  • -name recherche un nom de fichier en tenant compte des majuscules/minuscules
  • -not inverser le résultat de la recherche, ce qui est vrai devient faux et ce qui est faux devient vrai.
  • -or effectuer un choix conditionnel entre l'une ou l'autre de deux valeurs.
  • -type type de fichier à rechercher spécifiquement, f pour un fichier standard, d pour un dossier.

Quelques exemples:

  • Rechercher des fichiers et des dossiers dans le dossier courant et tout ses sous-dossiers:
    find -name texte_a_chercher
    ou:
    find . -name texte_a_chercher
  • Rechercher des fichiers et des dossiers dans le dossier précédent seulement:
    find .. -maxdepth 1 -name texte_a_chercher
  • Rechercher les fichiers mp3 dans le dossier Musique de l'utilisateur:
    find ~/Musique -type f -iname "*.mp3"
  • Rechercher des fichiers ou des dossiers à partir du dossier Musique de l'utilisateur qui contiendrait le terme metal dans leur nom:
    find ~/Musique -iname "*metal*"
  • Rechercher des fichiers avi ou mp4 à partir du dossier Videos de l'utilisateur qui contiendrait le terme star dans leur nom:
    find ~/Videos -type f -iname "*star*.avi*" -or -iname "*star*.mp4*"
  • Rechercher tout les fichiers dans le dossier Images de l'utilisateur avec l'extension jpeg et les renommer en jpg:
    find ~/Images -type f -iname "*.jpeg" -exec bash -c 'mv "$0" "${0%.jpeg}.jpg"' {} \;
  • Rechercher tout les fichiers de sauvegarde dans le dossier Documents de l'utilisateur avec l'extension txt~ et les effacer:
    find ~/Documents -type f -iname "*.txt~" -exec rm -f {} \;

    NOTE: Gardez à l'esprit que la commande rm est définitive, donc veillez à sélectionner soigneusement les dossiers dans lesquels vous voulez effacer des fichiers ou des dossiers.

  • Remplacer tout les espaces contenus dans tout les fichiers et les dossiers à partir du dossier Documents de l'utilisateur par le caractère _:
    find ~/Documents -iname "* *" -exec bash -c 'mv "$0" "${0// /_}"' {} \;

Cet article est seulement un aperçu des possibilités de la commande find, et il vaut mieux se référer à la page du manuel pour en explorer toutes les subtilités.