Distributions Linux

"Linux c'est trop compliqué, c'est pour les pros"

(Dire qu'il y a des gens qui croient ça !)

Vous trouverez ici un cours complet sur Linux intitulé "Reprenez le contrôle à l'aide de Linux"

Il est important de maîtriser les commandes fondamentales des systèmes d'exploitation UNIX et Linux !

Vous trouverez ci-dessous les principales commandes de Linux :

  • cd : changer de répertoire

  • vi : éditeur système

  • df : afficher l'espace disponible

  • more : afficher un fichier page à page, (la touche x permet de passer une page)

  • grep : filtrer la sortie

  • chmod : changer les droits d'accès à un fichier, (chmod + x rendre un fichier exécutable)

  • chroot : changer le répertoire de travail en cours

  • mount : monter une partition ou un dossier distant

  • cp : copier de fichiers

  • find : rechercher de fichiers

  • man : afficher l'aide sur une commande

  • mkdir : créer un dossier

  • mv : déplacer un fichier

  • passwd : changer le mot de passe

  • ps : lister des process

  • pwd : afficher le chemin du dossier en cours

  • rm : détruire un fichier

  • adduser : ajouter un utilisateur

  • delluser : supprimer un utilisateur

  • wget : permet de télécharger un fichier

  • at : exécute une action à une heure définie

  • chgrp : change un fichier de groupe

  • chown : changement de propriétaire d'un fichier

  • date : affiche/modifie la date

  • diff : affiche la différence entre 2 fichiers

  • du : indique l'espace disque utilisé

  • ftp : transfert de fichiers

  • history : liste les dernières commandes utilisées

  • kill : arrêter un process

  • sh : appel d'un shell (interpréteur de commandes)

  • ln : crée un lien sur un fichier

  • ls : liste des fichiers

  • rmdir : détruit un dossier

  • set : afficher les variables d'environnement

  • sort : trie les ligne d'un fichier

  • tar : sauvegarde / compresse

  • w ou who ou whoami : liste les utilisateurs connectés au système

  • write : envoie un mesage à un utilisateur du système

APPRENDRE À UTILISER VI AVEC VIMTUTOR :

Vim est un éditeur de texte, c’est-à-dire un logiciel permettant la manipulation de fichiers texte. Il est directement inspiré de vi (un éditeur très répandu sur les systèmes d’exploitation de type UNIX), dont il est le clone le plus populaire. Son nom signifie d’ailleurs Vi IMproved, que l’on peut traduire par « VI aMélioré ».

Vimtutor est utile pour les personnes souhaitant apprendre leurs premières commandes Vim.

  • Installer Vim : apt-get install vim vim-common

  • Lancer Vim : vimtutor

Il faudra compter une demi-heure pour terminer ce tutoriel.

Vous trouverez également ici un tutoriel sur l'utilisation de Vi sous Linux.

Bien configurer son "sources.list" pour Debian 10 (Buster)

apt install curl wget apt-transport-https dirmngr

nano /etc/apt/sources.list

  • deb http://deb.debian.org/debian/ stable main contrib non-free

  • deb-src http://deb.debian.org/debian/ stable main contrib non-free

  • deb http://deb.debian.org/debian/ stable-updates main contrib non-free

  • deb-src http://deb.debian.org/debian/ stable-updates main contrib non-free

  • deb http://deb.debian.org/debian-security stable/updates main

  • deb-src http://deb.debian.org/debian-security stable/updates main

  • deb http://ftp.debian.org/debian buster-backports main

  • deb-src http://ftp.debian.org/debian buster-backports main

apt-get update

Définir un proxy pour apt sous Linux Debian

nano /etc/apt/apt.conf

Acquire::http::Proxy "http://192.168.1.98:3128";

apt-get update

GRUB « GRand Unified Bootloader » est un programme d'amorçage de micro-ordinateur. Il s'exécute à la mise sous tension de l'ordinateur, après les séquences de contrôle interne et avant le système d'exploitation proprement dit, puisque son rôle est justement d'en organiser le chargement. Lorsque l'ordinateur héberge plusieurs systèmes, il permet à l'utilisateur de choisir quel système démarrer.

Vous trouverez ci-dessous plusieurs tutoriels concernant le GRUB :

Debian est un système d'exploitation et une distribution de logiciels libres. Elle est développée et mise à jour grâce au travail de nombreux utilisateurs qui offrent leur temps et leurs efforts.

Vous trouverez ci-dessous la procédure pour réaliser la mise à jour de votre distribution Debian :

# apt update

# apt upgrade

# apt full-upgrade

Configurer une interface réseau sous Debian 9 (Stretch) ou Debian 10 (Buster)

# nano /etc/network/interfaces

    • # The loopback network interface

    • auto lo

    • iface lo inet loopback

    • # The primary network interface

    • allow-hotplug eth0

    • iface eth0 inet static

    • address 192.168.1.115

    • netmask 255.255.255.0

    • network 192.168.1.0

    • broadcast 192.168.1.255

    • gateway 192.168.1.100

    • dns-nameservers 8.8.8.8 8.8.4.4

Nous allons, pour terminer, définir les serveurs de noms de domaine (DNS)

# nano /etc/resolv.conf

    • nameserver 8.8.8.8

    • nameserver 8.8.4.4

Après l’édition de ces fichiers il faut redémarrer le réseau :

# service networking restart

# reboot (éventuellement)

Utiliser le compte root en SSH sous Debian 10

L’utilisation du compte root en SSH n’est pas autorisée sous Debian 10

Nous allons pour cela éditer le fichier « sshd_config » :

# nano /etc/ssh/sshd_config

    • # PermitRootLogin prohibit-password

    • PermitRootLogin yes

Une fois le fichier sauvegardé, redémarrer le service SSH

# /etc/init.d/ssh restart

L'installation du navigateur Google Chrome est très simple à réaliser sous Windows, la même opération sous Linux s’avère un peu plus complexe. La mise en place n’est pas automatique et nécessite quelques étapes en ligne de commande pour obtenir le navigateur Google Chrome.


  • Installer Google Chrome sur Linux OpenSUSE Leap 15 :

# zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome

# zypper ref

# wget https://dl.google.com/linux/linux_signing_key.pub

# rpm --import linux_signing_key.pub

# zypper install google-chrome-stable

Personnaliser le message de bienvenue sur Linux :

Vous pouvez personnaliser le message de bienvenue avant le login en modifiant le fichier /etc/issue et après le login en modifiant le fichier /etc/motd.

L'auto-complétion est un outil pour gagner en rapidité lorsque vous tapez des commandes dans un terminal ou une console. Il sera également un outil de sécurité indispensable pour rédiger des lignes de commande sans commettre d'erreur.

Modifier le fichier /etc/bash.bashrc et décommenter les lignes suivantes :

# enable bash completion in interactive shells

if ! shopt -oq posix; then

if [ -f /usr/share/bash-completion/bash_completion ]; then

. /usr/share/bash-completion/bash_completion

elif [ -f /etc/bash_completion ]; then

. /etc/bash_completion

fi

fi

Samba est un logiciel d'interopérabilité qui implémente le protocole propriétaire SMB/CIFS de Microsoft Windows dans les ordinateurs tournant sous le système d'exploitation Unix et ses dérivés de manière à partager des imprimantes et des fichiers dans un réseau informatique. Samba facilite l'interopérabilité entre systèmes hétérogènes Windows-Unix. Il offre la possibilité aux ordinateurs d'un réseau d'accéder aux imprimantes et aux fichiers des ordinateurs sous Unix et permettent aux serveurs Unix de se substituer à des serveurs Windows.

Avec la version 18.04 (Bionic) Ubuntu est passé à Netplan pour la configuration des interfaces réseau. C'est un système de configuration basé sur YAML, qui simplifie le processus de configuration.

Ce nouvel outil remplace le fichier de configuration (/etc/network/interfaces) qui avait été précédemment utilisé pour configurer les interfaces réseau sur Ubuntu.

Les fichiers de configuration se trouvent maintenant sous la forme de fichiers YAML à l'emplacement /etc/netplan/*.yaml.

Fail2ban est un framework de prévention contre les intrusions dont l'objectif est de bloquer les adresses IP inconnues qui tentent de pénétrer dans votre système. Ce logiciel est recommandé, même essentiel, pour se prémunir contre toute attaque brutale contre vos services.

Vous trouverez toutes les informations sur Fail2ban à l'adresse : https://www.fail2ban.org


Clam AntiVirus est une boite à outils anti-virus pour Unix. Le principal but de ce logiciel est l'intégration avec des serveurs de courriels pour analyser les pièces jointes. Le paquet « clamav-daemon » fournit un démon flexible, extensible et multiprocessus, « clamav » fournit l'analyseur en ligne de commande et « clamav-freshclam » fournit un outil pour les mises à jour automatiques par Internet. Les programmes sont basés sur libclamav, qui peut être utilisé par d'autres logiciels.

Vous trouverez toutes les informations sur Clamav à l'adresse : https://www.clamav.net/

Ajouter des dépôts supplémentaires sur CentOS 8 :

  • Activer le dépôt Extras :

dnf config-manager --set-enabled extras

  • Activer le dépôt PowerTools :

dnf config-manager --set-enabled PowerTools

  • Installer le dépôt EPEL 8 (Extra Packages for Enterprise Linux ) :

dnf install epel-release

  • Installer le dépôt RPM Fusion 8 free :

dnf install --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm

  • Installer le dépôt RPM Fusion 8 non free :

dnf install --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

MEMO des commandes du pare-feu FIREWALLD :

  • Voir l'état de fonctionnement du pare-feu : firewall-cmd --state

  • Obtenir la liste des zones supportées : firewall-cmd --get-zones

  • Obtenir la liste des services supportés : firewall-cmd --get-services

  • Lister ce qui est activé sur toutes les zones : firewall-cmd --list-all-zones

  • Voir ce qui est activé sur la zone 'public' : firewall-cmd --zone=public --list-all

  • Lister les services actifs de la zone 'public' : firewall-cmd --zone=public --list-services

  • Voir la zone par défaut pour les connexions réseau : firewall-cmd --get-default-zone

  • Définir la zone par défaut à 'public' : firewall-cmd --set-default-zone=public

  • Lister les zones actives : firewall-cmd --get-active-zones

  • Ouvrir le port 8080 (tcp) à la zone 'public' : firewall-cmd --zone=public --add-port=8080/tcp --permanent

  • Fermer le port 8080 (tcp) pour la zone 'public' : firewall-cmd --zone=public --remove-port=8080/tcp

  • Ouvrir le service http pour la zone 'public' : firewall-cmd --zone=public --add-service=http

  • Fermer le service http pour la zone 'public' : firewall-cmd --zone=public --remove-service=http

  • Vérifier si le service http est actif pour la zone 'public' : firewall-cmd --zone=public --query-service=http

  • Recharger la configuration : firewall-cmd --reload

L'espace swap sur Linux est utilisé lorsque la mémoire physique (RAM) est pleine. Si le système a besoin de plus de ressources mémoire et que la mémoire RAM est pleine, les pages mémoire inactives sont alors déplacées vers l'espace swap. Même si l'espace swap peut aider les ordinateurs avec une plus petite quantité de RAM, celui-ci ne doit pas être considéré comme un remplacement pour plus de RAM. L'espace swap se trouve sur les disques durs, dont le temps d'accès est plus lent que pour la mémoire physique. L'espace swap peut représenter une partition swap exclusive ou un fichier swap.