Linux (Rappel sur les bases)

Rappel sur les basiques de Linux

Architecture

Mode d’exécution

  • Mode kernel
    • Le code du kernel s’exécute ici.
    • Mode sécurisé ayant accès à toutes les ressources de la machine.
    • Le kernel est un simple processus qui exécute chaque autre processus
      • Permet aux processus d’accéder aux services et composants du système.
  • Mode user
    • Tous les autres programmes qui n’ont pas besoin de s’exécuter dans le mode kernel fonctionnent ici
    • Aucun accès au hardware et au code du kernel
    • Ces programmes utilisent les librairies du système pour accéder aux fonctions du kernel.

Niveau d’exécution

Note : Le fichier /etc/inittab est pour les sytèmes utilisant System V, maintenant les nouvelles distributions Linux utilisent systemd et le fonctionnement est différent. (Voir article SystemV et SystemD

  • Runlevel

    • Détermine les services qui sont démarrés ou stoppés lors du démarrage du système.
    • Est défini dans /etc/inittab
  • Niveaux de runlevel

    • 0 = arrêt
    • 1 = single user text mode (utile pour le dépannage du système)
    • 2 = non utilisé (peut-être customisé)
    • 3 = Multi-user text mode (Un des plus utilisé)
    • 4 = non utilisé (peut être customisé)
    • 5 = multi-user graphical mode (Un des plus utilisé)
    • 6 = redémarrage

Stockages

Partitions

Types de partitions :

  • Primaire :
    • 4 maximum par disque
  • Etendue :
    • 1 seule possible par disque
    • Création d’un nombre quasiment illimité de “sous” partitions logiques

@TODO : voir LVM

Gestion des disques

Les systèmes de fichiers sont définis et montés dans le fichier /etc/fstab

https://n0tes.fr/2018/03/03/Les-disques-sous-Linux/

@TODO parted

Types de fichiers

https://n0tes.fr/2015/09/22/Types-fichiers-Linux/

Arborescence

Les répertoires courants d’un système Linux sont :

  • /bin = programmes utilisateurs
  • /boot = fichiers de démarrage
  • /dev = périphériques
  • /etc = fichiers de configuration
  • /home = répertoires personnels
  • /lib et /lib64 = librairies utilisées par les programmes
  • /media et /mnt = périphériques amovibles
  • /proc = informations système
  • /root = dossier personnel de l’utilisateur root
  • /sbin = programmes importants du système
  • /tmp = dossier temporaire
  • /usr = dossier d’installation de certains programmes
  • /var = données variables, logs

Plus de détails ici : https://n0tes.fr/2014/09/22/Arborescence-Linux/

Réseaux et sécurité

Fichiers de configuration réseau

• /etc/sysconfig/network-scripts/ifcfg-eth = configuration réseau pour chaque interface
• /etc/sysconfig/network = nom d’hôte
• /etc/hosts = liste de machines connues (utiles si pas de DNS)
• /etc/nsswitch = méthodes de recherche des noms
• /etc/resolv.conf = serveurs DNS

Permissions

https://n0tes.fr/2015/08/10/Les-droits-sous-Linux/

https://n0tes.fr/2015/08/11/ACL-Linux/

SELinux :

Authentification

Gestion de l’authentification sur un système Linux :

  • Authentification locale
    • /etc/passwd = contient les utilisateurs
    • /etc/group = contient les groupes d’utilisateurs
    • /etc/shadow = contient les mots de passe chiffrés
  • PAM (Pluggable Authentication Modules)
    • Suite de librairies qui décrit comment les applications authentifient les utilisateurs
    • Configuration dans /etc/pam.d
    • Généralement la configuration par défaut d’une application bénéficiant de PAM suffit
  • LDAP (Lightweight Directory Access Protocol)
    • Service d’annuaire stocké dans une base de données
    • Configuration dans /etc/openldap
  • NIS (Network Information Service)

Paquets et MAJ

https://n0tes.fr/2021/11/18/Differences-Debian-Redhat/

Services sourants

NFS : Network File System

  • Permet d’accéder à des fichiers stockés sur une machine distante à travers le réseau
  • Nécessite le paquet nfs-utils sur le serveur et les clients
  • Configuration serveur
    • /etc/exports
    • /var/nfs (permissions)
    • exportfs –a (actualiser les exports NFS)
  • Configuration client
    • /etc/fstab
    • mount –a

DHCP

  • Configuration serveur
  • /etc/dhcpd.conf
  • Configuration client
    • /etc/sysconfig/network-scripts/ifcfg-ethX
      • Ajouter BOOTPROTO=dhcp

Logs

  • CentOS
    • journalctl

Documentation

Formation Linux HPC (pdf)
https://www.redhat.com/fr/topics/linux/what-is-selinux
Manuel runlevel
Manuel innitab

> Partager <