LINUX - Administration - FEDORA 33 SERVER OLIVIER D 2021 - Windows
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Table des matières 1 Linux fedora 33 Server : Administration du système ................................................................................... 2 1.1 Introduction ....................................................................................................................................... 2 1.2 Installation ......................................................................................................................................... 3 1.3 L’aide ................................................................................................................................................. 4 1.4 La console web Cockpit ...................................................................................................................... 4 1.5 Gestion des paquets........................................................................................................................... 5 1.6 Démarrage et arrêt du système.......................................................................................................... 7 1.7 Gestion des utilisateurs ...................................................................................................................... 8 Commandes utilisateurs / groupes .............................................................................................................. 8 1.8 Gestion des disques ........................................................................................................................... 9 1.9 Gestion de la mémoire et des ressources système ........................................................................... 11
1 Linux fedora 33 Server : Administration du système Fedora est un système d’exploitation sponsorisé par l’entreprise Red Had. Red Hat étant très utilisé en entreprise mais non accessible gratuitement, il est pratique de voir l’administration sur ce système d’exploitation. 1.1 Introduction Légendes vivantes (et décédée) de l’histoire de Linux Quelques dates à retenir • 1969 : Ken Thompson développe Multics qui donnera ensuite naissance à Unix • 1970 : Il travaille avec Dennis Ritchie (inventeur du Langage C) • 1973 : Unix est écrit en C. Cela permet la portabilité (juste besoin d’un compilateur) ainsi que la mise en place d’outils adaptables sur plusieurs plates-formes • 1976 : Diffusion de Unix . BSD et AT&T améliorent le produit • 1984 : Richard Stallman crée le projet GNU (pour récupérer les sources et les diffuser) • 1989 : Création de la licence GPL qui définit des règles d’utilisation de logiciels libres (≠ gratuit) o Freeware : logiciel gratuit + copyright o Open-Source : sources accessibles pour la compilation (binaire payant) o GNU / GPL : sources + modification + distribution (≠ gratuit) (équivalent français : CeCILL) • 1991 : Linus Toswald développe le noyau pour GNU (essor de Linux grâce à Internet) Caractéristiques Linux • Multitâches : exécuter plusieurs processus en même temps. Ordonnanceur : PID CPU • Multiprocesseurs • Multi-utilisateurs : UID (identifiant utilisateur) + GID (groupe utilisateur) • Multi plateforme : Intel, AMD, ARM … • Système de fichiers : Ext2, Ext3, NTFS, FAT … • Mémoire : Swap, support 64Go PAE • Réseau : tous les standards • Standards : POSIX (dont bases de données) Distributions Noyau Linux + Logiciels libres (open source + GPL) + Programmes commerciaux (flash + drivers tiers) + Manuels d’utilisation Distributions orientées entreprise : • Red Hat : payant + Open Source • CentOS : gratuit + GPL • Fedora : version grand public de Red Hat
1.2 Installation Gestion du matériel • Récupération des infos matérielles dans le gestionnaire de périphériques Windows • Tester avec une VM (par exemple sous VMWare) • Le « rescue mode » de Red Hat remplace le LiveCD Recommandations • Version Serveur : minimum : 20Go disque, 2 Go RAM Gestion du disque dur La taille des partitions dépend de l’utilisation qu’on a du serveur. Dans mon cas, il s’agit d’un serveur d’applications qui stockera beaucoup de données sur /var et pouvant être utilisée par le client si besoin. Utilisation de LVM Mise en place des partitions LVM à l’installation de Fedora Type Name Size Disk FS mount point Contient partition 512M sda1 ext4 /boot volume group vg-system Noyau + GRUB partition lv-root 8G sda1 ext4 / partition lv-usr 8G sda1 ext4 /usr partition lv-tmp 2G sda1 ext4 /tmp Données temporaires partition lv-home 1,5G sda1 ext4 /home Données personnelles partition lv-swap 1G sda1 swap swap partition lv-var 30G sda2 ext4 /var Données variables (www…) Tableau récapitulatif – il est possible d’ajouter d’autres répertoires perso (type /data) Linux rescue • Montage de / dans /mnt/sysimage Pas de mot de passe root (aucune sécurité) chroot /mnt/sysimage : accès à toutes les commandes Booter sur le DVD d’installation puis exécuter linux rescue au moment du boot
1.3 L’aide --help : afficher l’aide d’une commande. Exemple : cat --help) man : afficher la page de manuel d’une commande. Exemple : man ps) man -k : affiche de l’aide sur une commande Sections de man • 1 Commandes utilisateur • 2 Appels système • 3 Bibliothèques de fonctions • 4 Pilotes et protocoles réseau • 5 Format de fichier • 6 Jeux • 7 Divers • 8 Commandes administrateur • 9 Appels noyau Linux man -s5 passwd : affiche la page de man du fichier passwd /usr/share/doc : emplacement de documents décrivant les paquets installés (contient des fichiers README) Aide sur internet : linuxfr, lea linux, howtoforge, framasoft, etc. et évidemment wikipedia 1.4 La console web Cockpit Au démarrage de la machine, il est possible de se connecter à l’interface web cockpit Celle-ci offre des fonctionnalités intéressantes comme l’affichage des journaux, la gestion des disques, un moniteur des ressources, la gestion des paquets, un terminal de commande et autres. Pour avoir le lien vers cette console, lorsque vous démarrez le serveur, le lien est affiché : Information d’accès à la console web La console web Cockpit D’une manière générale, que ce soit sous fedora ou tout autre système d’exploitation, j’installe systématiquement cockpit. Exemple sous SUSE : # zypper refresh # zypper addrepo https://download.opensuse.org/repositories/home:MMoese:branches:systemsmanagement:cockpit/open SUSE_Leap_15.1/home:MMoese:branches:systemsmanagement:cockpit.repo # zypper refresh # zypper install cockpit # systemctl enable --now cockpit.socket # firewall-cmd --add-service=cockpit --permanent
# firewall-cmd --reload 1.5 Gestion des paquets Il existe deux types d’installations de paquets : • Installation à partir des sources (fichiers .tar.gz) • Installation à partir des paquets d’installation : OS Paquets Commande Fedora, Red Hat .rpm yum Debian, Ubuntu .deb apt-get SUSE .deb zypper Installation à partir des sources (.tar.gz) Avantages : • Liberté d’adaptation • Indépendant des distributions Inconvénients : • Compilation (+complexe) • Manuel • Gestion des dépendances • Non-gestion des mises à jour • Besoin d’outils de développement (gcc) Marche à suivre : 1. Décompresser : tar : se placer dans le répertoire de décompression avant 2. Consulter la notice : less README ou less INSTALL 3. Configurer l’installation : ./configure : génère un fichier Makefile 4. Installer (étape 1) : make : compilation (utilise le fichier Makefile pour créer les binaires et fichiers) 5. Installer (étape 2) : make install : copie les fichiers dans système (il faut être root) Installation à partir des paquets d’installation (.rpm / .deb) Avantages : • Automatisation • Outils de recherche • Gestion des mises à jour Inconvénients : • Une seule version du logiciel (pas vrai : apt-get install paquet=version) • Moins adaptable • Lié à la distribution et à l’architecture Marche à suivre sous Fedora / Red Hat : rpm -ivh : installer le package (options : i = install, v = verbose, h = progression -U : installation ou mise à jour -F : mise à jour seulement -e : suppression (ne pas indiquer .rpm) Si paquet déjà installé : rpm –qi : infos du paquet rpm –ql : liste des fichiers rpm –qf : renvoie le paquet qui a installé le fichier Si paquet pas encore installé : rpm –qpi : infos du paquet rpm –qpl : liste fichiers (permet de trouver les dépendances)
Script de recherche de dépendances : Script dependances.sh (à exécuter en se positionnant dans le dossier des .rpm) chmod a+x dependances.sh : rendre le script exécutable Exécution : ./dependances.sh (le nom du fichier sera passé en $1 dans le script) #!/bin/bash for fichier in *.rpm do rpm –qpl $fichier 2>/dev/null | grep $1 && echo "$1 dans $fichier" done Installation automatique des dépendances yum install : installe le package yum remove : supprime le package ainsi que les packages dépendant de nom_du_package yum search : recherche les packages contenant le mot clé (non sensible à la casse) yum update : met à jour le package yum list --all : liste tous les packages présents dans la base RPMDB yum check-update : vérifie les mises à jour yum update : met à jour Configuration /etc/yum.conf : fichier contenant les paramètres, proxy et chemin des depots Gestion des dépôts : /etc/yum.repo.d/CentOS-Base.repo : dépots internet (0 pour les désactiver) /etc/yum.repo.d/CentOS-Media.repo : dépots DVD (1 + mise à jour du chemin du DVD pour les activer)
1.6 Démarrage et arrêt du système Amorçage Le MBR est le premier secteur de démarrage – il fait 512 o. dd if=/dev/sda of=/root/sauv-mbr bs=512 count=1 : sauvegarde du MBR dd if=/root/sauv-mbr of=/dev/sda bs=512 count=1 : restauration du MBR (en mode Linux Rescue) Gestionnaires d’amorçage : • Lilo : /etc/lilo.conf • Grub : /boot/grub/grub.conf pointe vers /etc/grub.conf, /boot/grub/menu.lst • Grub2 : / grub-pc : pour Ubuntu (configuration différente) Réinstallation du Grub (après une install de Windows par exemple) linux rescue puis chroot /mnt/sysimage grub-install /dev/sda : réinstalle le grub (en mode rescue) - pas sûr à 100% Autre méthode : Passer en mode grub puis grub> root (hd0,0) grub> setup (hd0) Initialisation du système Init a été remplacé par systemd. Systemd est un gestionnaire de daemon (les « services ») généralement reconnaissables car leur nom se termine par d. systemd est le premier process exécuté sur la machine. Il porte le PID 1. • /sbin/init (systemd) ne s'occupe que de l'init ; • journalctl ne s'occupe que de consulter le journal ; • udev s'occupe de découvrir les périphériques et peupler /dev ; • hostnamectl s'occupe de la gestion du nom d'hôte (hostname) de la machine ; • machinectl s'occupe de la gestion des conteneurs lancés par systemd ; • coredumpctl s'occupe des vidanges système (core dump) ; • systemd-analyze s'occupe d'inspecter la vitesse du démarrage ; • systemctl permet de gérer les services. systemctl list-units : lister les services actifs systemctl start | stop | restart NetworkManager.service : démarre [ arête | redémarre le service systemctl status NetworkManager.service : affiche le status détaillé du service shutdown time : éteindre / redémarrer
1.7 Gestion des utilisateurs Un utilisateur est composé : • D’un UID : ID utilisateur • D’un GID : groupe principal • De groupes secondaires Il y a besoin d’un Login et de son mot de passe pour ouvrir une session (locale | distante : ssh, nfs …) Hiérarchie • Root (UID = 0) : C’est le n° UID / GID qui est important, pas le nom • Services (UID = 1 à 499) : fonctionnement services – pas de shell interactif • Utilisateurs (UID ≥ 500) : shell interactif Changement d’identité su bob : prendre l’identité su – bob : prendre l’identité + les variables (PATH, HOME …) sudo : exécuter la commande avec les droits root Fichier /etc/sudoers : configuration des droits sudo (édition du fichier avec la commande visudo) Informations Logname ou whoami : utilisateur terminal qui a ouvert la session id : appartenance de groupes détaillés Fichiers de configuration • /etc/passwd : gestion des comptes utilisateurs (edition avec vipw) • /etc/shadow : mots de passe + validité (passwd pour changer le mot de passe de l’utilisateur actuel) • /etc/group : gestion des groupes (edition avec vigr) Commandes utilisateurs / groupes Commande Utilisateur Groupe Ajouter useradd login groupadd groupe1,groupe2 Modifier usermod groupmod Supprimer userdel groupdel Options de création Fichier /etc/default/useradd : options par défaut de la commande useradd Dossier /etc/skel/ : fichiers par défauts dans $HOME des utilisateurs créés useradd -d /home2/toto -m toto -g : groupe principal, -G : groupes secondaires -s /bin/bash : shell ou -s /bin/false : pas de shell (donc pas d’ouverture de session) Créer un utilisateur useradd -d /home/toto -m -g utils -G groupe1,groupe2 –s /bin/bash toto ou useradd toto : utilise les paramètres de /etc/default/useradd. useradd –D : affiche les options par défaut puis passwd toto : définit le mot de passe de toto et modifie le fichier /etc/shadow -l : lock = verrouille le compte, -u : unlock = déverrouille le compte, -S : status du compte Le fichier /etc/login.defs : contient les paramètres par défaut des mots de passe
1.8 Gestion des disques Le répertoire /dev/ contient la liste des périphériques Dans Linux, tout est fichier. Cependant, il y a de nombreux types de fichiers : • Les fichiers pointant vers un périphérique de type bloc (dont les disques) • Les fichiers pointant vers un périphérique de type caractère (dont les terminaux tty) Type Chemin Disques IDE /dev/hd[a-d] Disques SCSI / SATA / USB /dev/sd[a-zz] Disquettes /dev/fd[0-7] DVD IDE /dev/hd[a-d] DVD SCSI /dev/scd[0-7] La commande fdisk pour agir sur les partitions fdisk -l : liste les partitions. En LVM, il vaut mieux utiliser lsblk fdisk /dev/sda : agir sur les partitions du disque /dev/sda Dans fdisk • m : liste des commandes • w : écrire • n : nouvelle partition • q : quitter fdisk • p : lister les partitions • t : changer le tag puis L pour lister Lecteurs virtuels (.iso) Les lecteurs virtuels sont nommés /dev/loop[0-7] dd if=/dev/hdc of=/root/boot-rso.iso : créer un fichier .iso mount -o loop /root/boot-rso.iso /mnt : monter un fichier .iso LVM La taille de la partition dépend du groupe, pas des disques physiques. Redimentionnement d’une partition LVM sous Red Hat / Fedora pvcreate : initialise un disque ou une partition pour utiliser LVM dessus vgcreate / vgextend : crée / étend un nouveau groupe de volume lvcreate / lvextend : crée / étend un nouveau volume logique
Systèmes de fichiers (FS) Les fichiers L'arborescence Nom Libellé Chemin Libellé - fichier /bin binaires (commandes) d répertoire /sbin binaires système ou root l lien symbolique /dev gestion du matériel b type bloc (disques ...) /boot noyau c type caractère (tty ...) /etc configuration du système p pipe /var fichiers variables (www, mails, spool) s socket /usr copie du contenu du DVD de la distibution Concepts des file systems (FS) Unix Créer un FS revient à créer une structure de blocs • Superbloc : 1er bloc : contient les infos sur le FS. Recopie tous les 8 ou 16Mo • Inode : infos sur les données • Blocs de données : données elles-mêmes (fichiers type d contiennent le nom des fichiers) • Bloc d’indirection : donne les numéros de blocs pour les blocs suivants Création des FS (1ère étape) man -k ext3 mkfs -t ext4 /dev/sdb2 : formater une partition en ext4 . -j journalisation tune2fs -O extents,uninit_bg,dir_index /dev/sda6 : transforme la partition /dev/sda6 de ext3 vers ext4 e2fsck -fDC0 /dev/sda6 : vérifier la partition (à faire après un tune2fs) resize2fr : redimentionner une partition Il faut ensuite monter la partition pour qu’elle soit accessible au boot Montage – La commande mount (2ème étape) mount : commande de base mount /dev/sdb1 /home/perso/disque : le répertoire /home/perso/disque doit exister (et être vide) mount : liste des montages -t ntfs|cifs : choisir le type en NTFS/CIFS pour les partages windows -o ro | loop : autre option : lecture seule |montage d’un loop Démonter umount /home/perso/disque : démonter montage de /home/perso/disque umount -f /media/data : coupe directement le partage même si quelqu’un est connecté dessus fuser –vm /media/data : liste les utilisateur connectés à /media/data Montage au démarrage Modifier le fichier /etc/fstab puis mount -a pour monter les lecteurs de fstab (pour vérifier que le fichier /etc/fstab est correctement renseigné) Périphérique point de montage Type de fs Options Dump Ordre fsck /dev/sda1 / ext3 default 1 1 LABEL=CentOS /media/centos iso9660 ro 0 2 /dev/sdb2 /data cifs noauto 0 2 noauto : permet à un utilisateur non root de faire un mount /data Le fichier /etc/auto.master liste les montages et permet de faire de l’automontage avec autofs
1.9 Gestion de la mémoire et des ressources système La SWAP sert lorsque le système est chargé Swap sur partition • mkswap /dev/sdb5 : créer le swap (étape 1) • swapon /dev/sdb5 : activer le swap (étape 2) • swapon -s : liste les swap • swapoff /dev/sdb5 : désactiver le swap Swap sur fichier dd if=/dev/zero of=/swapfile bs=512 count=1024 : crée un fichier vide de 512Mo swapon /swapfile : active le swap pour ce fichier Gestion des processus Le premier processus est le processus systemd (PID = 1) Les daemons sont des processus qui s’exécutent en tache de fond (exemple : crond, httpd …) Priorité des processus Seul root peut mettre des priorités négatives (très prioritaires) nice –n5 : démarrer une commande avec un niveau de +5 renice : modifier la priorité d’un PID existant Etats des processus Z (zombi) : cas d’un processus dont le parent est killé. Il existe mais n’agit plus
Vous pouvez aussi lire