Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
elearning:workbooks:debian:10:junior:l106 [2022/04/29 16:11] – created adminelearning:workbooks:debian:10:junior:l106 [2024/03/08 08:28] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
 +
 +Version : **2024.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======LDF301 - Gestion des Paramètres du matériel et les Ressources======+======LDF501 - Gestion des Utilisateurs======
  
 =====Contenu du Module===== =====Contenu du Module=====
  
-  * **LDF301 - Gestion des Paramètres et les Ressources du Matériel**+  * **LDF501 - Gestion des Utilisateurs**
     * Contenu du Module     * Contenu du Module
-    * Fichiers Spéciaux +    * Présentation 
 +      * /etc/nsswitch.conf 
 +      * Interrogation des Bases de Données 
 +      * Les Fichiers /etc/group et /etc/gshadow 
 +      * Les Fichiers /etc/passwd et /etc/shadow
     * Commandes     * Commandes
-      * La Commande lspci +      * Groupes 
-      * La Commande lsusb +        * groupadd 
-      * La Commande dmidecode +        * groupdel 
-    * Répertoire /proc +        * groupmod 
-      * Répertoires +        * newgrp 
-        * ide/scsi +        * gpasswd 
-        * acpi +      * Utilisateurs 
-        * bus +        * useradd 
-        * net +        * userdel 
-        * sys +        * usermod 
-        * La Commande sysctl +        * passwd 
-      * Fichiers +        * chage 
-        * Processeur +    Configuration 
-        * Interruptions système +    LAB #1 - Gérer les Utilisateurs et les Groupes 
-        * Canaux DMA +    * LAB #2 - Forcer l'utilisation des mots de passe complexe avec PAM 
-        * Plages d'entrée/sortie +      2.1 - Présentation de PAM 
-        * Périphériques +      * 2.2 - Configuration des modules 
-        Modules +      2.3 - Utiliser des Mots de Passe Complexe 
-        Statistiques de l'utilisation des disques +    * LAB #3 - su et su - 
-        * Partitions +    * LAB #sudo
-        * Espaces de pagination +
-        Statistiques d'utilisation du processeur +
-        * Statistiques d'utilisation de la mémoire +
-        * Version du noyau +
-      * Interprétation des informations dans /proc +
-        Commandes +
-          * free +
-          * uptime ou w  +
-          * iostat +
-          * vmstat +
-          * mpstat +
-          * sar +
-          * Utilisation des commandes en production +
-            * Identifier un système limité par le processeur +
-            * Identifier un système ayant un problème de mémoire +
-            * Identifier un système ayant un problème d'E/S +
-    * Modules usb +
-    * udev +
-      * La Commande udevadm +
-    * Système de fichiers /sys +
-    * Limiter les Ressources +
-      * ulimit +
-      * Groupes de Contrôle +
-        * LAB #Travailler avec les cgroups sous Debian 8+
  
-=====Fichiers Spéciaux=====+=====Présentation=====
  
- +<WRAP center round todo
-Dans l'ordinateur les périphériques sont reliés à un **contrôleur** qui communique avec le processeur à l'aide d'un **bus**. Le contrôleur ainsi que les périphériques nécessitent des pilotes. Sous Linux, les pilotes sont généralement fournis sous la forme d'un **module**. Chaque périphérique est représenté par un **fichier spécial** dans le répertoire **/dev** et c'est dans ce fichier que le système trouve les informations nécessaires pour s'adresser au pilote. +**A faire** : Afin de mettre en pratique les exemples dans ce cours, vous devez vous connecter à votre système en tant que root grâce à la commande **su -** et le mot de passe **fenestros**.
- +
-<WRAP center round important+
-**Important** : Les périphériques qui nécessitent à ce que l'ordinateur soit éteint afin des les brancher/débrancher sont appelés communément **Cold Plug Devices**. Les périphériques qui peuvent être brancher/débrancher à chaud sont appelés des **Hot Plug Devices**.+
 </WRAP> </WRAP>
  
-Consultez le contenu du répertoire /dev :+La bonne gestion des utilisateurs passe par une bonne stratégie de groupes. En effet, chaque utilisateur est affecté à un groupe **principal** mais il peut aussi être membre d'un ou de plusieurs groupes secondaires.
  
-<code> +Comme dans d'autres systèmes d'exploitationsous Linux il est préférable de donner les droits d'accès aux groupes et non aux utilisateurs individuels.
-root@debian8:~# ls -l /dev | more +
-total 0 +
-crw-------  1 root    root     10235 Nov  1 08:39 autofs +
-drwxr-xr-x  2 root    root         140 Nov  1 08:39 block +
-drwxr-xr-x  2 root    root          80 Nov  1 08:39 bsg +
-crw-------  1 root    root     10, 234 Nov  1 08:39 btrfs-control +
-drwxr-xr-x  3 root    root          60 Nov  1 08:39 bus +
-lrwxrwxrwx  1 root    root           3 Nov  1 08:39 cdrom -> sr0 +
-drwxr-xr-x  2 root    root        2780 Nov  1 13:35 char +
-crw-------  1 root    root      5,   1 Nov  1 08:39 console +
-lrwxrwxrwx  1 root    root          11 Nov  1 08:39 core -> /proc/kcore +
-drwxr-xr-x  2 root    root          60 Nov  1 08:39 cpu +
-crw-------  1 root    root     10,  62 Nov  1 08:39 cpu_dma_latency +
-crw-rw-rw-  1 root    root     10, 203 Nov  1 08:39 cuse +
-drwxr-xr-x  4 root    root          80 Nov  1 08:39 disk +
-drwxr-xr-x  2 root    root          60 Nov  1 08:39 dri +
-lrwxrwxrwx  1 root    root           3 Nov  1 08:39 dvd -> sr0 +
-lrwxrwxrwx  1 root    root          13 Nov  1 08:39 fd -> /proc/self/fd +
-crw-rw-rw-  1 root    root      1,   7 Nov  1 08:39 full +
-crw-rw-rw-  1 root    root     10, 229 Nov  1 08:39 fuse +
-crw-------  1 root    root    251,   0 Nov  1 13:35 hidraw0 +
-crw-------  1 root    root     10, 228 Nov  1 08:39 hpet +
-drwxr-xr-x  2 root    root           0 Nov  1 08:39 hugepages +
-lrwxrwxrwx  1 root    root          25 Nov  1 08:39 initctl -> /run/systemd/initctl/fifo +
-drwxr-xr-x  4 root    root         340 Nov  1 13:35 input +
-crw-r--r--  1 root    root      1,  11 Nov  1 08:39 kmsg +
-lrwxrwxrwx  1 root    root          28 Nov  1 08:39 log -> /run/systemd/journal/dev-log +
-crw-rw----  1 root    disk     10, 237 Nov  1 08:39 loop-control +
-drwxr-xr-x  2 root    root          60 Nov  1 08:39 mapper +
-crw-------  1 root    root     10, 227 Nov  1 08:39 mcelog +
-crw-r-----  1 root    kmem      1,   1 Nov  1 08:39 mem +
-drwxrwxrwt  2 root    root          40 Nov  1 08:39 mqueue +
---More-- +
-</code>+
  
-On peut noter dans la sortie de la commande que certains fichiers sont de type **bloc** (**b**), tandis que d'autre sont de type **caractère** (**c**). +Les bases de données utilisées pour stocker les informations des utilisateurs et des groupes sont stipulées dans le fichier **/etc/nsswitch.conf**. Dans notre cas les entrées passwd, shadow et group indique le mot clef **files**. Ceci indique l'utilisation des fichiers suivants en tant que base de données :
  
-<code> +  * **/etc/passwd**, 
-... +  * **/etc/shadow**
-brw-rw----  1 root    disk      8  1 Nov  1 08:39 sda1 +  * **/etc/group**.
-... +
-crw-rw-rw-  1 root    tty       5,   0 Nov  1 08:39 tty +
-... +
-</code>+
  
-La différence entre les deux repose sur le type de communication entre le système et le module. Dans le premier cas le système accède au périphérique par des coordonnées du bloc de données sur le support tandis que dans le deuxième cas la communication d'échange de données se fait octet par octet sans utiliser des tampons. +====/etc/nsswitch.conf====
- +
-Les deux informations clefs du fichier spécial sont situées à la place de la taille d'un fichier normal et se nomment le **majeur** et le **mineur** : +
- +
-  * le **majeur** identifie le pilote du périphérique et donc son contrôleur, +
-  * le **mineur** identifie le périphérique ou une particularité du périphérique telle une partition d'un disque. +
- +
-=====Commandes===== +
- +
-====La Commande lspci==== +
- +
-Cette commande vous renseigne sur les adaptateurs reliés aux bus PCI, AGP et PCI express :+
  
 <code> <code>
-root@debian8:~# lspci +root@debian11:~# cat /etc/nsswitch.conf 
-00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) +/etc/nsswitch.conf 
-00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] +# 
-00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) +# Example configuration of GNU Name Service Switch functionality
-00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter +# If you have the `glibc-doc-reference' and `infopackages installed, try
-00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02) +# `info libc "Name Service Switch"' for information about this file.
-00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service +
-00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01) +
-00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB +
-00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08) +
-00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02) +
-</code>+
  
-Pour obtenir de l'information sur un adaptateur spécifique, il convient d'utiliser la même commande avec l'option **-v** en spécifiant l'identifiant concerné :+passwd        files systemd 
 +group:          files systemd 
 +shadow:         files 
 +gshadow:        files
  
-<code> +hosts         files mdns4_minimal [NOTFOUND=returndns 
-root@debian8:~# lspci -v -s 00:03.0 +networks      files
-00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02) +
- Subsystem: Intel Corporation PRO/1000 MT Desktop Adapter +
- Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 10 +
- Memory at f0000000 (32-bit, non-prefetchable) [size=128K+
- I/O ports at d010 [size=8] +
- Capabilities[dc] Power Management version 2 +
- Capabilities: [e4] PCI-X non-bridge device +
- Kernel driver in use: e1000 +
-</code>+
  
-ou :+protocols     db files 
 +services:       db files 
 +ethers:         db files 
 +rpc:            db files
  
-<code> +netgroup      nis
-root@debian8:~# lspci -vv -s 00:03.0 +
-00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02) +
- Subsystem: Intel Corporation PRO/1000 MT Desktop Adapter +
- Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- +
- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- +
- Latency: 64 (63750ns min) +
- Interrupt: pin A routed to IRQ 10 +
- Region 0: Memory at f0000000 (32-bit, non-prefetchable) [size=128K] +
- Region 2: I/O ports at d010 [size=8] +
- Capabilities: [dc] Power Management version 2 +
- Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) +
- Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- +
- Capabilities: [e4] PCI-X non-bridge device +
- Command: DPERE- ERO+ RBC=512 OST=1 +
- Status: Dev=ff:1f.0 64bit- 133MHz- SCD- USC- DC=simple DMMRBC=2048 DMOST=1 DMCRS=8 RSCEM- 266MHz- 533MHz- +
- Kernel driver in use: e1000+
 </code> </code>
  
-===Options de la commande===+Pour les entrées **passwd**, **group**, **shadow** et **gshadow** :
  
-Les options de cette commande sont :+  * **files** implique l'utilisation des fichiers locaux dans le répertoire **/etc**, 
 +  * **systemd** implique l'utilisation du plugin **nss-systemd** de la fonctionalité **Name Service Switch** (NSS) de la bibliothèque **GNU C Library** (glibc).
  
-<code> +Il est aussi possible de trouver une autre valeur pour ces entrées :
-root@debian8:~# lspci --help +
-lspci: invalid option -- '-' +
-Usage: lspci [<switches>]+
  
-Basic display modes: +  * **sss** implique l'utilisation du **System Security Services Daemon** (SSSD).  
--mm Produce machine-readable output (single -m for an obsolete format+    * SSSD trouve ses origines dans le projet opensource **FreeIPA** (Identity, Policy and Auditet offre aux réseaux Linux/Unix des fonctionalités similaires à celles fournies aux réseaux Windows(tm) par les Microsoft Active Directory Domain Services,  
--t Show bus tree+    * Pour plus d'informations, consultez **[[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system-level_authentication_guide/configuring_services|cette page]]**.
  
-Display options: +====Interrogation des Bases de Données====
--v Be verbose (-vv for very verbose) +
--k Show kernel drivers handling each device +
--x Show hex-dump of the standard part of the config space +
--xxx Show hex-dump of the whole config space (dangerous; root only) +
--xxxx Show hex-dump of the 4096-byte extended config space (root only) +
--b Bus-centric view (addresses and IRQ's as seen by the bus) +
--D Always show domain numbers+
  
-Resolving of device ID's to names: +La commande **getent** est utilisée pour interroger les bases de données. Elle prend la forme suivante :
--n Show numeric ID's +
--nn Show both textual and numeric ID's (names & numbers) +
--q Query the PCI ID database for unknown ID's via DNS +
--qq As above, but re-query locally cached entries +
--Q Query the PCI ID database for all ID's via DNS+
  
-Selection of devices: +  getent base-de-données clef
--s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]] Show only devices in selected slots +
--d [<vendor>]:[<device>] Show only devices with specified ID's+
  
-Other options: +Par exemple pour rechercher l'utilisateur dans la base de données des utilisateurs, il convient d'utiliser la commande suivante :
--i <file> Use specified ID database instead of /usr/share/misc/pci.ids.gz +
--p <file> Look up kernel modules in a given file instead of default modules.pcimap +
--M Enable `bus mappingmode (dangerous; root only)+
  
-PCI access options: +<code
--A <method> Use the specified PCI access method (see `-A help' for a list) +root@debian11:~# getent passwd trainee 
--O <par>=<val> Set PCI access parameter (see `-O help' for a list) +trainee:x:1000:1000:trainee,,,:/home/trainee:/bin/bash
--G Enable PCI access debugging +
--H <mode> Use direct hardware access (<mode> = 1 or 2) +
--F <file> Read PCI configuration dump from a given file+
 </code> </code>
  
-====La Commande lsusb==== +Pour rechercher quels utilisateurs appartiennent à quels groupes, il convient d'utiliser la commande suivante :
- +
-Cette commande vous renseigne sur les adaptateurs reliés au bus usb :+
  
 <code> <code>
-root@debian8:~# lsusb +root@debian11:~# getent group mail 
-Bus 001 Device 004ID 80ee:0021 VirtualBox USB Tablet +mail:x:8:
-Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub +
- +
-root@debian8:~# lsusb -vt +
-/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/8p, 12M +
-    |__ Port 1Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M+
 </code> </code>
  
-===Options de la commande=== +L'utilisation de la commande getent sans spécifier une clef imprime à l'écran le contenu de la base de données :
- +
-Les options de cette commande sont :+
  
 <code> <code>
-root@debian8:~# lsusb --help +root@debian11:~# getent passwd 
-Usagelsusb [options]... +root:x:0:0:root:/root:/bin/bash 
-List USB devices +daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin 
-  -v, --verbose +bin:x:2:2:bin:/bin:/usr/sbin/nologin 
-      Increase verbosity (show descriptors+sys:x:3:3:sys:/dev:/usr/sbin/nologin 
-  -s [[bus]:][devnum] +sync:x:4:65534:sync:/bin:/bin/sync 
-      Show only devices with specified device and/or +games:x:5:60:games:/usr/games:/usr/sbin/nologin 
-      bus numbers (in decimal) +man:x:6:12:man:/var/cache/man:/usr/sbin/nologin 
-  -d vendor:[product] +lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin 
-      Show only devices with the specified vendor and +mail:x:8:8:mail:/var/mail:/usr/sbin/nologin 
-      product ID numbers (in hexadecimal) +news:x:9:9:news:/var/spool/news:/usr/sbin/nologin 
-  -D device +uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin 
-      Selects which device lsusb will examine +proxy:x:13:13:proxy:/bin:/usr/sbin/nologin 
-  -t, --tree +www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin 
-      Dump the physical USB device hierarchy as a tree +backup:x:34:34:backup:/var/backups:/usr/sbin/nologin 
-  -V--version +list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin 
-      Show version of program +irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin 
-  -h, --help +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin 
-      Show usage and help+nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin 
 +_apt:x:100:65534::/nonexistent:/usr/sbin/nologin 
 +systemd-network:x:101:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin 
 +systemd-resolve:x:102:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin 
 +messagebus:x:103:109::/nonexistent:/usr/sbin/nologin 
 +systemd-timesync:x:104:110:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin 
 +usbmux:x:105:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin 
 +rtkit:x:106:113:RealtimeKit,,,:/proc:/usr/sbin/nologin 
 +dnsmasq:x:107:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin 
 +avahi:x:108:114:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin 
 +speech-dispatcher:x:109:29:Speech Dispatcher,,,:/run/speech-dispatcher:/bin/false 
 +pulse:x:110:116:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin 
 +saned:x:111:119::/var/lib/saned:/usr/sbin/nologin 
 +colord:x:112:120:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin 
 +lightdm:x:113:121:Light Display Manager:/var/lib/lightdm:/bin/false 
 +trainee:x:1000:1000:trainee,,,:/home/trainee:/bin/bash 
 +systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin 
 +sshd:x:114:65534::/run/sshd:/usr/sbin/nologin
 </code> </code>
  
-====La Commande dmidecode====+====Les Fichiers /etc/group et /etc/gshadow====
  
-La commande **dmidecode** lit la table **DMI** (//Desktop Management Interface//) aussi appelée **SMBIOS** (//System Management BIOS//) et fourni les informations sur : +Pour lister les groupes existants sur le système, saisissez la commande suivante :
- +
-  * l'état du matériel actuel, +
-  * les extensions possibles.+
  
 <code> <code>
-root@debian8:~# dmidecode +root@debian11:~# cat /etc/group 
-# dmidecode 2.12 +root:x:0: 
-SMBIOS 2.present. +daemon:x:1: 
-10 structures occupying 450 bytes. +bin:x:2
-Table at 0x000E1000.+sys:x:3: 
 +adm:x:4: 
 +tty:x:5: 
 +disk:x:6: 
 +lp:x:7: 
 +mail:x:8: 
 +news:x:9: 
 +uucp:x:10
 +man:x:12: 
 +proxy:x:13: 
 +kmem:x:15: 
 +dialout:x:20: 
 +fax:x:21: 
 +voice:x:22: 
 +cdrom:x:24:trainee 
 +floppy:x:25:trainee 
 +tape:x:26: 
 +sudo:x:27: 
 +audio:x:29:pulse,trainee 
 +dip:x:30:trainee 
 +www-data:x:33: 
 +backup:x:34: 
 +operator:x:37: 
 +list:x:38: 
 +irc:x:39: 
 +src:x:40: 
 +gnats:x:41: 
 +shadow:x:42: 
 +utmp:x:43: 
 +video:x:44:trainee 
 +sasl:x:45: 
 +plugdev:x:46:trainee 
 +staff:x:50: 
 +games:x:60: 
 +users:x:100: 
 +nogroup:x:65534: 
 +systemd-journal:x:101: 
 +systemd-network:x:102: 
 +systemd-resolve:x:103: 
 +input:x:104: 
 +kvm:x:105: 
 +render:x:106: 
 +crontab:x:107: 
 +netdev:x:108:trainee 
 +messagebus:x:109: 
 +systemd-timesync:x:110: 
 +ssh:x:111: 
 +ssl-cert:x:112: 
 +rtkit:x:113: 
 +avahi:x:114: 
 +lpadmin:x:115:trainee 
 +pulse:x:116: 
 +pulse-access:x:117: 
 +scanner:x:118:saned,trainee 
 +saned:x:119: 
 +colord:x:120: 
 +lightdm:x:121: 
 +trainee:x:1000: 
 +systemd-coredump:x:999: 
 +mlocate:x:122: 
 +</code>
  
-Handle 0x0000, DMI type 0, 20 bytes +<WRAP center round important> 
-BIOS Information +**Important** : Notez que la valeur du GID du groupe root est toujours de 0. Notez que sous Debian 11les GID des utilisateurs normaux commencent à **1000** et les GID des comptes système sont inclus entre 1 et 99 et entre 201 et 999. 
- Vendor: innotek GmbH +</WRAP>
- Version: VirtualBox +
- Release Date: 12/01/2006 +
- Address: 0xE0000 +
- Runtime Size: 128 kB +
- ROM Size: 128 kB +
- Characteristics: +
- ISA is supported +
- PCI is supported +
- Boot from CD is supported +
- Selectable boot is supported +
- 8042 keyboard services are supported (int 9h) +
- CGA/mono video services are supported (int 10h) +
- ACPI is supported+
  
-Handle 0x0001DMI type 1, 27 bytes +Dans ce fichierchaque ligne est constituée de 4 champs :
-System Information +
- Manufacturer: innotek GmbH +
- Product Name: VirtualBox +
- Version: 1.2 +
- Serial Number: 0 +
- UUID: 3AEF2B0F-3420-4DF3-A98F-211C945D7CCA +
- Wake-up Type: Power Switch +
- SKU Number: Not Specified +
- FamilyVirtual Machine+
  
-Handle 0x0008DMI type 2, 15 bytes +  * Le nom **unique** du groupe
-Base Board Information +  * Le mot de passe du groupeUne valeur de **x** dans ce champs indique que le système utilise le fichier **/etc/gshadow** pour stocker les mots de passe. Une valeur de **!** indique que le groupe n'pas de mot passe et que l'accès au groupe via la commande **newgrp** n'est pas possible, 
- Manufacturer: Oracle Corporation +  * Le GID. Une valeur unique utilisée pour déterminée les droits d'accès aux fichiers et aux répertoires, 
- Product Name: VirtualBox +  * La liste des membres ayant le groupe comme groupe **secondaire**.
- Version: 1.+
- Serial Number: 0 +
- Asset Tag: Not Specified +
- Features: +
- Board is hosting board +
- Location In Chassis: Not Specified +
- Chassis Handle: 0x0003 +
- Type: Motherboard +
- Contained Object Handles: 0+
  
-Handle 0x0003DMI type 3, 13 bytes +Pour consulter le fichier **/etc/gshadow**saisissez la commande suivante :
-Chassis Information +
- Manufacturer: Oracle Corporation +
- Type: Other +
- Lock: Not Present +
- Version: Not Specified +
- Serial Number: Not Specified +
- Asset Tag: Not Specified +
- Boot-up State: Safe +
- Power Supply State: Safe +
- Thermal State: Safe +
- Security StatusNone+
  
-Handle 0x0007, DMI type 126, 42 bytes +<code> 
-Inactive +root@debian11:~# cat /etc/gshadow 
- +root:*:: 
-Handle 0x0005, DMI type 126, 15 bytes +daemon:*:: 
-Inactive +bin:*:: 
- +sys:*:: 
-Handle 0x0006, DMI type 126, 28 bytes +adm:*:: 
-Inactive +tty:*:: 
- +disk:*:: 
-Handle 0x0002, DMI type 11, 7 bytes +lp:*:: 
-OEM Strings +mail:*:: 
- String 1vboxVer_4.3.28 +news:*:
- String 2vboxRev_100309 +uucp:*:
- +man:*:: 
-Handle 0x0008, DMI type 1288 bytes +proxy:*:: 
-OEM-specific Type +kmem:*:: 
- Header and Data+dialout:*:: 
- 80 08 08 00 F2 13 21 00 +fax:*:: 
- +voice:*:: 
-Handle 0xFEFFDMI type 127, 4 bytes +cdrom:*::trainee 
-End Of Table+floppy:*::trainee 
 +tape:*:: 
 +sudo:*:: 
 +audio:*::pulse,trainee 
 +dip:*::trainee 
 +www-data:*:: 
 +backup:*:
 +operator:*:: 
 +list:*:: 
 +irc:*:: 
 +src:*:: 
 +gnats:*:: 
 +shadow:*:: 
 +utmp:*:: 
 +video:*::trainee 
 +sasl:*:: 
 +plugdev:*::trainee 
 +staff:*:: 
 +games:*:: 
 +users:*:: 
 +nogroup:*:: 
 +systemd-journal:!:: 
 +systemd-network:!:: 
 +systemd-resolve:!:: 
 +input:!:: 
 +kvm:!:: 
 +render:!:: 
 +crontab:!:: 
 +netdev:!::trainee 
 +messagebus:!:: 
 +systemd-timesync:!:: 
 +ssh:!:: 
 +ssl-cert:!:: 
 +rtkit:!:: 
 +avahi:!:: 
 +lpadmin:!::trainee 
 +pulse:!:: 
 +pulse-access:!:: 
 +scanner:!::saned,trainee 
 +saned:!:: 
 +colord:!:: 
 +lightdm:!:: 
 +trainee:!:: 
 +systemd-coredump:!*:: 
 +mlocate:!::
 </code> </code>
  
-===Options de la commande===+Chaque ligne est constituée de 4 champs :
  
-Les options de cette commande sont :+  * Le nom du groupe. Ce champs est utilisé pour faire le lien avec le fichier **/etc/group**, 
 +  * Le mot de passe **crypté** du groupe s'il en existe un. Une valeur **vide** dans ce champs indique que seuls les membres du groupe peuvent exécuter la commande **newgrp**. Une valeur de **!**, de **x** ou de ***** indique que personne ne peut exécuter la commande **newgrp** pour le groupe, 
 +  * L'administrateur du groupe s'il en existe un, 
 +  * La liste des membres ayant le groupe comme groupe **secondaire**.
  
-<code> +Afin de vérifier les fichiers **/etc/group** et **/etc/gshadow** pour des erreurs éventuelles, saisissez la commande suivante :
-root@debian8:~# dmidecode --help +
-Usage: dmidecode [OPTIONS] +
-Options are: +
- -d, --dev-mem FILE     Read memory from device FILE (default: /dev/mem) +
- -h, --help             Display this help text and exit +
- -q, --quiet            Less verbose output +
- -s, --string KEYWORD   Only display the value of the given DMI string +
- -t, --type TYPE        Only display the entries of given type +
- -u, --dump             Do not decode the entries +
-     --dump-bin FILE    Dump the DMI data to a binary file +
-     --from-dump FILE   Read the DMI data from a binary file +
- -V, --version          Display the version and exit +
-</code> +
- +
-=====Répertoire /proc===== +
- +
-Le répertoire /proc contient des fichiers et des répertoires virtuels. Le contenu de ces fichiers est créé dynamiquement lors de la consultation. Seul root peut consulter la totalité des informations dans le répertoire /proc.+
  
 <code> <code>
-root@debian8:~# ls /proc +root@debian11:~# grpck -r 
-1     1103  1238  170 30   68   957      execdomains  net +root@debian11:~#
-10    1104  124   18 31   69   959      fb   pagetypeinfo +
-1013  1106  1240  19 32   7   963      filesystems  partitions +
-1014  1108  125   2 33   71   966      fs   sched_debug +
-1023  1117  1251  20 424  72   975      interrupts   self +
-1024  1120  1277  21 434  73   979      iomem   slabinfo +
-1028  1127  1288  2180 439  74   980      ioports   softirqs +
-1029  1131  1294  2284 441  772  984      irq   stat +
-1032  1135  13   23 448  778  986      kallsyms   swaps +
-1033  1139  14   2305 450  781  acpi      kcore   sys +
-1040  1140  1409  2306 452  793  asound     keys   sysrq-trigger +
-1043  1142  15   232 457  798  buddyinfo  key-users   sysvipc +
-1045  1156  1572  236 460  8   bus      kmsg   timer_list +
-1049  1163  158   24 461  80   cgroups    kpagecount   timer_stats +
-1053  1165  16   2599 464  807  cmdline    kpageflags   tty +
-1056  1166  163   263 471  821  consoles   loadavg   uptime +
-1065  1171  1682  2635 472  838  cpuinfo    locks   version +
-1080  1177  1685  2737 497  843  crypto     meminfo   vmallocinfo +
-1081  12    1687  2772 498  9   devices    misc   vmstat +
-1084  1216  1693  2811 5    948  diskstats  modules   zoneinfo +
-1092  1228  1694  2834 66   949  dma      mounts +
-11    1230  17   3 67   956  driver     mtrr+
 </code> </code>
  
-====Répertoires====+Dans le cas où vos fichiers ne comportent pas d'erreurs, vous vous retrouverez retourné au prompt.
  
-===ide/scsi===+<WRAP center round important> 
 +**Important** : L'option **-r** permet la vérification des erreurs sans le modifier. 
 +</WRAP>
  
-Ce répertoire contient des répertoires dans lesquels se trouvent des informations sur la capacitéle type et la géométrie des disques.+Dans le cas où il est nécessaire de régénérer un des deux fichiersil convient d'utiliser une des deux commandes suivantes :
  
-===acpi===+  * **grpconv** 
 +    * permet de régénérer le fichier **/etc/gshadow** à partir du fichier **/etc/group** et éventuellement du fichier **/etc/gshadow** existant 
 +  * **grpunconv** 
 +    * permet de régénérer le fichier **/etc/group** à partir du fichier **/etc/gshadow** et éventuellement du fichier **/etc/group** existant puis supprime le fichier **/etc/gshadow**
  
-Ce répertoire contient des informations sur la gestion de l'énérgie, les températures, les vitesses de ventilateurs, la charge des batteries.+====Les Fichiers /etc/passwd et /etc/shadow====
  
-===bus===+<WRAP center round important> 
 +**Important** : Notez que la règle la plus libérale concernant les noms d'utilisateurs sous Linux limite la longueur à 32 caractères et permet l'utilisation de majuscules, de minuscules, de nombres (sauf au début du nom) ainsi que la plupart des caractères de ponctuation. Ceci dit, certains utilitaires, tel **useradd** interdisent l'utilisation de majuscules et de caractères de ponctuation mais permettent l'utilisation des caractères **_**, **.** ainsi que le caractère **$** à la fin du nom (**ATTENTION** : dans le cas de samba, un nom d'utilisateur se terminant par **$** est considéré comme un compte **machine**). Qui plus est, certains utilitaires limitent la longueur du nom à **8** caractères. 
 +</WRAP>
  
-Ce répertoire contient un sous-répertoire par bus.+Pour lister les comptes utilisateur existants sur le système, saisissez la commande suivante :
  
-===net===+<code> 
 +root@debian11:~# cat /etc/passwd 
 +root:x:0:0:root:/root:/bin/bash 
 +daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin 
 +bin:x:2:2:bin:/bin:/usr/sbin/nologin 
 +sys:x:3:3:sys:/dev:/usr/sbin/nologin 
 +sync:x:4:65534:sync:/bin:/bin/sync 
 +games:x:5:60:games:/usr/games:/usr/sbin/nologin 
 +man:x:6:12:man:/var/cache/man:/usr/sbin/nologin 
 +lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin 
 +mail:x:8:8:mail:/var/mail:/usr/sbin/nologin 
 +news:x:9:9:news:/var/spool/news:/usr/sbin/nologin 
 +uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin 
 +proxy:x:13:13:proxy:/bin:/usr/sbin/nologin 
 +www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin 
 +backup:x:34:34:backup:/var/backups:/usr/sbin/nologin 
 +list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin 
 +irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin 
 +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin 
 +nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin 
 +_apt:x:100:65534::/nonexistent:/usr/sbin/nologin 
 +systemd-network:x:101:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin 
 +systemd-resolve:x:102:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin 
 +messagebus:x:103:109::/nonexistent:/usr/sbin/nologin 
 +systemd-timesync:x:104:110:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin 
 +usbmux:x:105:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin 
 +rtkit:x:106:113:RealtimeKit,,,:/proc:/usr/sbin/nologin 
 +dnsmasq:x:107:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin 
 +avahi:x:108:114:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin 
 +speech-dispatcher:x:109:29:Speech Dispatcher,,,:/run/speech-dispatcher:/bin/false 
 +pulse:x:110:116:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin 
 +saned:x:111:119::/var/lib/saned:/usr/sbin/nologin 
 +colord:x:112:120:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin 
 +lightdm:x:113:121:Light Display Manager:/var/lib/lightdm:/bin/false 
 +trainee:x:1000:1000:trainee,,,:/home/trainee:/bin/bash 
 +systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin 
 +sshd:x:114:65534::/run/sshd:/usr/sbin/nologin 
 +</code>
  
-Ce répertoire contient des informations sur le réseau.+<WRAP center round important> 
 +**Important** : Notez que la valeur de l'UID de root est toujours de 0. Notez que sous Debian 11, les UID des utilisateurs normaux commencent à **1000** et les UID des comptes système sont inclus entre 1 et 99 et entre 201 et 999. 
 +</WRAP>
  
-===sys===+Chaque ligne est constituée de 7 champs :
  
-Ce répertoire contient des paramètres du noyauCertains des fichiers dans ce répertoire sont accessibles en écriture par root en temps réelPar exemple pour éviter des attaques réseau **%%DoS%%** utilisant la commande **ping**, saisissez la commande suivante :+  * Le nom d'utilisateur 
 +  * Le mot de passeUne valeur de **x** dans ce champs indique que le système utilise le fichier **/etc/shadow** pour stocker les mots de passe. 
 +  * L'UIDUne valeur unique qui est utilisée pour déterminée les droits aux fichiers et aux répertoires. 
 +  Le GID. Une valeur indiquant le groupe **principal** de l'utilisateur 
 +  Le nom complet. Ce champs optionnel est aussi appelé **GECOS** 
 +  * Le répertoire personnel de l'utilisateur 
 +  * Le shell de l'utilisateur.
  
-  # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all [Entrée]+Pour consulter le fichier **/etc/shadow**, saisissez la commande suivante :
  
-Cette commande a pour résultat d'ignorer les reqûetes ping.+<code> 
 +root@debian11:~# cat /etc/shadow 
 +root:$y$j9T$3oULwcP4KCW0crXb9zLB90$Tqr6eSITrKaEnKecir1vRGXpa1OdRRi3/Q.gLwLPph/:19107:0:99999:7::: 
 +daemon:*:19107:0:99999:7::: 
 +bin:*:19107:0:99999:7::: 
 +sys:*:19107:0:99999:7::: 
 +sync:*:19107:0:99999:7::: 
 +games:*:19107:0:99999:7::: 
 +man:*:19107:0:99999:7::: 
 +lp:*:19107:0:99999:7::: 
 +mail:*:19107:0:99999:7::: 
 +news:*:19107:0:99999:7::: 
 +uucp:*:19107:0:99999:7::: 
 +proxy:*:19107:0:99999:7::: 
 +www-data:*:19107:0:99999:7::: 
 +backup:*:19107:0:99999:7::: 
 +list:*:19107:0:99999:7::: 
 +irc:*:19107:0:99999:7::: 
 +gnats:*:19107:0:99999:7::: 
 +nobody:*:19107:0:99999:7::: 
 +_apt:*:19107:0:99999:7::: 
 +systemd-network:*:19107:0:99999:7::: 
 +systemd-resolve:*:19107:0:99999:7::: 
 +messagebus:*:19107:0:99999:7::: 
 +systemd-timesync:*:19107:0:99999:7::: 
 +usbmux:*:19107:0:99999:7::: 
 +rtkit:*:19107:0:99999:7::: 
 +dnsmasq:*:19107:0:99999:7::: 
 +avahi:*:19107:0:99999:7::: 
 +speech-dispatcher:!:19107:0:99999:7::: 
 +pulse:*:19107:0:99999:7::: 
 +saned:*:19107:0:99999:7::: 
 +colord:*:19107:0:99999:7::: 
 +lightdm:*:19107:0:99999:7::: 
 +trainee:$y$j9T$iKJ5MC8LmULY.yq58DCjw1$WsIdItQEonaSeCFZil61bk4YPxSp1.5aFg0uDhwIbZC:19107:0:99999:7::: 
 +systemd-coredump:!*:19107:::::: 
 +sshd:*:19107:0:99999:7::: 
 +</code>
  
-===La commande sysctl===+Chaque ligne est constituée de 8 champs :
  
-Les fichiers dans le répertoire **/proc/sys** peuvent être administrés par la commande **sysctl** en temps réel+  * Le nom de l'utilisateur. Ce champs est utilisé pour faire le lien avec le fichier **/etc/passwd**
 +  * Le mot de passe **crypté** de l'utilisateur. Le cryptage est à sens **unique**. Ce champ peut aussi contenir une des trois valeurs suivantes : 
 +    * **!!** - Le mot de passe n'a pas encore été défini et l'utilisateur ne peut pas se connecter, 
 +    * ***** - L'utilisateur ne peut pas se connecter, 
 +    * **vide** - aucun mot de passe sera demandé pour l'utilisateur concerné, 
 +  * Le nombre de jours entre le **01/01/1970** et le dernier changement du mot de passe, 
 +  * Le nombre de jours que le mot de passe est encore valide. Une valeur de **0** dans ce champs indique sue le mot de passe n'expire jamais, 
 +  * Le nombre de jours après lequel le mot de passe doit être changé, 
 +  * Le nombre de jours avant la date de modification forcée que l'utilisateur recevra un avertissement, 
 +  Le nombre de jours après l'expiration du mot de passe que le compte sera désactivé, 
 +  Le **numéro** du jour après le **01/01/1970** que le compte a été désactivé.
  
-La commande **sysctl** applique les règles consignés dans le fichier **/etc/sysctl.conf** au démarrage de la machine. +Afin de vérifier les fichiers **/etc/passwd** et **/etc/shadow** pour des erreurs éventuelles, saisissez la commande suivante :
- +
-Saisissez la commande :+
  
 <code> <code>
-root@debian8:~# cat /etc/sysctl.conf  +root@debian11:~# pwck -r 
-# +user 'lp': directory '/var/spool/lpd' does not exist 
-/etc/sysctl.conf Configuration file for setting system variables +user 'news': directory '/var/spool/news' does not exist 
-# See /etc/sysctl.dfor additional system variables. +user 'uucp': directory '/var/spool/uucp' does not exist 
-# See sysctl.conf (5) for information. +user 'www-data': directory '/var/www' does not exist 
-#+user 'list': directory '/var/list' does not exist 
 +user 'irc': directory '/run/ircd' does not exist 
 +user 'gnats': directory '/var/lib/gnats' does not exist 
 +user 'nobody': directory '/nonexistent' does not exist 
 +user '_apt': directory '/nonexistent' does not exist 
 +pwck: no changes 
 +</code>
  
-#kernel.domainname = example.com+<WRAP center round important> 
 +**Important** : Les erreurs ci-dessus ne sont pas importantesElles sont dues au fait que les répertoires de connexion de certains comptes systèmes ne sont pas créés par le système lors de la création des comptes et ceci justement pour éviter la possibilité qu'un pirate ou un hacker puisse se connecter au système en utilisant le compte concernéEncore une fois, l'option **-r** permet la vérification des erreurs dans sans le modifier. 
 +</WRAP>
  
-# Uncomment the following to stop low-level messages on console +Dans le cas où il est nécessaire de régénérer un des deux fichiers, il convient d'utiliser une des deux commandes suivantes :
-#kernel.printk = 3 4 1 3+
  
-##############################################################3 +  * **pwconv** 
-# Functions previously found in netbase +    * permet de régénérer le fichier **/etc/shadow** à partir du fichier **/etc/passwd** et éventuellement du fichier **/etc/shadow** existant 
-#+  * **pwunconv** 
 +    * permet de régénérer le fichier **/etc/passwd** à partir du fichier **/etc/shadow** et éventuellement du fichier **/etc/passwd** existant puis supprime le fichier **/etc/shadow**
  
-# Uncomment the next two lines to enable Spoof protection (reverse-path filter) 
-# Turn on Source Address Verification in all interfaces to 
-# prevent some spoofing attacks 
-#net.ipv4.conf.default.rp_filter=1 
-#net.ipv4.conf.all.rp_filter=1 
  
-# Uncomment the next line to enable TCP/IP SYN cookies +=====Commandes=====
-# See http://lwn.net/Articles/277146/ +
-# Note: This may impact IPv6 TCP sessions too +
-#net.ipv4.tcp_syncookies=1+
  
-# Uncomment the next line to enable packet forwarding for IPv4 +====Groupes====
-#net.ipv4.ip_forward=1+
  
-# Uncomment the next line to enable packet forwarding for IPv6 +===groupadd===
-#  Enabling this option disables Stateless Address Autoconfiguration +
-#  based on Router Advertisements for this host +
-#net.ipv6.conf.all.forwarding=1+
  
 +Cette commande est utilisée pour créer un groupe.
  
-################################################################### +Les options de cette commande sont :
-# Additional settings - these settings can improve the network +
-# security of the host and prevent against some network attacks +
-# including spoofing attacks and man in the middle attacks through +
-# redirection. Some network environments, however, require that these +
-# settings are disabled so review and enable them as needed. +
-+
-# Do not accept ICMP redirects (prevent MITM attacks) +
-#net.ipv4.conf.all.accept_redirects = 0 +
-#net.ipv6.conf.all.accept_redirects = 0 +
-# _or_ +
-# Accept ICMP redirects only for gateways listed in our default +
-# gateway list (enabled by default) +
-# net.ipv4.conf.all.secure_redirects = 1 +
-+
-# Do not send ICMP redirects (we are not a router) +
-#net.ipv4.conf.all.send_redirects = 0 +
-+
-# Do not accept IP source route packets (we are not a router) +
-#net.ipv4.conf.all.accept_source_route = 0 +
-#net.ipv6.conf.all.accept_source_route = 0 +
-+
-# Log Martian Packets +
-#net.ipv4.conf.all.log_martians = 1 +
-+
-</code> +
- +
-==Options de la commande== +
- +
-Les options de la commande **sysctl** sont :+
  
 <code> <code>
-root@debian8:~# sysctl --help +root@debian11:~# groupadd --help 
- +Usage: groupadd [options] GROUP
-Usage: +
- sysctl [options] [variable[=value] ...]+
  
 Options: Options:
-  -a, --all            display all variables +  -f, --force                   exit successfully if the group already exists, 
-  -A                   alias of -a +                                and cancel -g if the GID is already used 
-  -X                   alias of -a +  -g, --gid GID                 use GID for the new group 
-      --deprecated     include deprecated parameters to listing +  -h, --help                    display this help message and exit 
-  -b, --binary         print value without new line +  -K, --key KEY=VALUE           override /etc/login.defs defaults 
-  -e, --ignore         ignore unknown variables errors +  -o, --non-unique              allow to create groups with duplicate 
-  -N, --names          print variable names without values +                                (non-unique) GID 
-  -n, --values         print only values of a variables +  -p--password PASSWORD       use this encrypted password for the new group 
-  -p, --load[=<file> read values from file +  -r, --system                  create a system account 
-  -f                   alias of -p +  -R, --root CHROOT_DIR         directory to chroot into 
-      --system         read values from all system directories +  -P, --prefix PREFIX_DIR       directory prefix
-  -r, --pattern <expression> +
-                       select setting that match expression +
-  -q, --quiet          do not echo variable set +
-  -w, --write          enable writing a value to variable +
-  -o                   does nothing +
-  -x                   does nothing +
-  -d                   alias of -h +
- +
- -h, --help     display this help and exit +
- -V, --version  output version information and exit +
- +
-For more details see sysctl(8).+
 </code> </code>
  
 <WRAP center round important> <WRAP center round important>
-**Important** : Consultez la page de la traduction du manuel de **sysctl** **[[http://www.delafond.org/traducmanfr/man/man8/sysctl.8.html|ici]]** pour comprendre la commande.+**Important** : Il est possible de créer plusieurs groupes ayant le même GID.
 </WRAP> </WRAP>
  
-====Fichiers====+<WRAP center round important> 
 +**Important** : Notez l'option **-r** qui permet la création d'un groupe système. 
 +</WRAP>
  
-===Processeur===+===groupdel===
  
-<code> +Cette commande est utilisée pour supprimer un groupe.
-root@debian8:~# cat /proc/cpuinfo +
-processor : 0 +
-vendor_id : GenuineIntel +
-cpu family : 6 +
-model : 55 +
-model name : Intel(R) Celeron(R) CPU  N2840  @ 2.16GHz +
-stepping : 8 +
-microcode : 0x19 +
-cpu MHz : 2167.709 +
-cache size : 6144 KB +
-physical id : 0 +
-siblings : 1 +
-core id : 0 +
-cpu cores : 1 +
-apicid : 0 +
-initial apicid : 0 +
-fdiv_bug : no +
-f00f_bug : no +
-coma_bug : no +
-fpu : yes +
-fpu_exception : yes +
-cpuid level : 5 +
-wp : yes +
-flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 nx rdtscp constant_tsc pni monitor ssse3 +
-bogomips : 4335.41 +
-clflush size : 64 +
-cache_alignment : 64 +
-address sizes : 36 bits physical, 48 bits virtual +
-power management: +
-</code>+
  
-===Interruptions système===+Les options de cette commande sont :
  
 <code> <code>
-root@debian8:~# cat /proc/interrupts  +root@debian11:~# groupdel --help 
-           CPU0        +Usagegroupdel [options] GROUP
-  0:         43    XT-PIC-XT-PIC    timer +
-  1     15159    XT-PIC-XT-PIC    i8042 +
-  2:          0    XT-PIC-XT-PIC    cascade +
-  8:          0    XT-PIC-XT-PIC    rtc0 +
-  9:      83729    XT-PIC-XT-PIC    acpi, vboxguest +
- 10:      20664    XT-PIC-XT-PIC    eth0 +
- 11:      27534    XT-PIC-XT-PIC    ohci_hcd:usb1, ahci, snd_intel8x0 +
- 12:      16216    XT-PIC-XT-PIC    i8042 +
- 14:          0    XT-PIC-XT-PIC    ata_piix +
- 15:       7427    XT-PIC-XT-PIC    ata_piix +
-NMI:          0   Non-maskable interrupts +
-LOC:     969554   Local timer interrupts +
-SPU:          0   Spurious interrupts +
-PMI:          0   Performance monitoring interrupts +
-IWI:          0   IRQ work interrupts +
-RTR:          0   APIC ICR read retries +
-RES:          0   Rescheduling interrupts +
-CAL:          0   Function call interrupts +
-TLB:          0   TLB shootdowns +
-TRM:          0   Thermal event interrupts +
-THR:          0   Threshold APIC interrupts +
-MCE:          0   Machine check exceptions +
-MCP:         25   Machine check polls +
-HYP:          0   Hypervisor callback interrupts +
-ERR:          0 +
-MIS:          0 +
-</code>+
  
-<WRAP center round important> +Options: 
-**Important** : Un pilote de périphérique demande au processeur de fournir un service en utilisant un IRQ. Quand la demande est faitele processeur interrompe ses activités et passe le contrôle au pilote identifié par l'IRQ. Techniquement l'attribution d'un IRQ à un périphérique doit être exclusive. Dans le cas où deux périphériques demandent un service en même tempsc'est le périphérique ayant l'IRQ le plus bas qui est prioritaire. +  -h--help                    display this help message and exit 
-</WRAP>  +  -R--root CHROOT_DIR         directory to chroot into 
- +  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files 
-===Canaux DMA=== +  -f, --force                   delete group even if it is the primary group of a user
- +
-<code> +
-root@debian8:~# cat /proc/dma +
- 4: cascade+
 </code> </code>
  
-===Plages d'entrée/sortie===+===groupmod===
  
-<code> +Cette commande est utilisée pour modifier un groupe existant.
-root@debian8:~# cat /proc/ioports | more +
-0000-001f : dma1 +
-0020-0021 : pic1 +
-0040-0043 : timer0 +
-0050-0053 : timer1 +
-0060-0060 : keyboard +
-0064-0064 : keyboard +
-0070-0071 : rtc_cmos +
-  0070-0071 : rtc0 +
-0080-008f : dma page reg +
-00a0-00a1 : pic2 +
-00c0-00df : dma2 +
-00f0-00ff : fpu +
-0170-0177 : 0000:00:01.+
-  0170-0177 : ata_piix +
-01f0-01f7 : 0000:00:01.1 +
-  01f0-01f7 : ata_piix +
-0376-0376 : 0000:00:01.1 +
-  0376-0376 : ata_piix +
-03c0-03df : vga+ +
-03f6-03f6 : 0000:00:01.1 +
-  03f6-03f6 : ata_piix +
-0cf8-0cff : PCI conf1 +
-4000-4003 : ACPI PM1a_EVT_BLK +
---More-- +
-</code>+
  
-<WRAP center round alert> +Les options de cette commande sont :
-Si deux périphériques ont le même port, les **deux** périphériques seront inutilisables. +
-</WRAP> +
- +
-===Périphériques===+
  
 <code> <code>
-root@debian8:~# cat /proc/devices  +root@debian11:~# groupmod --help 
-Character devices: +Usagegroupmod [options] GROUP
-  1 mem +
-  4 /dev/vc/0 +
-  4 tty +
-  4 ttyS +
-  5 /dev/tty +
-  5 /dev/console +
-  5 /dev/ptmx +
-  6 lp +
-  7 vcs +
- 10 misc +
- 13 input +
- 21 sg +
- 29 fb +
- 99 ppdev +
-116 alsa +
-128 ptm +
-136 pts +
-180 usb +
-189 usb_device +
-226 drm +
-251 hidraw +
-252 bsg +
-253 watchdog +
-254 rtc+
  
-Block devices+Options
-259 blkext +  -g, --gid GID                 change the group ID to GID 
-  8 sd +  -h, --help                    display this help message and exit 
- 11 sr +  -n, --new-name NEW_GROUP      change the name to NEW_GROUP 
- 65 sd +  -o, --non-unique              allow to use a duplicate (non-unique) GID 
- 66 sd +  -p, --password PASSWORD       change the password to this (encrypted) 
- 67 sd +                                PASSWORD 
- 68 sd +  -R, --root CHROOT_DIR         directory to chroot into 
- 69 sd +  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
- 70 sd +
- 71 sd +
-128 sd +
-129 sd +
-130 sd +
-131 sd +
-132 sd +
-133 sd +
-134 sd +
-135 sd+
 </code> </code>
  
-===Modules===+===newgrp===
  
-<code> +Cette commande est utilisée pour modifier le groupe de l'utilisateur qui l'invoque.
-root@debian8:~# cat /proc/modules | more +
-cfg80211 350041 0 - Live 0xf9426000 +
-rfkill 18387 1 cfg80211, Live 0xf92ae000 +
-vboxsf 36590 0 - Live 0xf81f1000 (O) +
-nfsd 236959 2 - Live 0xf9360000 +
-auth_rpcgss 45765 1 nfsd, Live 0xf81e4000 +
-oid_registry 12387 1 auth_rpcgss, Live 0xf8064000 +
-nfs_acl 12463 1 nfsd, Live 0xf7ff7000 +
-nfs 168022 0 - Live 0xf9335000 +
-lockd 73443 2 nfsd,nfs, Live 0xf8137000 +
-fscache 44782 1 nfs, Live 0xf8096000 +
-sunrpc 211341 6 nfsd,auth_rpcgss,nfs_acl,nfs,lockd, Live 0xf9300000 +
-joydev 16847 0 - Live 0xf8193000 +
-snd_intel8x0 30521 2 - Live 0xf812e000 +
-snd_ac97_codec 96151 1 snd_intel8x0, Live 0xf8150000 +
-snd_pcm 78128 2 snd_intel8x0,snd_ac97_codec, Live 0xf816e000 +
-snd_timer 22010 1 snd_pcm, Live 0xf808f000 +
-snd 55101 8 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer, Live 0xf80a5000 +
-soundcore 12890 1 snd, Live 0xf8069000 +
-ac97_bus 12462 1 snd_ac97_codec, Live 0xf805f000 +
-vboxvideo 12405 1 - Live 0xf8055000 (O) +
-pcspkr 12531 0 - Live 0xf7e1b000 +
-drm 203555 3 vboxvideo, Live 0xf9202000 +
-psmouse 93505 0 - Live 0xf8077000 +
---More-- +
-</code>+
  
-===Statistiques de l'utilisation  des disques===+Les options de cette commande sont :
  
 <code> <code>
-root@debian8:~# cat /proc/diskstats  +root@debian11:~# newgrp --help 
-   8       0 sda 18987 11031 1082886 269752 13611 11447 380664 169532 0 123708 438044 +Usage: newgrp [-] [group]
-         1 sda1 18763 10780 1079098 268224 13480 11316 379544 168960 0 123396 435948 +
-         2 sda2 2 0 4 120 0 0 0 0 0 120 120 +
-         5 sda5 99 141 1920 1212 9 131 1120 136 0 1316 1348 +
-  11       0 sr0 0 0 0 0 0 0 0 0 0 0 0+
 </code> </code>
  
-===Partitions===+===gpasswd===
  
-<code> +Cette commande est utilisée pour administrer le fichier **/etc/group**.
-root@debian8:~# cat /proc/partitions +
-major minor  #blocks  name+
  
-          0   20971520 sda +Les options de cette commande sont :
-          1    9764864 sda1 +
-          2          1 sda2 +
-          5    1951744 sda5 +
-  11        0    1048575 sr0 +
-</code> +
- +
-===Espaces de pagination===+
  
 <code> <code>
-root@debian8:~# cat /proc/swaps +root@debian11:~# gpasswd --help 
-Filename Type Size Used Priority +Usage: gpasswd [option] GROUP
-/dev/sda5                               partition 1951740 500 -1 +
-</code>+
  
-===Statistiques d'utilisation du processeur=== +Options: 
- +  -a, --add USER                add USER to GROUP 
-<code> +  -d, --delete USER             remove USER from GROUP 
-root@debian8:~# cat /proc/loadavg +  -h, --help                    display this help message and exit 
-0.77 0.80 0.76 2/290 2984+  -Q, --root CHROOT_DIR         directory to chroot into 
 +  -r, --remove-password         remove the GROUP's password 
 +  -R, --restrict                restrict access to GROUP to its members 
 +  -M, --members USER,...        set the list of members of GROUP 
 +  -A, --administrators ADMIN,... 
 +                                set the list of administrators for GROUP 
 +Except for the -A and -M options, the options cannot be combined.
 </code> </code>
  
-===Statistiques d'utilisation de la mémoire===+====Utilisateurs====
  
-<code> +===useradd===
-root@debian8:~# cat /proc/meminfo  +
-MemTotal:        1031864 kB +
-MemFree:           79924 kB +
-MemAvailable:     404848 kB +
-Buffers:           74112 kB +
-Cached:           362824 kB +
-SwapCached:          208 kB +
-Active:           613740 kB +
-Inactive:         284400 kB +
-Active(anon):     397624 kB +
-Inactive(anon):    74292 kB +
-Active(file):     216116 kB +
-Inactive(file):   210108 kB +
-Unevictable:          32 kB +
-Mlocked:              32 kB +
-HighTotal:        141256 kB +
-HighFree:          10240 kB +
-LowTotal:         890608 kB +
-LowFree:           69684 kB +
-SwapTotal:       1951740 kB +
-SwapFree:        1951240 kB +
-Dirty:                 0 kB +
-Writeback:             0 kB +
-AnonPages:        461060 kB +
-Mapped:           182132 kB +
-Shmem:             10716 kB +
-Slab:              36092 kB +
-SReclaimable:      26548 kB +
-SUnreclaim:         9544 kB +
-KernelStack:        2312 kB +
-PageTables:         5880 kB +
-NFS_Unstable:          0 kB +
-Bounce:                0 kB +
-WritebackTmp:          0 kB +
-CommitLimit:     2467672 kB +
-Committed_AS:    2087760 kB +
-VmallocTotal:     122880 kB +
-VmallocUsed:       21900 kB +
-VmallocChunk:      99844 kB +
-HardwareCorrupted:     0 kB +
-AnonHugePages:         0 kB +
-HugePages_Total:       0 +
-HugePages_Free:        0 +
-HugePages_Rsvd:        0 +
-HugePages_Surp:        0 +
-Hugepagesize:       2048 kB +
-DirectMap4k:       34808 kB +
-DirectMap2M:      872448 kB +
-</code>+
  
-===Version du noyau===+Cette commande est utilisée pour ajouter un utilisateur.
  
-<code> +Les codes retour de la commande useradd sont :
-root@debian8:~# cat /proc/version +
-Linux version 3.16.0-4-686-pae (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.7-ckt11-1+deb8u5 (2015-10-09) +
-</code>+
  
-==== Interprétation des informations dans /proc====+^ Code Retour ^ Description ^ 
 +| 1 | Impossible de mettre à jour le fichier /etc/passwd | 
 +| 2 | Syntaxe invalide | 
 +| 3 | Option invalide | 
 +| 4 | L'UID demandé est déjà utilisé | 
 +| 6 | Le groupe spécifié n'existe pas | 
 +| 9 | Le nom d'utilisateur indiqué existe déjà | 
 +| 10 | Impossible de mettre à jour le fichier /etc/group 
 +| 12 | Impossible de créer le répertoire personnel de l'utilisateur | 
 +| 13 | Impossible de créer le spool mail de l'utilisateur |
  
-Les informations brutes stockées dans /proc peuvent être interprétées grâce à l'utilisation des commandes dites de //gestion des performances//+Les options de cette commande sont :
- +
-  * free, +
-  * uptime et w, +
-  * iostat, +
-  * vmstat, +
-  * mpstat, +
-  * sar.  +
- +
-===Commandes=== +
- +
-==free== +
- +
-La commande **free** permet de donner l’état de la mémoire totale, libre, partagée, swap et bufferisée. Saisissez donc la commande suivante :+
  
 <code> <code>
-root@debian8:~# free -m +root@debian11:~# useradd --help 
-             total       used       free     shared    buffers     cached +Usage: useradd [options] LOGIN 
-Mem         1007        930         76         10         72        354 +       useradd -D 
--/+ buffers/cache:        503        503 +       useradd -D [options] 
-Swap:         1905                1905+ 
 +Options: 
 +      --badnames                do not check for bad names 
 +  -b, --base-dir BASE_DIR       base directory for the home directory of the 
 +                                new account 
 +      --btrfs-subvolume-home    use BTRFS subvolume for home directory 
 +  -c, --comment COMMENT         GECOS field of the new account 
 +  -d, --home-dir HOME_DIR       home directory of the new account 
 +  -D, --defaults                print or change default useradd configuration 
 +  -e, --expiredate EXPIRE_DATE  expiration date of the new account 
 +  -f, --inactive INACTIVE       password inactivity period of the new account 
 +  -g, --gid GROUP               name or ID of the primary group of the new 
 +                                account 
 +  -G, --groups GROUPS           list of supplementary groups of the new 
 +                                account 
 +  -h, --help                    display this help message and exit 
 +  -k, --skel SKEL_DIR           use this alternative skeleton directory 
 +  -K, --key KEY=VALUE           override /etc/login.defs defaults 
 +  -l, --no-log-init             do not add the user to the lastlog and 
 +                                faillog databases 
 +  -m, --create-home             create the user's home directory 
 +  -M, --no-create-home          do not create the user's home directory 
 +  -N, --no-user-group           do not create a group with the same name as 
 +                                the user 
 +  -o, --non-unique              allow to create users with duplicate 
 +                                (non-unique) UID 
 +  -p, --password PASSWORD       encrypted password of the new account 
 +  -r, --system                  create a system account 
 +  -R, --root CHROOT_DIR         directory to chroot into 
 +  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files 
 +  -s, --shell SHELL             login shell of the new account 
 +  -u, --uid UID                 user ID of the new account 
 +  -U, --user-group              create a group with the same name as the user 
 +  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping
 </code> </code>
  
-Dans le cas de ce dernier exemple, nous pouvons constater que l’affichage montre :+<WRAP center round important> 
 +**Important** Il est possible de créer plusieurs utilisateurs ayant le même UID. 
 +</WRAP>
  
-  * 1007 Mo de mémoire physique totale, +<WRAP center round important> 
-  930 Mo de mémoire physique utilisée et 76 Mo de mémoire physique libre, +**Important** : Notez l'option **-r** qui permet la création d'un compte système. Dans ce cas la commande useradd ne crée pas de répertoire personnel. 
-  1999 Mo de mémoire swap totale et 0 Mo de swap utilisé+</WRAP>
  
-La ligne **-/+ buffers/cache:** indique que les applications utilisent 503 Mo et qu’elles disposent de 503 (502) Mo de mémoire libre (72+354+76).+===userdel=== 
 + 
 +Cette commande est utilisée pour supprimer un utilisateur.
  
 Les options de cette commande sont : Les options de cette commande sont :
  
 <code> <code>
-root@debian8:~# free --help +root@debian11:~# userdel --help 
- +Usage: userdel [options] LOGIN
-Usage: +
- free [options]+
  
 Options: Options:
- -b, --bytes         show output in bytes +  -f, --force                   force removal of files
- -k--kilo          show output in kilobytes +                                even if not owned by user 
- -m, --mega          show output in megabytes +  -h, --help                    display this help message and exit 
- -g, --giga          show output in gigabytes +  -r, --remove                  remove home directory and mail spool 
-     --tera          show output in terabytes +  -R, --root CHROOT_DIR         directory to chroot into 
- -h, --human         show human-readable output +  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files 
-     --si            use powers of 1000 not 1024 +  -Z, --selinux-user            remove any SELinux user mapping for the user 
- -l, --lohi          show detailed low and high memory statistics +</code>
- -o, --old           use old format (without -/+buffers/cache line) +
- -t, --total         show total for RAM + swap +
- -s N, --seconds N   repeat printing every N seconds +
- -c N, --count N     repeat printing N times, then exit+
  
-     --help     display this help and exit +<WRAP center round important> 
- -V--version  output version information and exit+**Important** : Notez que lors de la suppression d'un utilisateurl'UID associé avec ce compte peut être réutilisé. Le nombre maximum de comptes était de **65 536** avec le noyau **2.2.x**. Avec les noyaux récents, cette limite passe à plus de 4,2 Milliards. 
 +</WRAP>
  
-For more details see free(1). +===usermod===
-</code>+
  
-==uptime ou w==+Cette commande est utilisée pour modifier un utilisateur existant.
  
-Chacune des ces commandes indique la charge moyenne du ou des processeurs depuis 1 minute, 5 minutes et 15 minutes :+Les options de cette commande sont :
  
 <code> <code>
-root@debian8:~# uptime +root@debian11:~# usermod --help 
- 09:37:06 up  2:31,  3 users,  load average: 0.67, 0.34, 0.45+Usageusermod [options] LOGIN
  
-root@debian8:~# w +Options
- 09:37:08 up  2:31,  3 users,  load average: 0.670.340.45 +  -b--badnames                allow bad names 
-USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT +  -c--comment COMMENT         new value of the GECOS field 
-trainee  :0       :0               Sun08   ?xdm?  44:35   1.13s x-session-manager +  -d--home HOME_DIR           new home directory for the user account 
-trainee  pts/0    :0               Sun08    3.00s  0.56s 44.83s /usr/lib/gnome-terminal/gnome-terminal-server +  -e--expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE 
-trainee  pts/1    :0               Sun09   24.00s  0.40s 44.83s /usr/lib/gnome-terminal/gnome-terminal-server+  -f, --inactive INACTIVE       set password inactive after expiration 
 +                                to INACTIVE 
 +  -g, --gid GROUP               force use GROUP as new primary group 
 +  -G, --groups GROUPS           new list of supplementary GROUPS 
 +  -a, --append                  append the user to the supplemental GROUPS 
 +                                mentioned by the -G option without removing 
 +                                the user from other groups 
 +  -h, --help                    display this help message and exit 
 +  -l, --login NEW_LOGIN         new value of the login name 
 +  -L, --lock                    lock the user account 
 +  -m, --move-home               move contents of the home directory to the 
 +                                new location (use only with -d) 
 +  -o, --non-unique              allow using duplicate (non-unique) UID 
 +  -p, --password PASSWORD       use encrypted password for the new password 
 +  -R, --root CHROOT_DIR         directory to chroot into 
 +  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files 
 +  -s, --shell SHELL             new login shell for the user account 
 +  -u, --uid UID                 new UID for the user account 
 +  -U, --unlock                  unlock the user account 
 +  -v, --add-subuids FIRST-LAST  add range of subordinate uids 
 +  -V, --del-subuids FIRST-LAST  remove range of subordinate uids 
 +  -w, --add-subgids FIRST-LAST  add range of subordinate gids 
 +  -W, --del-subgids FIRST-LAST  remove range of subordinate gids 
 +  -Z, --selinux-user SEUSER     new SELinux user mapping for the user account
 </code> </code>
  
-Les valeurs **load average** ou //charge moyenne// indiquent le nombre moyen de processus en cours de traitement ou en attente pour la période concernée.+<WRAP center round important> 
 +**Important** : Notez l'option **-L** qui permet de verrouiller un compte. 
 +</WRAP> 
 +  
 +===passwd===
  
-Par exemple si les valeurs sur un système muni d'un seul processeur étaient **3,48  4,00  3,85** ceci indiquerait que le processeur a du mal à traiter les processus mettant en moyenne :+Cette commande est utilisée pour créer ou modifier le mot de passe d'un utilisateur.
  
-  * 2,48 processus en attente dans la dernière minute, +Les options de cette commande sont :
-  * 3,00 processus en attente dans les dernières 5 minutes, +
-  * 2,85 processus en attente dans les dernières 15 minutes. +
- +
-Les options de ces commandes sont :+
  
 <code> <code>
-root@debian8:~# uptime --help +root@debian11:~# passwd --help 
- +Usage: passwd [options] [LOGIN]
-Usage: +
- uptime [options]+
  
 Options: Options:
- -p, --pretty   show uptime in pretty format +  -a, --all                     report password status on all accounts 
- -h, --help     display this help and exit +  -d, --delete                  delete the password for the named account 
- -s, --since    system up since +  -e, --expire                  force expire the password for the named account 
- -V, --version  output version information and exit+  -h, --help                    display this help message and exit 
 +  -k, --keep-tokens             change password only if expired 
 +  -i, --inactive INACTIVE       set password inactive after expiration 
 +                                to INACTIVE 
 +  -l, --lock                    lock the password of the named account 
 +  -n, --mindays MIN_DAYS        set minimum number of days before password 
 +                                change to MIN_DAYS 
 +  -q, --quiet                   quiet mode 
 +  -r, --repository REPOSITORY   change password in REPOSITORY repository 
 +  -R, --root CHROOT_DIR         directory to chroot into 
 +  -S, --status                  report password status on the named account 
 +  -u, --unlock                  unlock the password of the named account 
 +  -w, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS 
 +  -x, --maxdays MAX_DAYS        set maximum number of days before password 
 +                                change to MAX_DAYS 
 +</code>
  
-For more details see uptime(1).+<WRAP center round important> 
 +**Important** : Notez l'option **-l** qui permet de verrouiller un compte en plaçant le caractère **!** devant le mot de passe crypté. 
 +</WRAP>
  
-root@debian8:~# w --help+===chage===
  
-Usage: +La commande chage modifie le nombre de jours entre les changements de mot de passe et la date du dernier changement. Ces informations sont utilisées par le système pour déterminer si un utilisateur doit changer son mot de passe. 
- w [options]+
  
-Options: +Les options de cette commande sont :
- -h, --no-header     do not print header +
- -u, --no-current    ignore current process username +
- -s, --short         short format +
- -f, --from          show remote hostname field +
- -o, --old-style     old style output +
- -i, --ip-addr       display IP address instead of hostname (if possible)+
  
-     --help     display this help and exit +<code> 
- -V, --version  output version information and exit+root@debian11:~# chage --help 
 +Usage: chage [options] LOGIN
  
-For more details see w(1).+Options: 
 +  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY 
 +  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE 
 +  -h, --help                    display this help message and exit 
 +  -i, --iso8601                 use YYYY-MM-DD when printing dates 
 +  -I, --inactive INACTIVE       set password inactive after expiration 
 +                                to INACTIVE 
 +  -l, --list                    show account aging information 
 +  -m, --mindays MIN_DAYS        set minimum number of days before password 
 +                                change to MIN_DAYS 
 +  -M, --maxdays MAX_DAYS        set maximum number of days before password 
 +                                change to MAX_DAYS 
 +  -R, --root CHROOT_DIR         directory to chroot into 
 +  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS
 </code> </code>
  
-==iostat==+=====Configuration=====
  
-Sous Debian 8 les commandes **iostat**, **mpstat** et **sar** ne sont pas disponibles par défaut. Installez donc le paquet **sysstat** :+La commande **useradd** est configurée par le fichier **/etc/default/useradd**. Pour consulter ce fichier, saisissez la commande suivante :
  
 <code> <code>
-root@debian8:~# apt-get install sysstat +root@debian11:~# cat /etc/default/useradd 
-Reading package lists... Done +# Default values for useradd(8) 
-Building dependency tree        +# 
-Reading state information... Done +The SHELL variable specifies the default login shell on your 
-Suggested packages: +# system
-  isag +# Similar to DSHELL in adduserHowever, we use "sh" here because 
-The following NEW packages will be installed: +# useradd is a low level utility and should be as general 
-  sysstat +# as possible 
-0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded+SHELL=/bin/sh 
-Need to get 290 kB of archives+
-After this operation, 1,390 kB of additional disk space will be used. +# The default group for users 
-Get:1 http://ftp.fr.debian.org/debian/ jessie/main sysstat i386 11.0.1-1 [290 kB] +# 100=users on Debian systems 
-Fetched 290 kB in 5s (53.4 kB/s)     +# Same as USERS_GID in adduser 
-Preconfiguring packages ... +# This argument is used when the -n flag is specified
-Selecting previously unselected package sysstat+# The default behavior (when -n and -g are not specifiedis to create a 
-(Reading database ... 167520 files and directories currently installed.+# primary user group with the same name as the user being added to the 
-Preparing to unpack .../sysstat_11.0.1-1_i386.deb ... +# system. 
-Unpacking sysstat (11.0.1-1) ... +# GROUP=100 
-Processing triggers for man-db (2.7.0.2-5) ... +
-Processing triggers for systemd (215-17+deb8u2) ... +# The default home directorySame as DHOME for adduser 
-Setting up sysstat (11.0.1-1) ... +# HOME=/home 
- +# 
-Creating config file /etc/default/sysstat with new version +# The number of days after a password expires until the account  
-update-alternatives: using /usr/bin/sar.sysstat to provide /usr/bin/sar (sar) in auto mode +# is permanently disabled 
-Processing triggers for systemd (215-17+deb8u2) ...+# INACTIVE=-1 
 +# 
 +# The default expire date 
 +# EXPIRE= 
 +
 +# The SKEL variable specifies the directory containing "skeletal" user 
 +# files; in other words, files such as a sample .profile that will be 
 +# copied to the new user's home directory when it is created. 
 +# SKEL=/etc/skel 
 +
 +# Defines whether the mail spool should be created while 
 +# creating the account 
 +# CREATE_MAIL_SPOOL=yes
 </code> </code>
  
-La commande **iostat** affiche des statistiques sur l'utilisation des disquesdes terminaux et des lecteurs de cartouche :+Dans ce fichiernous trouvons les directives suivantes :
  
-<code> +  * **SHELL** - renseigne le shell de l'utilisateur, 
-root@debian8:~# iostat +  * **GROUP** identifie le groupe principal par défaut de l'utilisateur quand l'option **-N** est utilisée avec la commande **useradd**. Dans le cas contraire le groupe principal est soit le groupe spécifié par l'option **-g** de la commande, soit un nouveau groupe au même nom que l'utilisateur, 
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (CPU)+  * **HOME** - indique que le répertoire personnel de l'utilisateur sera créé dans le répertoire **home** lors de la création du compte si cette option a été activée dans le fichier **/etc/login.defs**, 
 +  * **INACTIVE** - indique le nombre de jours d'inactivité après l'expiration d'un mot de passe avant que le compte soit verrouillé. La valeur de -désactive cette directive, 
 +  * **EXPIRE** - sans valeur, cette directive indique que le mot de passe de l'utilisateur n'expire jamais, 
 +  * **SKEL** - indique le répertoire contenant les fichiers qui seront copiés vers le répertoire personnel de l'utilisateur, si ce répertoire est créé lors de la création de l'utilisateur, 
 +  * **CREATE_MAIL_SPOOL** - indique si oui ou non une boite mail interne au système sera créée pour l'utilisateur.
  
-avg-cpu %user   %nice %system %iowait  %steal   %idle +Il est aussi possible de renseigner la valeur de la directive suivante :
-          27.19    0.00    5.79    0.80    0.00   66.22+
  
-Device:            tps    kB_read/   kB_wrtn/   kB_read    kB_wrtn +  * **UMASK** indique l'umask de l'utilisateur. Cette valeur, si présente, prend le dessus sur la valeur indiqué dans le fichier **/etc/login.defs**.
-sda               4.58        69.17        29.19     613071     258736 +
-</code> +
- +
-Au-dessous de la première ligne indiquant la version du noyau du système et son nom d'hôte ainsi que la date actuelle, iostat affiche une vue d'ensemble de l'utilisation CPU moyenne du système depuis le dernier démarrage. Le rapport d'utilisation du CPU inclut les pourcentages suivants : +
- +
-  * Pourcentage de temps passé en mode utilisateur (exécutant des applications, etc.+
-  * Pourcentage de temps passé en mode utilisateur (pour les processus qui ont modifié leur priorité de programmation à l'aide de la commande nice) +
-  * Pourcentage de temps passé en mode noyau +
-  * Pourcentage de temps passé en inactivité +
- +
-Notez la valeur de **%iowait**. Dans le cas où ce pourcentage est trop élévéceci indique que le processeur passe son temps à attendre les entrées et les sorties de disque. +
- +
-Pour surveiller la vitesse des entrées et des sorties du disque, vous pouvez utiliser la commande **hdparm**.+
  
-Sous Debian 8, la commande **hdparm** n'est pas disponible par défaut. Installez donc le paquet **hdparm** :+Ces mêmes informations peuvent être visualisées en exécutant la commande **useradd** avec l'option **-D** :
  
 <code> <code>
-root@debian8:~# apt-get install hdparm +root@debian11:~# useradd -D 
-Reading package lists... Done +GROUP=100 
-Building dependency tree        +HOME=/home 
-Reading state information... Done +INACTIVE=-1 
-The following extra packages will be installed: +EXPIRE= 
-  powermgmt-base +SHELL=/bin/sh 
-Suggested packages: +SKEL=/etc/skel 
-  apmd +CREATE_MAIL_SPOOL=no
-The following NEW packages will be installed: +
-  hdparm powermgmt-base +
-0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +
-Need to get 118 kB of archives. +
-After this operation, 263 kB of additional disk space will be used. +
-Do you want to continue? [Y/n] y +
-Get:1 http://ftp.fr.debian.org/debian/ jessie/main hdparm i386 9.43-2 [109 kB] +
-Get:2 http://ftp.fr.debian.org/debian/ jessie/main powermgmt-base all 1.31+nmu1 [9,240 B] +
-Fetched 118 kB in 0s (264 kB/s)            +
-Selecting previously unselected package hdparm. +
-(Reading database ... 167600 files and directories currently installed.) +
-Preparing to unpack .../hdparm_9.43-2_i386.deb ... +
-Unpacking hdparm (9.43-2) ... +
-Selecting previously unselected package powermgmt-base. +
-Preparing to unpack .../powermgmt-base_1.31+nmu1_all.deb ... +
-Unpacking powermgmt-base (1.31+nmu1) ... +
-Processing triggers for systemd (215-17+deb8u2) ... +
-Processing triggers for man-db (2.7.0.2-5) ... +
-Setting up hdparm (9.43-2) ... +
-update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults +
-Setting up powermgmt-base (1.31+nmu1) ... +
-Processing triggers for systemd (215-17+deb8u2) ...+
 </code> </code>
  
-Exécutez maintenant la commande**hdparm** :+Pour consulter la liste des fichiers dans **/etc/skel**, saisissez la commande suivante :
  
 <code> <code>
-root@debian8:~# hdparm -/dev/sda +root@debian11:~# ls -la /etc/skel 
- +total 20 
-/dev/sda+drwxr-xr-x   2 root root 4096 Apr 25 06:29 . 
- Timing buffered disk reads228 MB in  3.13 seconds =  72.76 MB/sec+drwxr-xr-x 112 root root 4096 Jun  2 16:42 .. 
 +-rw-r--r--   1 root root  220 Aug  4  2021 .bash_logout 
 +-rw-r--r--   1 root root 3526 Aug  4  2021 .bashrc 
 +-rw-r--r--   1 root root  807 Aug  4  2021 .profile
 </code> </code>
  
-Au-dessous du rapport d'utilisation du CPU de la sortie de la commande **iostat** figure le rapport d'utilisation des périphériquesCe dernier contient une ligne pour chaque périphérique disque du système et inclut les informations suivantes :+<WRAP center round important> 
 +**Important** : Notez que sous Debian le fichier **.profile** remplace le fichier **.bash_profile**. 
 +</WRAP>
  
-  * La spécification du périphériqueapparaissant sous la forme dev<major-number>-sequence-number où <major-number> correspond au nombre majeur du périphérique et <sequence-number> correspond à un numéro de séquence commençant par zéro. +Pour connaître l'UIDle GID et l'appartenance aux groupes d'un utilisateur, il convient d'utiliser la commande **id**. Saisissez la commande suivante 
-  * Le nombre de transferts (ou opérations d'E/S) par seconde. +
-  Le nombre de blocs de 512 octets lus par seconde. +
-  Le nombre de blocs de 512 octets écrits par seconde. +
-  Le nombre total de blocs de 512 octets lus par seconde. +
-  Le nombre total de blocs de 512 octets écrits par seconde. +
- +
-Les options de cette commande sont :+
  
 <code> <code>
-root@debian8:~# iostat --help +root@debian11:~# id trainee 
-Usage: iostat [ options ] [ <interval> [ <count> ] ] +uid=1000(trainee) gid=1000(trainee) groups=1000(trainee),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),115(lpadmin),118(scanner)
-Options are: +
-[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] +
-[ -j { ID | LABEL | PATH | UUID | ... } ] +
-[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ] +
-[ <device> [...] | ALL ]+
 </code> </code>
  
-==vmstat== +Pour seulement connaître les groupes d'un utilisateur, il convient d'utiliser la commande **groups**. Saisissez la commande suivante :
- +
-La commande **vmstat** affiche des statistiques sur la mémoire, la pagination et la charge ponctuelle du processeur :+
  
 <code> <code>
-root@debian8:~# vmstat 1 10 +root@debian11:~# groups trainee 
-procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- +trainee : trainee cdrom floppy audio dip video plugdev netdev lpadmin scanner
-  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st +
-  0   4004 255664  19164 229560    0    0    92    33  159  722 27  6 66  1  0 +
-  0   4004 261608  19164 229584    0    0          156  861 51  8 41  0  0 +
-  0   4004 261608  19164 229584    0    0          146 1009 34  7 60  0  0 +
-  0   4004 258104  19164 229584    0    0          141 1021 32  8 59  0  0 +
-  0   4004 261608  19164 229584    0    0          133  724 31  7 62  0  0 +
-  0   4004 261616  19164 229584    0    0          141 1009 29 10 61  0  0 +
-  0   4004 258076  19164 229584    0    0          142 1033 33  7 60  0  0 +
-  0   4004 261560  19164 229584    0    0        20  139  746 31  6 62  0  0 +
-  0   4004 261332  19164 229584    0    0          140  988 32  9 60  0  0 +
-  0   4004 257984  19164 229584    0    0          136  980 34  5 61  0  0+
 </code> </code>
  
-La première ligne subdivise le champ en six catégories à savoir : processus, mémoire, swap, E/S, système et CPU sur lesquelles elle donne des statistiques. La seconde ligne identifie de manière encore plus détaillée chacun des champs, permettant ainsi de parcourir simplement et rapidement l'ensemble des données lors de la recherche de statistiques spécifiques.+Les valeurs minimales de l'UID et du GID utilisés par défaut lors de la création d'un utilisateur sont stipulées dans le fichier **/etc/login.defs** :
  
-Les champs relatifs aux processus sont les suivants :+<file> 
 +... 
 +
 +# Min/max values for automatic uid selection in useradd 
 +
 +UID_MIN                  1000 
 +UID_MAX                 60000 
 +# System accounts 
 +#SYS_UID_MIN              100 
 +#SYS_UID_MAX              999
  
-  * r — Le nombre de processus exécutables attendant d'avoir accès au CPU +# 
-  * b — Le nombre de processus exécutables dans un état de veille qui ne peut être interrompu+# Min/max values for automatic gid selection in groupadd 
 +
 +GID_MIN                  1000 
 +GID_MAX                 60000 
 +# System accounts 
 +#SYS_GID_MIN              100 
 +#SYS_GID_MAX              999 
 +... 
 +</file>
  
-Les champs relatifs à la mémoire sont les suivants :+=====LAB #1 - Gérer les Utilisateurs et les Groupes=====
  
-  swpd — La quantité de mémoire virtuelle utilisée +Créez maintenant trois groupes **groupe1**, **groupe2** et **groupe3**. La valeur du GID du groupe **groupe3** doit être de **1807** :
-  free — La quantité de mémoire libre +
-  buff — La quantité de mémoire utilisée par les tampons (ou buffers) +
-  cache — La quantité de mémoire utilisée comme cache de pages+
  
-Les champs relatifs au swap sont les suivants :+<code> 
 +root@debian11:~# groupadd groupe1; groupadd groupe2; groupadd -g 1807 groupe3 
 +</code>
  
-  si — La quantité de mémoire chargée depuis le disque +Créez maintenant trois utilisateurs **fenestros1**, **fenestros2** et **fenestros3**. Les trois utilisateurs ont pour groupe principal **groupe1**, **groupe2** et **groupe3** respectivement. **fenestros2** est aussi membre des groupes **groupe1** et **groupe3**. **fenestros1** à un GECOS de **tux1** :
-  so — La quantité de mémoire déchargée sur le disque+
  
-Les champs relatifs aux Entrées/Sorties (E/S) sont les suivants :+<code> 
 +root@debian11:~# useradd -g groupe2 fenestros2; useradd -g 1807 fenestros3; useradd -g groupe1 fenestros1
  
-  * bi — Blocs envoyés vers un périphérique blocs +root@debian11:~# usermod -G groupe1,groupe3 fenestros2
-  * bo— Blocs reçus d'un périphérique blocs +
  
-Les champs relatifs au système sont les suivants :+root@debian11:~# usermod -c "tux1" fenestros1 
 +</code>
  
-  in — Nombre d'interruptions par seconde +En consultant la fin de votre fichier **/etc/passwd**, vous obtiendrez un résultat similaire à celui-ci :
-  cs — Nombre de changements de contexte par seconde+
  
-Les champs relatifs au CPU sont les suivants :+<code> 
 +root@debian11:~# tail /etc/passwd 
 +pulse:x:110:116:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin 
 +saned:x:111:119::/var/lib/saned:/usr/sbin/nologin 
 +colord:x:112:120:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin 
 +lightdm:x:113:121:Light Display Manager:/var/lib/lightdm:/bin/false 
 +trainee:x:1000:1000:trainee,,,:/home/trainee:/bin/bash 
 +systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin 
 +sshd:x:114:65534::/run/sshd:/usr/sbin/nologin 
 +fenestros2:x:1001:1002::/home/fenestros2:/bin/sh 
 +fenestros3:x:1002:1807::/home/fenestros3:/bin/sh 
 +fenestros1:x:1003:1001:tux1:/home/fenestros1:/bin/sh 
 +</code>
  
-  * us — Le pourcentage de temps pendant lequel le CPU exécute un code de niveau utilisateur +En regardant la fin de votre fichier **/etc/group**, vous obtiendrez un résultat similaire à celui-ci :
-  sy — Le pourcentage de temps pendant lequel le CPU exécute un code de niveau système +
-  id — Le pourcentage de temps pendant lequel le CPU était inoccupé +
-  wa — Attente d'E/+
- +
-Les options de cette commande sont :+
  
 <code> <code>
-root@debian8:~# vmstat --help+root@debian11:~# tail /etc/group 
 +scanner:x:118:saned,trainee 
 +saned:x:119: 
 +colord:x:120: 
 +lightdm:x:121: 
 +trainee:x:1000: 
 +systemd-coredump:x:999: 
 +mlocate:x:122: 
 +groupe1:x:1001:fenestros2 
 +groupe2:x:1002: 
 +groupe3:x:1807:fenestros2 
 +</code>
  
-Usage: +Créez le mot de passe **fenestros** pour le **groupe3** :
- vmstat [options] [delay [count]]+
  
-Options: +<code
- -a, --active           active/inactive memory +root@debian11:~# gpasswd groupe3 
- -f, --forks            number of forks since boot +Changing the password for group groupe3 
- -m, --slabs            slabinfo +New Password: fenestros 
- -n, --one-header       do not redisplay header +Re-enter new password: fenestros
- -s, --stats            event counter statistics +
- -d, --disk             disk statistics +
- -D, --disk-sum         summarize disk statistics +
- -p, --partition <dev partition specific statistics +
- -S, --unit <char>      define display unit +
- -w, --wide             wide output +
- +
- -h, --help     display this help and exit +
- -V, --version  output version information and exit +
- +
-For more details see vmstat(8).+
 </code> </code>
  
 <WRAP center round important> <WRAP center round important>
-**Important** : Par défaut la commande vmstat affiche des informations depuis le démarrage du système.+**Important** : Notez que les mots de passe saisis ne seront **pas** visibles.
 </WRAP> </WRAP>
  
-==mpstat== +Consultez la fin de votre fichier **/etc/gshadow** :
- +
-La commande **mpstat** affiche des statistiques détaillées sur le CPU :+
  
 <code> <code>
-root@debian8:~# mpstat +root@debian11:~# tail /etc/gshadow 
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (1 CPU) +scanner:!::saned,trainee 
- +saned:!:: 
-09:54:31 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle +colord:!:
-09:54:31 AM  all   27.49    0.00    5.59    0.77    0.00    0.22    0.00    0.00    0.00   65.92+lightdm:!:: 
 +trainee:!:: 
 +systemd-coredump:!*:: 
 +mlocate:!:: 
 +groupe1:!::fenestros2 
 +groupe2:!:: 
 +groupe3:$6$QEb2./zgnba/w1$FZ6hbzzcsZmoraLn2tNUhXd3F8K8yUI14.u7cVp2GPteBLJ6h0iNcjnhCsjS5/Wp8u8pe8nXpn/9UFsOXEGJ90::fenestros2
 </code> </code>
  
-Dans le cas où vous avez plusieurs processeurs ou coeurs, vous pouvez visualiser ces mêmes informations par unité de traitement :+<WRAP center round important> 
 +**Important** Notez la présence du mot de passe crypté pour le **groupe3**. 
 +</WRAP>
  
-<code> +Nommez maintenant **fenestros1** administrateur du **groupe3** :
-root@debian8:~# mpstat -P ALL +
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (1 CPU)+
  
-09:54:59 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle +<code> 
-09:54:59 AM  all   27.50    0.00    5.59    0.77    0.00    0.22    0.00    0.00    0.00   65.92 +root@debian11:~# gpasswd -A fenestros1 groupe3
-09:54:59 AM    0   27.50    0.00    5.59    0.77    0.00    0.22    0.00    0.00    0.00   65.92+
 </code> </code>
  
-Pour afficher 5 jeux de statistiques à des intervales de 2 secondes pour tous les unités de traitement, il convient d'utiliser la commande suivante :+Consultez la fin de votre fichier **/etc/gshadow** de nouveau :
  
 <code> <code>
-root@debian8:~# mpstat -P ALL 2 5 +root@debian11:~# tail /etc/gshadow 
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (1 CPU)+scanner:!::saned,trainee 
 +saned:!:: 
 +colord:!:: 
 +lightdm:!:: 
 +trainee:!:: 
 +systemd-coredump:!*:: 
 +mlocate:!:: 
 +groupe1:!::fenestros2 
 +groupe2:!:: 
 +groupe3:$6$QEb2./zgnba/w1$FZ6hbzzcsZmoraLn2tNUhXd3F8K8yUI14.u7cVp2GPteBLJ6h0iNcjnhCsjS5/Wp8u8pe8nXpn/9UFsOXEGJ90:fenestros1:fenestros2 
 +</code>
  
-09:59:58 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle +<WRAP center round important> 
-10:00:00 AM  all   24.10    0.00    6.15    0.00    0.00    0.51    0.00    0.00    0.00   69.23 +**Important** L'utilisateur **fenestros1** peut maintenant administrer le groupe **groupe3** en y ajoutant ou en y supprimant des utilisateurs à condition de connaître le mot de passe du groupe
-10:00:00 AM    0   24.10    0.00    6.15    0.00    0.00    0.51    0.00    0.00    0.00   69.23+</WRAP>
  
-10:00:00 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle +Essayez maintenant de supprimer le groupe **groupe3** :
-10:00:02 AM  all   87.06    0.00   11.76    0.00    0.00    0.00    0.00    0.00    0.00    1.18 +
-10:00:02 AM    0   87.06    0.00   11.76    0.00    0.00    0.00    0.00    0.00    0.00    1.18+
  
-10:00:02 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle +<code> 
-10:00:04 AM  all   44.94    0.00    7.30    0.00    0.00    0.00    0.00    0.00    0.00   47.75 +root@debian11:~# groupdel groupe3 
-10:00:04 AM    0   44.94    0.00    7.30    0.00    0.00    0.00    0.00    0.00    0.00   47.75+groupdelcannot remove the primary group of user 'fenestros3' 
 +</code>
  
-10:00:04 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle +<WRAP center round important> 
-10:00:06 AM  all   36.32    0.00    6.32    0.00    0.00    0.00    0.00    0.00    0.00   57.37 +**Important** En effet, vous ne pouvez pas supprimer un groupe tant qu'un utilisateur le possède comme son groupe principal
-10:00:06 AM    0   36.32    0.00    6.32    0.00    0.00    0.00    0.00    0.00    0.00   57.37+</WRAP>
  
-10:00:06 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle +Supprimez donc l'utilisateur **fenestros3** :
-10:00:08 AM  all   53.41    0.00   10.80    0.00    0.00    0.00    0.00    0.00    0.00   35.80 +
-10:00:08 AM    0   53.41    0.00   10.80    0.00    0.00    0.00    0.00    0.00    0.00   35.80+
  
-Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle +<code> 
-Average:     all   48.18    0.00    8.36    0.00    0.00    0.11    0.00    0.00    0.00   43.34 +root@debian11:~# userdel fenestros3
-Average      0   48.18    0.00    8.36    0.00    0.00    0.11    0.00    0.00    0.00   43.34+
 </code> </code>
  
-Les options de cette commande sont :+Ensuite essayez de supprimer le groupe **groupe3** :
  
 <code> <code>
-root@debian8:~# mpstat --help +root@debian11:~# groupdel groupe3
-Usage: mpstat [ options ] [ <interval> [ <count> ] ] +
-Options are: +
-[ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ] +
-[ -P { <cpu> [,...] | ON | ALL } ]+
 </code> </code>
  
-==sar==+<WRAP center round important> 
 +**Important** : Notez que cette fois-ci la commande est exécutée sans erreur. 
 +</WRAP>
  
-La commande **sar** permet de surveiller toutes les ressources du système selon l'option qui est passée en argument à la commandeQuelques options importantes sont :+Le fait de supprimer un utilisateur **sans** l'option **-r** implique que le répertoire personnel de l'utilisateur demeure sur la machine
  
-^ Option ^ Description ^ +Sous Debian les répertoires personnels des utilisateurs n'ont pas été créés parce que les directives n'ont pas été activées dans le fichier **/etc/default/useradd** et que nous n'avons pas spécifier la création du répertoire lors de l'utilisation de la commande **useradd** avec l'option **-m** :
-| -u | Pourcentage d'utilisation du CPU | +
-| -q | Nombre de processus en attente | +
-| -r | Utilisation de la mémoire centrale | +
-| -w | Surveillance du swapping | +
-| -p | Surveillance de la pagination | +
-| -b | Utilisation des tampons | +
-| -d | Utilisation des disques | +
- +
-Sous Debian 8 la commande **/usr/lib/sysstat/sadc** permet de collecter les informations :+
  
 <code> <code>
-root@debian8:~# ls /usr/lib/sysstat+root@debian11:~# cat /etc/default/useradd 
-debian-sa1  sa1  sa2  sadc+# Default values for useradd(8) 
 +
 +# The SHELL variable specifies the default login shell on your 
 +# system. 
 +# Similar to DSHELL in adduser. However, we use "sh" here because 
 +# useradd is a low level utility and should be as general 
 +# as possible 
 +SHELL=/bin/sh 
 +
 +# The default group for users 
 +# 100=users on Debian systems 
 +# Same as USERS_GID in adduser 
 +# This argument is used when the -n flag is specified. 
 +# The default behavior (when -n and -g are not specified) is to create a 
 +# primary user group with the same name as the user being added to the 
 +# system. 
 +# GROUP=100 
 +
 +# The default home directory. Same as DHOME for adduser 
 +# HOME=/home 
 +
 +# The number of days after a password expires until the account  
 +# is permanently disabled 
 +# INACTIVE=-1 
 +
 +# The default expire date 
 +# EXPIRE= 
 +
 +# The SKEL variable specifies the directory containing "skeletal" user 
 +# files; in other words, files such as a sample .profile that will be 
 +# copied to the new user's home directory when it is created. 
 +# SKEL=/etc/skel 
 +
 +# Defines whether the mail spool should be created while 
 +# creating the account 
 +# CREATE_MAIL_SPOOL=yes
 </code> </code>
  
-Les scripts **/usr/lib/sa/sa1** et **/usr/lib/sysstat/sa1** exécutent la commande **sadc**. Sous Debian 8, c'est le script **debian-sa1** qui est appelé à la place de **sa1** afin de rectifier une bogue dans ce dernier ( Bug#499461 ). Ce script, tout comme le script **sa1**, prend deux options :+Otez donc le caractère **#** devant les lignes suivantes :
  
-^ Option ^ Description ^ +<code> 
-| -t | L'interval entre les collectes | +root@debian11:~# vi /etc/default/useradd
-| -n | Nombre de collectes |+
  
-Les scripts **/usr/lib/sa/sa2** et **/usr/lib/sysstat/sa2** exécutent la commande **sar** et consignent les informations dans un fichier au format **/var/log/sa/sar<jj>** ou **/var/log/sysstat/sar<jj>** selon la distribution.  +root@debian11:~# cat /etc/default/useradd 
- +# Default values for useradd(8)
-Pour pouvoir fonctionner correctement, ces scripts doivent être appelés par **cron**.  +
- +
-Pour activer la collecte des données sous Debian 8, éditez le fichier **/etc/default/sysstat** ainsi : +
- +
-<code> +
-root@debian8:~# cat /etc/default/sysstat+
 # #
-Default settings for /etc/init.d/sysstat/etc/cron.d/sysstat +The SHELL variable specifies the default login shell on your 
-# and /etc/cron.daily/sysstat files+# system. 
 +# Similar to DSHELL in adduser. Howeverwe use "sh" here because 
 +useradd is a low level utility and should be as general 
 +# as possible 
 +SHELL=/bin/sh
 # #
- +# The default group for users 
-Should sadc collect system activity informations? Valid values +100=users on Debian systems 
-# are "trueand "false". Please do not put other valuesthey +Same as USERS_GID in adduser 
-will be overwritten by debconf! +# This argument is used when the -n flag is specified. 
-ENABLED="true"+# The default behavior (when -n and -g are not specified) is to create a 
 +# primary user group with the same name as the user being added to the 
 +# system. 
 +GROUP=100 
 +
 +# The default home directory. Same as DHOME for adduser 
 +HOME=/home 
 +
 +# The number of days after a password expires until the account  
 +# is permanently disabled 
 +INACTIVE=-1 
 +
 +# The default expire date 
 +EXPIRE= 
 +
 +# The SKEL variable specifies the directory containing "skeletaluser 
 +# files; in other wordsfiles such as a sample .profile that will be 
 +copied to the new user's home directory when it is created. 
 +SKEL=/etc/skel 
 +
 +# Defines whether the mail spool should be created while 
 +# creating the account 
 +CREATE_MAIL_SPOOL=yes
 </code> </code>
  
-Modifiez le fichier **/etc/cron.d/sysstat** ainsi :+Pour tester la configuration, créez un utilisateur test :
  
 <code> <code>
-root@debian8:~# cat /etc/cron.d/sysstat  +root@debian11:~# useradd -m test 
-# The first element of the path is a directory where the debian-sa1 +</code>
-# script is located +
-PATH=/usr/lib/sysstat:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin+
  
-# Activity reports every 10 minutes everyday +Vérifiez que l'utilisateur test a un répertoire personnel :
-#5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1 +
-*/2 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1+
  
-# Additional run at 23:59 to rotate the statistics file +<code> 
-59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2+root@debian11:~# ls -/home 
 +total 8 
 +drwxr-xr-x  test    test    4096 Jun  5 13:01 test 
 +drwxr-xr-x 17 trainee trainee 4096 Jun  3 17:39 trainee
 </code> </code>
  
-Attendez deux minutes puis saisissez les commandes suivantes :+Créez maintenant les répertoires personnels de fenestros1 et fenestros2 :
  
 <code> <code>
-root@debian8:~# sar +root@debian11:~# mkdir /home/fenestros1 /home/fenestros2
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (1 CPU) +
- +
-01:35:01 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle +
-01:40:01 PM     all     23.84      0.00      4.69      0.11      0.00     71.36 +
-Average:        all     23.84      0.00      4.69      0.11      0.00     71.36+
 </code> </code>
 +
 +Copiez le contenu du répertoire **/etc/skel** dans les répertoires **/home/fenestros1** et **/home/fenestros2** :
  
 <code> <code>
-root@debian8:~# sar -u 5 3 +root@debian11:~# cp -r /etc/skel/.[a-zA-Z]* /home/fenestros1 
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (1 CPU) +root@debian11:~# cp -r /etc/skel/.[a-zA-Z]* /home/fenestros2
- +
-01:41:52 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle +
-01:41:57 PM     all     11.29      0.00      4.31      0.00      0.00     84.39 +
-01:42:02 PM     all     11.02      0.00      4.78      0.00      0.00     84.20 +
-01:42:07 PM     all      6.79      0.00      1.85      2.47      0.00     88.89 +
-Average:        all      9.70      0.00      3.65      0.83      0.00     85.83+
 </code> </code>
 +
 +Modifiez le propriétaire et le groupe pour les répertoires **/home/fenestros1** et **/home/fenestros2** :
  
 <code> <code>
-root@debian8:~# sar -r 5 3 +root@debian11:~# chown -R fenestros1:groupe1 /home/fenestros1 
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (1 CPU) +root@debian11:~# chown -R fenestros2:groupe2 /home/fenestros2
- +
-01:42:53 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty +
-01:42:58 PM    221948    809916     78.49     38732    244904   2126568     71.28    485024    267320        20 +
-01:43:03 PM    221892    809972     78.50     38740    244904   2126568     71.28    485044    267316       176 +
-01:43:08 PM    221912    809952     78.49     38748    244904   2126568     71.28    485052    267316       224 +
-Average:       221917    809947     78.49     38740    244904   2126568     71.28    485040    267317       140+
 </code> </code>
  
-<code> +Créez maintenant les mots de passe pour **fenestros1** et **fenestros2**Indiquez un mot de passe identique au nom du compte :
-root@debian8:~# sar -w 5 3 +
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (1 CPU) +
- +
-01:43:54 PM    proc/  cswch/+
-01:43:59 PM      0.00    539.92 +
-01:44:04 PM      1.24    599.18 +
-01:44:09 PM      0.00    317.45 +
-Average:         0.41    485.32 +
-</code>+
  
 <code> <code>
-root@debian8:~# sar -b 5 3 +root@debian11:~# passwd fenestros1 
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (1 CPU) +New password: fenestros1 
- +Retype new passwordfenestros1 
-01:44:36 PM       tps      rtps      wtps   bread/  bwrtn/s +passwdpassword updated successfully 
-01:44:41 PM      2.44      0.00      2.44      0.00     30.16 +root@debian11:~# passwd fenestros2 
-01:44:46 PM      0.00      0.00      0.00      0.00      0.00 +New passwordfenestros2 
-01:44:51 PM      0.00      0.00      0.00      0.00      0.00 +Retype new passwordfenestros2 
-Average        0.78      0.00      0.78      0.00      9.64+passwdpassword updated successfully
 </code> </code>
  
-<code+<WRAP center round important
-root@debian8:~# sar -d 5 3 +**Important** Notez que les règles concernant la création de mots de passe ne sont pas appliqués aux mots de passe créés par rootNotez aussi que les mots de passe saisis ne seront **PAS** visibles. 
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (1 CPU)+</WRAP>
  
-01:44:48 PM       DEV       tps  rd_sec/ wr_sec/ avgrq-sz  avgqu-sz     await     svctm     %util +=====LAB #2 Forcer l'utilisation des mots de passe complexe avec PAM=====
-01:44:53 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00+
  
-01:44:53 PM       DEV       tps  rd_sec/ wr_sec/ avgrq-sz  avgqu-sz     await     svctm     %util +====2.1 Présentation de PAM====
-01:44:58 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00+
  
-01:44:58 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util +**PAM** ( //Pluggable Authentification Modules// ou Modules d'Authentification Enfichables ) est une architecture modulaire permettant à l'administrateur système de définir une politique d'authentification pour les logiciels prenant en charge PAM.
-01:45:03 PM    dev8-0      1.28      0.00     23.98     18.67      0.00      2.00      2.00      0.26+
  
-Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util +Les fichiers de configuration se trouvent dans le répertoire **/etc/pam.d** :
-Average      dev8-0      0.43      0.00      7.97     18.67      0.00      2.00      2.00      0.09 +
-</code>+
  
 <code> <code>
-root@debian8:~# sar -p 5 3 +root@debian11:~# ls -l /etc/pam.
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (CPU) +total 104 
- +-rw-r--r-- 1 root root  384 Feb  7  2020 chfn 
-01:45:23 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle +-rw-r--r-- 1 root root   92 Feb  7  2020 chpasswd 
-01:45:28 PM     all     59.87      0.00     11.28      0.00      0.00     28.85 +-rw-r--r-- 1 root root  581 Feb  7  2020 chsh 
-01:45:33 PM     all     48.01      0.00      9.43      1.26      0.00     41.30 +-rw-r--r-- 1 root root 1208 Apr 25 06:49 common-account 
-01:45:38 PM     all     45.91      0.00      9.70      0.00      0.00     44.40 +-rw-r--r-- 1 root root 1214 Apr 25 06:49 common-auth 
-Average       all     51.21      0.00     10.13      0.43      0.00     38.23+-rw-r--r-- 1 root root 1660 Apr 25 06:49 common-password 
 +-rw-r--r-- 1 root root 1146 Apr 25 06:49 common-session 
 +-rw-r--r-- 1 root root 1154 Apr 25 06:49 common-session-noninteractive 
 +-rw-r--r-- root root  606 Feb 22  2021 cron 
 +-rw-r--r-- 1 root root   69 May 27  2021 cups 
 +-rw-r--r-- 1 root root 1354 Feb  3  2020 lightdm 
 +-rw-r--r-- 1 root root 1428 Feb  3  2020 lightdm-autologin 
 +-rw-r--r-- 1 root root  493 Feb  3  2020 lightdm-greeter 
 +-rw-r--r-- 1 root root 4126 Feb  7  2020 login 
 +-rw-r--r-- 1 root root   92 Feb  7  2020 newusers 
 +-rw-r--r-- 1 root root  520 Jan 30  2021 other 
 +-rw-r--r-- 1 root root   92 Feb  7  2020 passwd 
 +-rw-r--r-- 1 root root  270 Jan 13 20:32 polkit-1 
 +-rw-r--r-- 1 root root  168 Jan  7  2021 ppp 
 +-rw-r--r-- 1 root root  143 Jan 20 20:55 runuser 
 +-rw-r--r-- 1 root root  138 Jan 20 20:55 runuser-l 
 +-rw-r--r-- 1 root root 2133 Mar 13  2021 sshd 
 +-rw-r--r-- 1 root root 2259 Jan 20 20:55 su 
 +-rw-r--r-- 1 root root   95 Feb 27  2021 sudo 
 +-rw-r--r-- 1 root root  137 Jan 20 20:55 su-l
 </code> </code>
 +
 +Ces fichiers ont une structure spécifique et sont nommés d'après le service ou l'application qu'ils contrôlent. Leur contenu fait appel à des modules qui se trouvent dans le répertoire **/lib/x86_64-linux-gnu/security** :
  
 <code> <code>
-root@debian8:~# sar -v 5 3 +root@debian11:~# ls /lib/x86_64-linux-gnu/security 
-Linux 3.16.0-4-686-pae (debian8) 11/02/2015 _i686_ (1 CPU) +pam_access.so  pam_faildelay.so      pam_issue.so      pam_loginuid.so   pam_permit.so     pam_sepermit.so    pam_time.so       pam_usertype.so 
- +pam_debug.so   pam_faillock.so       pam_keyinit.so    pam_mail.so       pam_pwhistory.so  pam_setquota.so    pam_timestamp.so  pam_warn.so 
-01:45:58 PM dentunusd   file-nr  inode-nr    pty-nr +pam_deny.so    pam_filter.so         pam_lastlog.so    pam_mkhomedir.so  pam_rhosts.so     pam_shells.so      pam_tty_audit.so  pam_wheel.so 
-01:46:03 PM     26140      4576     26525         2 +pam_echo.so    pam_ftp.so            pam_limits.so     pam_motd.so       pam_rootok.so     pam_stress.so      pam_umask.so      pam_xauth.so 
-01:46:08 PM     26140      4576     26525         2 +pam_env.so     pam_gnome_keyring.so  pam_listfile.so   pam_namespace.so  pam_securetty.so  pam_succeed_if.so  pam_unix.so 
-01:46:13 PM     26140      4576     26525         2 +pam_exec.so    pam_group.so          pam_localuser.so  pam_nologin.so    pam_selinux.so    pam_systemd.so     pam_userdb.so
-Average:        26140      4576     26525         2+
 </code> </code>
  
-Les options de cette commande sont :+Les modules les plus importants sont : 
 + 
 +^ Module ^ Description ^ 
 +| pam_access.so | Ce module est utilisé pour interdire l'accès aux services sécurisés par des hôtes non-autorisés. | 
 +| pam_echo.so | Ce module présente le contenu du fichier passé en argument à tout utilisateur lors de sa connexion. | 
 +| pam_limits.so | Ce module implémente les limites des ressources détaillées dans le fichier **/etc/security/limits.conf** et dans les fichiers ***.conf** trouvés dans le répertoire **/etc/security/limits.d/**. | 
 +| pam_listfile.so | Ce module est utilisé pour consulter un fichier spécifique pour vérifier les authiorisations. Par exemple, le service ftp utilise ce module pour consulter le fichier **/etc/ftpusers** qui contient une liste d'utilisateurs qui ne sont **pas** autorisés à se connecter au serveur ftp. | 
 +| pam_nologin.so | Ce module interdit les connexions d'utilisteurs, autre que root, dans le cas où le fichier **/etc/nologin** est présent. | 
 +| pam_securetty.so | Ce module interdit des connexions de root à partir des périphériques tty qui ne sont pas listés dans le fichier **/etc/securetty**. | 
 +| pam_unix.so | Ce module est utilisé pour vérifier les informations suivantes ; expire, last_change, max_change, min_change, warn_change. | 
 + 
 +Chaque fichier dans /etc/pam.d contient les règles PAM utilisées pendant l'authentification. Ouvrez le fichier **login** :
  
 <code> <code>
-root@debian8:~# sar --help +root@debian11:~# cat /etc/pam.d/login 
-Usage: sar [ options ] [ <interval> [ <count> ] ] +# 
-Options are: +# The PAM configuration file for the Shadow `login' service 
-[ -A ] [ -B ] [ -b ] [ -C ] [ -D ] [ -] [ -F ] [ -H ] [ -h ] [ -p ] [ -q ] +#
-[ -R ] [ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ] +
-[ -I { <int> [,...] | SUM | ALL | XALL } ] [ -P { <cpu> [,...] | ALL } ] +
-[ -m { <keyword> [,...] | ALL } ] [ -n { <keyword> [,...] | ALL } ] +
-[ -j { ID | LABEL | PATH | UUID | ... } ] +
-[ -f [ <filename> ] | -o [ <filename> ] | -[0-9]+ ] +
-[ -i <interval> ] [ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ] +
-</code>+
  
-===Utilisation des commandes en production===+# Enforce a minimal delay in case of failure (in microseconds). 
 +# (Replaces the `FAIL_DELAY' setting from login.defs) 
 +# Note that other modules may require another minimal delay. (for example, 
 +# to disable any delay, you should add the nodelay option to pam_unix) 
 +auth       optional   pam_faildelay.so  delay=3000000
  
-==Identifier un système limité par le processeur==+# Outputs an issue file prior to each login prompt (Replaces the 
 +# ISSUE_FILE option from login.defs). Uncomment for use 
 +# auth       required   pam_issue.so issue=/etc/issue
  
-Dans ce cas utilisez les commandes suivantes :+# Disallows other than root logins when /etc/nologin exists 
 +# (Replaces the `NOLOGINS_FILE' option from login.defs) 
 +auth       requisite  pam_nologin.so
  
-  * uptime ou w +# SELinux needs to be the first session rule. This ensures that any 
-  * vmstat +# lingering context has been cleared. Without this it is possible 
-  * mpstat -P ALL +# that a module could execute code in the wrong domain. 
-  * sar -u +# When the module is present, "required" would be sufficient (When SELinux 
-  * iostat -c+# is disabled, this returns success.) 
 +session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
  
-==Identifier un système ayant un problème de mémoire==+# Sets the loginuid process attribute 
 +session    required     pam_loginuid.so
  
-Dans ce cas utilisez les commandes suivantes :+# Prints the message of the day upon successful login. 
 +# (Replaces the `MOTD_FILE' option in login.defs) 
 +# This includes a dynamically generated part from /run/motd.dynamic 
 +# and a static (admin-editable) part from /etc/motd. 
 +session    optional   pam_motd.so motd=/run/motd.dynamic 
 +session    optional   pam_motd.so noupdate
  
-  * free +# SELinux needs to intervene at login time to ensure that the process 
-  * sar -B+# starts in the proper default security context. Only sessions which are 
 +# intended to run in the user's context should be run after this. 
 +# pam_selinux.so changes the SELinux context of the used TTY and configures 
 +# SELinux in order to transition to the user context with the next execve() 
 +# call. 
 +session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open 
 +# When the module is present, "required" would be sufficient (When SELinux 
 +# is disabled, this returns success.)
  
-==Identifier un système ayant un problème d'E/S==+# This module parses environment configuration file(s) 
 +# and also allows you to use an extended config 
 +# file /etc/security/pam_env.conf. 
 +#  
 +# parsing /etc/environment needs "readenv=1" 
 +session       required   pam_env.so readenv=
 +# locale variables are also kept into /etc/default/locale in etch 
 +# reading this file *in addition to /etc/environment* does not hurt 
 +session       required   pam_env.so readenv=1 envfile=/etc/default/locale
  
-Utilisez la commande :+# Standard Un*x authentication. 
 +@include common-auth
  
-  * iostat -d -x+# This allows certain extra groups to be granted to a user 
 +# based on things like time of day, tty, service, and user. 
 +# Please edit /etc/security/group.conf to fit your needs 
 +# (Replaces the `CONSOLE_GROUPS' option in login.defs) 
 +auth       optional   pam_group.so
  
-=====Modules usb=====+# Uncomment and edit /etc/security/time.conf if you need to set 
 +# time restraint on logins. 
 +# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs 
 +# as well as /etc/porttime) 
 +# account    requisite  pam_time.so
  
-L'**USB** (//Universal Serial Bus//) est un bus de données qui peut offrir des taux de transfert jusqu'à 480Mb/s sous la version 2.0 et jusqu'à 4.8 Gb/s sous la version 3.0Les modules nécessaires pour les contrôleurs USB sont :+# Uncomment and edit /etc/security/access.conf if you need to 
 +# set access limits. 
 +# (Replaces /etc/login.access file) 
 +# account  required       pam_access.so
  
-^ Version USB ^ Module ^ Nom Complet ^ +# Sets up user limits according to /etc/security/limits.conf 
-|  1.0\1.1  | **UHCI** | //Universal Controller Host Interface// | +# (Replaces the use of /etc/limits in old login) 
-|  :::  | **OHCI** | //Open Controller Host Interface// | +session    required   pam_limits.so
-|  2.0  | **EHCI** | //Enhanced Host Controller Interface// | +
-|  3.0  | **XHCI** | //Extensible Host Controller Interface// |+
  
-Le tableau suivant liste les modules courrament chargés en fonction du périphérique utilisé :+# Prints the last login info upon successful login 
 +# (Replaces the `LASTLOG_ENAB' option from login.defs) 
 +session    optional   pam_lastlog.so
  
-^ Module ^ Type de Périphérique ^  +# Prints the status of the user's mailbox upon successful login 
-|  **usb_storage**  | Supports de masse | +(Replaces the `MAIL_CHECK_ENAB' option from login.defs) 
-|  **usbhid**  | Periphériques HID (//Human Interface Device//| +# 
-|  **snd-usb-audio**  | Cartes son usb | +# This also defines the MAIL environment variable 
-|  **usbvidéo**  | Cartes vidéo et d'acquisition | +# However, userdel also needs MAIL_DIR and MAIL_FILE variables 
-|  **irda-usb**  | Périphériques infrarouges | +# in /etc/login.defs to make sure that removing a user  
-|  **usbnet**  | Cartes réseaux usb |+# also removes the user's mail spool file. 
 +# See comments in /etc/login.defs 
 +session    optional   pam_mail.so standard
  
-Les modules peuvent être chargés par un des moyens suivants :+# Create a new session keyring. 
 +session    optional   pam_keyinit.so force revoke
  
-  INITrd, +# Standard Un*x account and session 
-  * Le processus init, +@include common-account 
-  * kmod, d'une manière dynamique et transparente lors du branchement du périphérique, en utilisant le fichier **/lib/modules/2.6.18-194.3.1.el5/modules.usbmap**, +@include common-session 
-  * udev, +@include common-password 
-  * manuellement.+</code>
  
-<WRAP center round todo> +La première ligne de ce fichier est un commentaire qui spécifie que le fichier est conforme à la spécification PAM 1.0.
-**A faire** : Branchez une clef USB avant de continuer. Si vous utilisez %%VirtualBox%%, activez la clef dans votre machine virtuelle grâce aux menus **Périphériques > Périphériques USB > le_nom_de_votre_clef**. +
-</WRAP>+
  
-=====udev=====+Ce fichier, tout comme les autres, est ensuite structuré de la façon suivante :
  
-Depuis le noyau Linux 2.6 Linux est capable de détecter des périphériques branchés à chaud. Cette technologie s'appelle le **//hotplugging//**. Le //hotplugging// est obtenu grâce à l'utilisation de trois composants :+  Une module par ligne, 
 +  Quatre champs séparés par un espace dans chaque règle dont les trois premières sont obligatoires.
  
-  Udev, +Le **premier champs** est le //**type de module**//Il en existe quatre :
-  HAL, +
-  Dbus.+
  
-Les rôles de chaque composant sont les suivants :+^ Type ^ Description ^ 
 +| **auth** | Utilisé pour authentifier un utilisateur ou les pré-requis système ( par exemple /etc/nologin ) | 
 +| **account** | Utilisé pour vérifier si l'utilisateur peut s'authentifier ( par exemple la validité du compte ) | 
 +| **password** | Utilisé pour vérifier si l'utilisateur dispose des droits pour mettre le mécanisme d'authentification à jour | 
 +| **session** | Utilisé pour gérer la session après l'authentification ( par exemple monter un répertoire ) |
  
-  Udev se charge de créer et supprimer d'une manière dynamique les nœuds dans le répertoire **/dev**+Le **deuxième champs** est le //**Control-flag**//. Il en existe quatre :
-  HAL obtient des informations à partir d'Udev et créé un fichier au format XML représentant le périphérique branché. Il informe ensuite Nautilus en utilisant le Dbus, +
-  * Dbus joue le rôle d'un bus système qui est utilisé pour la communication inter-processus.+
  
-Lors de démarrage de LinuxUdev joue un rôle important :+^ Control-flag ^ Description ^ 
 +| **required** | La réussite de ce module est indispensable. L'échec d'un module //required// n'est communiqué à l'application qu'après la vérification de tous les modules ayant un //control-flag// de **required**| 
 +| **requisite** | La réussite de ce module est indispensable. L'échec d'un module //requisite// est immédiatement communiqué à l'application | 
 +| **sufficient** | La réussite de ce module est suffisant pour authoriser l'authentification. Si aucun test //required// précédent est en échecla vérification s'arrête. Si un test //required// précédent était en échec, le test //sufficient// est ignoré. L'échec d'un test //sufficient// n'a pas de conséquence si tous les tests //required// réussissent. 
 +| **optional** | La réussite ou l'échec de ce module est sans importance, **sauf** s'il s'agit du seul module à exécuter | 
 +| **@include** | Ce control-flag permet d'inclure toutes les lignes du même //type de module// se trouvant dans le fichier spécifié en argument |
  
-  Au démarrage **tmpfs** est monté sur /dev, +Le **troisième champs** stipule le //**module**// associé à la règle. Sans chemin absolu, le fichier est supposé être dans le répertoire **/lib/x86_64-linux-gnu/security**. Pour inclure un module en dehors de ce répertoire il convient donc de stipuler son chemin absolu.
-  Udev copie les éventuels nœuds statiques de **/lib/udev/devices** vers /dev, +
-  * le démon **udevd** collecte des données appelées **uevents** du noyau et cherche une règle correspondante dans le répertoire **/lib/udev/rules.d/**+
-  * Udev crée les nœuds et liens symboliques spécifiés dans la règle identifiée, +
-  * Udev stocke les règles contenues dans **/lib/udev/rules.d/*.rules** en mémoire, +
-  * En cas de modification des ces règles, Udev met à jour la mémoire.+
  
-Udev repose sur le filesystem **sysfs** monté sur /sys qui permet de rendre les périphériques visibles à Udev dans l'//User Space//. Par exemple, lors du branchement d'une clé USB, Udev crée **/dev/sdb1** automatiquement et utilise les informations contenues dans le fichier **/lib/modules/`uname -r`/modules.alias** pour trouver le pilote nécessaire :+Le **quatrième champs** contient éventuellement les **arguments**.
  
-Le fichier de configuration principal d'Udev est **/etc/udev/udev.conf** :+Dernièrement, PAM propose une solution pour toutes les applications ne disposant pas de leurs propres fichiers de configuration PAM. Cette solution prend la forme du fichier **/etc/pam.d/other** :
  
 <code> <code>
-root@debian8:~# cat /etc/udev/udev.conf +root@debian11:~# cat /etc/pam.d/other
-# see udev(7) for details+
 # #
-udevd is started in the initramfs, so when this file is modified the +/etc/pam.d/other - specify the PAM fallback behaviour 
-initramfs should be rebuilt.+
 +# Note that this file is used for any unspecified service; for example 
 +#if /etc/pam.d/cron  specifies no session modules but cron calls 
 +#pam_open_session, the session module out of /etc/pam.d/other is 
 +#used.  If you really want nothing to happen then use pam_permit.so or 
 +#pam_deny.so as appropriate.
  
-#udev_log="info" +We fall back to the system default in /etc/pam.d/common-* 
-</code>+
  
-Les fichiers de règles se trouvent dans **/lib/udev/rules.d/** : +@include common-auth 
- +@include common-account 
-<code> +@include common-password 
-root@debian8:~# ls /lib/udev/rules.d/ +@include common-session
-39-usbmuxd.rules      60-persistent-serial.rules     75-net-description.rules       78-sound-card.rules +
-40-usb-media-players.rules      60-persistent-storage-dm.rules     75-persistent-net-generator.rules       80-drivers.rules +
-40-usb_modeswitch.rules      60-persistent-storage.rules     75-probe_mtd.rules       80-mm-candidate.rules +
-42-usb-hid-pm.rules      60-persistent-storage-tape.rules     75-tty-description.rules       80-net-setup-link.rules +
-50-bluetooth-hci-auto-poweron.rules  60-persistent-v4l.rules     77-mm-cinterion-port-types.rules       80-networking.rules +
-50-firmware.rules      61-accelerometer.rules     77-mm-ericsson-mbm.rules       80-udisks2.rules +
-50-udev-default.rules      61-gnome-bluetooth-rfkill.rules     77-mm-huawei-net-port-types.rules       85-hdparm.rules +
-55-dm.rules      61-gnome-settings-daemon-rfkill.rules  77-mm-longcheer-port-types.rules       85-hplj10xx.rules +
-56-hpmud.rules      64-btrfs.rules     77-mm-mtk-port-types.rules       85-hwclock.rules +
-60-cdrom_id.rules      64-xorg-xkb.rules     77-mm-nokia-port-types.rules       85-regulatory.rules +
-60-crda.rules      69-cd-sensors.rules     77-mm-pcmcia-device-blacklist.rules       90-alsa-restore.rules +
-60-drm.rules      69-libmtp.rules     77-mm-platform-serial-whitelist.rules     90-libgpod.rules +
-60-fuse.rules      69-wacom.rules     77-mm-qdl-device-blacklist.rules       90-pulseaudio.rules +
-60-gnupg.rules      69-xorg-vmmouse.rules     77-mm-simtech-port-types.rules       95-cd-devices.rules +
-60-keyboard.rules      70-power-switch.rules     77-mm-telit-port-types.rules       95-udev-late.rules +
-60-libgphoto2-6.rules      70-printers.rules     77-mm-usb-device-blacklist.rules       95-upower-csr.rules +
-60-libsane.rules      70-uaccess.rules     77-mm-usb-serial-adapters-greylist.rules  95-upower-hid.rules +
-60-open-vm-tools.rules      71-seat.rules     77-mm-x22x-port-types.rules       95-upower-wup.rules +
-60-persistent-alsa.rules      73-idrac.rules     77-mm-zte-port-types.rules       97-hid2hci.rules +
-60-persistent-input.rules      73-seat-late.rules     77-nm-olpc-mesh.rules       99-systemd.rules+
 </code> </code>
  
-<WRAP center round important> +====2.Configuration des modules====
-**Important** : Il vous est possible d'ajouter des règles si besoin estDans ce cas, créez un fichier **99-local.rules** est éditez-le au lieu d'éditer les fichiers existants. +
-</WRAP>+
  
-Comme indique le nom de chaque fichier, le contenu est composé de règles à l'attention d'udev. Le fichier des règles par défaut est le **50-udev-default.rules** :+Certains modules de PAM peuvent être configurés grâce aux fichiers présents dans le répertoire **/etc/security** :
  
 <code> <code>
-root@debian8:~# cat /lib/udev/rules.d/50-udev-default.rules | more +root@debian11:~# ls -l /etc/security 
-# do not edit this file, it will be overwritten on update +total 48 
- +-rw-r--r-- 1 root root 4564 Aug 26  2021 access.conf 
-SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}" +-rw-r--r-- 1 root root 2234 Aug 26  2021 faillock.conf 
- +-rw-r--r-- 1 root root 3635 Aug 26  2021 group.conf 
-# select "system RTC" or just use the first one +-rw-r--r-- 1 root root 2161 Aug 26  2021 limits.conf 
-SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc" +drwxr-xr-x 2 root root 4096 Aug 26  2021 limits.d 
-SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100" +-rw-r--r-- 1 root root 1637 Aug 26  2021 namespace.conf 
- +drwxr-xr-x 2 root root 4096 Aug 26  2021 namespace.d 
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb" +-rwxr-xr-x 1 root root 1016 Aug 26  2021 namespace.init 
-SUBSYSTEM=="input", ENV{ID_INPUT}=="", IMPORT{builtin}="input_id" +-rw------- 1 root root    0 Apr 25 06:30 opasswd 
-ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}" +-rw-r--r-- 1 root root 2971 Aug 26  2021 pam_env.conf 
- +-rw-r--r-- 1 root root  419 Aug 26  2021 sepermit.conf 
-ACTION!="add", GOTO="default_permissions_end" +-rw-r--r-- 1 root root 2179 Aug 26  2021 time.conf
- +
-SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666" +
-SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666" +
-SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620" +
-SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620" +
-SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620" +
-SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620" +
-SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty" +
-KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout" +
-KERNEL=="mISDNtimer", GROUP="dialout" +
-KERNEL=="mwave", GROUP="dialout" +
- +
-SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640" +
-KERNEL=="nvram", GROUP="kmem", MODE="0640" +
- +
-SUBSYSTEM=="input", GROUP="input" +
-SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0664" +
- +
---More--+
 </code> </code>
  
-Chaque règle prend la forme suivante : +Parmi les fichiers cités on note ceux qui peuvent être utilisés pour configurer les modules suivants :
- +
-KEY, [KEY, ...] NAME [, SYMLINK] +
- +
-Chaque KEY est un champ au format **type=valeur** qui doit correspondre à un périphérique unique. La valeur de type peut prendre plusieurs formes : +
- +
-^ Type ^ Description ^ Exemples ^ +
-| BUS | Type de bus | usb, scsi, ide | +
-| KERNEL | Le nom par défault du périphérique donné par le noyau | hda, ttyUSB0, lp0 | +
-| SUBSYSTEM | Le nom noyau du sous-système, généralement identique à la valeur du BUS | usb, scsi | +
-| DRIVER | Le nom du pilote qui contrôle le périphérique | usb-storage | +
-| ID | Le numéro du périphérique sur son bus | PCI bus id, USB id | +
-| PLACE | Ne concerne que les périphériques USB et donne la position topologique du périphérique sur son bus | S/O | +
-| SYSFS{filename} | Le nom du fichier dans /sys pour le périphérique. Ce fichier contient le fabricant, le label, le numéro de série et UUID du périphérique. La vérification de jusqu'à 5 fichiers est possible par règle | S/O | +
-| PROGRAM | Ceci permet à Udev d'appeler un programme externe pour nommer un périphérique | S/O | +
-| RESULT | Valeur à comparer au résultat de PROGRAM | S/O | +
- +
-NAME et SYMLINK sont utilisées pour stipuler ce que Udev doit faire avec le périphérique :+
  
-Type Description ^ Exemples +Fichier///Répertoire// Module 
-NAME Le nome du nœud dans /dev S/O +**access.conf** pam_access.so | 
-SYMLINK Le ou les lien(s) symbolique(s) qui pointe(nt) vers le NAME S/O |+| **faillock.conf** | pam_faillock.so 
 +**group.conf** pam_group.so | 
 +| **limits.conf** | pam_limits.so | 
 +| **namespace.conf** | pam_namespace.so | 
 +| **pam_env.conf** | pam_env.so | 
 +| **sepermit.conf** | pam_sepermit.so | 
 +| **time.conf** | pam_time.so |
  
-====La commande udevadm====+====2.3 - Utiliser des Mots de Passe Complexes====
  
-Pour obtenir de l'information sur un périphérique il convient d'utiliser la commande **udevadm** :+La complexité des mots de passe est gérée par le module **pam_pwquality.so**. Commencez par installer **libpam-pwquality** :
  
 <code> <code>
-root@debian8:~# udevadm info --query=all -n /dev/sda +root@debian11:~# apt-get -y install libpam-pwquality
-P: /devices/pci0000:00/0000:00:0d.0/ata1/host0/target0:0:0/0:0:0:0/block/sda +
-N: sda +
-S: disk/by-id/ata-VBOX_HARDDISK_VB823e2981-6120fc97 +
-E: DEVLINKS=/dev/disk/by-id/ata-VBOX_HARDDISK_VB823e2981-6120fc97 +
-E: DEVNAME=/dev/sda +
-E: DEVPATH=/devices/pci0000:00/0000:00:0d.0/ata1/host0/target0:0:0/0:0:0:0/block/sda +
-E: DEVTYPE=disk +
-E: ID_ATA=1 +
-E: ID_ATA_FEATURE_SET_PM=1 +
-E: ID_ATA_FEATURE_SET_PM_ENABLED=1 +
-E: ID_ATA_SATA=1 +
-E: ID_ATA_SATA_SIGNAL_RATE_GEN2=1 +
-E: ID_ATA_WRITE_CACHE=1 +
-E: ID_ATA_WRITE_CACHE_ENABLED=1 +
-E: ID_BUS=ata +
-E: ID_MODEL=VBOX_HARDDISK +
-E: ID_MODEL_ENC=VBOX\x20HARDDISK\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20 +
-E: ID_PART_TABLE_TYPE=dos +
-E: ID_PART_TABLE_UUID=2d923156 +
-E: ID_REVISION=1.0 +
-E: ID_SERIAL=VBOX_HARDDISK_VB823e2981-6120fc97 +
-E: ID_SERIAL_SHORT=VB823e2981-6120fc97 +
-E: ID_TYPE=disk +
-E: MAJOR=8 +
-E: MINOR=0 +
-E: SUBSYSTEM=block +
-E: TAGS=:systemd: +
-E: USEC_INITIALIZED=9411+
 </code> </code>
  
-===Les options de la commande=== +Vérifiez la présence du module :
- +
-Les options de la commande udevadm sont :+
  
 <code> <code>
-root@debian8:~# udevadm --help +root@debian11:~# ls /lib/x86_64-linux-gnu/security grep quality 
-Usage: udevadm [--help] [--version] [--debug] COMMAND [COMMAND OPTIONS] +pam_pwquality.so
-  info         query sysfs or the udev database +
-  trigger      request events from the kernel +
-  settle       wait for pending udev events +
-  control      control the udev daemon +
-  monitor      listen to kernel and udev events +
-  hwdb         maintain the hardware database index +
-  test         test an event run +
-  test-builtin test a built-in command +
- +
-root@debian8:~# udevadm info --help +
-Usage: udevadm info [OPTIONS] [DEVPATH|FILE] +
- -q,--query=TYPE             query device information: +
-      name                     name of device node +
-      symlink                  pointing to node +
-      path                     sys device path +
-      property                 the device properties +
-      all                      all values +
- -p,--path=SYSPATH           sys device path used for query or attribute walk +
- -n,--name=NAME              node or symlink name used for query or attribute walk +
- -r,--root                   prepend dev directory to path names +
- -a,--attribute-walk         print all key matches walking along the chain +
-                             of parent devices +
- -d,--device-id-of-file=FILE print major:minor of device containing this file +
- -x,--export                 export key/value pairs +
- -P,--export-prefix          export the key name with a prefix +
- -e,--export-db              export the content of the udev database +
- -c,--cleanup-db             cleanup the udev database +
-    --version                print version of the program +
- -h,--help                   print this message+
 </code> </code>
  
-=====Système de fichiers /sys===== +L'installation du module aussi installé un fichier de configuration :
- +
-Le système de fichiers virtuel **/sys** été introduit avec le noyau Linux **2.6**. Son rôle est de décrire le matériel pour udev. +
- +
-Saisissez la commande suivante :+
  
 <code> <code>
-root@debian8:~# ls -l /sys +root@debian11:~# ls -l /etc/security/pwquality.conf 
-total 0 +-rw-r--r-- root root 2674 Dec 17  2020 /etc/security/pwquality.conf
-drwxr-xr-x   2 root root 0 Nov  2 14:01 block +
-drwxr-xr-x  24 root root 0 Nov  2 14:01 bus +
-drwxr-xr-x  42 root root 0 Nov  2 14:01 class +
-drwxr-xr-x   4 root root 0 Nov  2 14:01 dev +
-drwxr-xr-x  13 root root 0 Nov  2 14:01 devices +
-drwxr-xr-x   5 root root 0 Nov  2 14:03 firmware +
-drwxr-xr-x   6 root root 0 Nov  2 14:01 fs +
-drwxr-xr-x   2 root root 0 Nov  2 14:01 hypervisor +
-drwxr-xr-x   7 root root 0 Nov  2 14:01 kernel +
-drwxr-xr-x 105 root root 0 Nov  2 14:01 module +
-drwxr-xr-x   2 root root 0 Nov  2 14:01 power+
 </code> </code>
  
-Chaque répertoire contient des informations : +Afin de mettre en place une politique de mots de passe complexeil convient de modifier le fichier **/etc/security/pwquality.conf** :
- +
-  * **block** +
-    * contient des informations sur les périphériques bloc +
-  * **bus** +
-    * contient des informations sur les bus de données +
-  * **class** +
-    * contient des informations sur des classes de matériel +
-  * **devices** +
-    * contient des informations sur la position des périphériques sur les bus +
-  * **firmware** +
-    * contient, entre autre, des informations sur l'ACPI +
-  * **module** +
-    * contient des informations sur les modules du noyau +
-  * **power** +
-    * contient des informations sur la gestion de l'énergie +
-  * **fs** +
-    * contient des informations sur les systèmes de fichiers +
- +
-Pour illustrer cecisaisissez la commande suivante : +
- +
-<code> +
-root@debian8:~# cat /sys/block/sda/sda1/size +
-19529728 +
-</code> +
- +
-Ce chiffre correspond aux nombre de secteurs. +
- +
-=====Limitation des ressources===== +
- +
-====Ulimit==== +
- +
-Les ressources disponibles aux utilisateurs peuvent être limitées par l'utilisation de la commande **ulimit**.  +
- +
-La commande **ulimit** gère deux types de limite, la limite //hard// en utilisant l'option **-H** et la limite //soft// en utilisant l'option **-S**. Seul root peut positionner une limite //hard// et ceci à condition que la limite ne dépasse pas les ressources réelles. +
- +
-La limite //soft// est la limite imposée à l'utilisateur par défaut tandis que la limite //hard// est la limite que l'utilisateur peut atteindre en utilisant la commande ulimit lui-même. +
- +
-L'utilisateur root peut paramétrer les limites accordées en éditant la fichier **/etc/security/limits.conf** :+
  
 <code> <code>
-root@debian8:~# cat /etc/security/limits.conf +root@debian11:~# vi /etc/security/pwquality.conf 
-# /etc/security/limits.conf+root@debian11:~cat /etc/security/pwquality.conf 
 +# Configuration for systemwide password quality limits 
 +# Defaults:
 # #
-#Each line describes a limit for a user in the form:+Number of characters in the new password that must not be present in the 
 +# old password. 
 +# difok = 1
 # #
-#<domain>        <type>  <item>  <value>+Minimum acceptable size for the new password (plus one if 
 +# credits are not disabled which is the default). (See pam_cracklib manual.) 
 +# Cannot be set to lower value than 6. 
 +minlen = 8
 # #
-#Where: +The maximum credit for having digits in the new passwordIf less than 0 
-#<domain> can be: +it is the minimum number of digits in the new password. 
-#        - a user name +dcredit = -2 
-#        - a group name, with @group syntax +
-#        - the wildcard *, for default entry +
-#        - the wildcard %, can be also used with %group syntax, +
-#                 for maxlogin limit +
-#        - NOTE: group and wildcard limits are not applied to root+
-         To apply a limit to the root user, <domain> must be +
-#          the literal username root.+
 # #
-#<type> can have the two values: +The maximum credit for having uppercase characters in the new password. 
-       - "soft" for enforcing the soft limits +If less than 0 it is the minimum number of uppercase characters in the new 
-       "hard" for enforcing hard limits+password. 
 +ucredit = -
 # #
-#<item> can be one of the following: +The maximum credit for having lowercase characters in the new password. 
-#        - core - limits the core file size (KB) +If less than 0 it is the minimum number of lowercase characters in the new 
-#        - data - max data size (KB) +password. 
-#        - fsize - maximum filesize (KB) +lcredit = -
-#        - memlock - max locked-in-memory address space (KB) +
-#        - nofile - max number of open files +
-#        - rss - max resident set size (KB) +
-#        - stack - max stack size (KB) +
-#        - cpu - max CPU time (MIN) +
-#        - nproc - max number of processes +
-#        - as - address space limit (KB) +
-#        - maxlogins - max number of logins for this user +
-#        - maxsyslogins - max number of logins on the system +
-       - priority - the priority to run user process with +
-#        - locks - max number of file locks the user can hold +
-       - sigpending - max number of pending signals +
-#        - msgqueue - max memory used by POSIX message queues (bytes) +
-#        - nice - max nice priority allowed to raise to values: [-20, 19] +
-#        - rtprio - max realtime priority +
-#        - chroot - change root to directory (Debian-specific)+
 # #
-#<domain>      <type>  <item>         <value>+The maximum credit for having other characters in the new password. 
 +# If less than 0 it is the minimum number of other characters in the new 
 +# password. 
 +ocredit = -1 
 # #
- +# The minimum number of required classes of characters for the new 
-#*               soft    core            +# password (digits, uppercase, lowercase, others). 
-#root            hard    core            100000 +minclass = 4  
-#*               hard    rss             10000 +
-#@student        hard    nproc           20 +# The maximum number of allowed consecutive same characters in the new password. 
-#@faculty        soft    nproc           20 +The check is disabled if the value is 0. 
-#@faculty        hard    nproc           50 +maxrepeat = 0 
-#ftp             hard    nproc           +
-#ftp                   chroot          /ftp +The maximum number of allowed consecutive characters of the same class in the 
-#@student        -       maxlogins       4 +new password. 
- +The check is disabled if the value is 0. 
-End of file+maxclassrepeat = 
 +
 +Whether to check for the words from the passwd entry GECOS string of the user. 
 +# The check is enabled if the value is not 0. 
 +gecoscheck = 1  
 +# 
 +# Whether to check for the words from the cracklib dictionary. 
 +# The check is enabled if the value is not 0. 
 +dictcheck = 1 
 +
 +# Whether to check if it contains the user name in some form. 
 +# The check is enabled if the value is not 0. 
 +usercheck = 1 
 +
 +# Length of substrings from the username to check for in the password 
 +# The check is enabled if the value is greater than 0 and usercheck is enabled. 
 +# usersubstr = 0 
 +
 +# Whether the check is enforced by the PAM module and possibly other 
 +# applications. 
 +# The new password is rejected if it fails the check and the value is not 0. 
 +enforcing = 1 
 +
 +# Path to the cracklib dictionaries. Default is to use the cracklib default. 
 +# dictpath = 
 +
 +# Prompt user at most N times before returning with error. The default is 1. 
 +# retry = 3 
 +
 +# Enforces pwquality checks on the root user password. 
 +# Enabled if the option is present. 
 +# enforce_for_root 
 +
 +# Skip testing the password quality for users that are not present in the 
 +# /etc/passwd file
 +# Enabled if the option is present. 
 +# local_users_only
 </code> </code>
  
-<WRAP center round important> +=====LAB #3 - su et su - =====
-**Important** : La valeur de la limite peut être un **nombre** ou le mot **unlimited**. +
-</WRAP>+
  
-Par exemplesi root inscrit les deux ligne suivantes dans le fichier /etc/security/limits.conf : +Vous allez maintenant devenir **fenestros2**d'abord sans l'environnement de **fenestros2** puis avec l'environnement de **fenestros2**.
- +
-<file> +
-... +
-trainee                soft        nofile          1024 +
-trainee                hard        nofile          4096 +
-... +
-</file>+
  
-la limite du nombre de fichiers ouverts simultanément par trainee est de 1 024. Par contre, trainee a la possibilité d'augmenter cette limite jusqu'à 4 096 en utilisant la commande suivante :+Contrôlez votre répertoire courant de travail :
  
 <code> <code>
-$ ulimit -n 4096+root@debian11:~# pwd 
 +/root
 </code> </code>
  
-Pour consulter la liste des limites actuelles, il convient d'utiliser la commande ulimit avec l'option **-a** :+Pour devenir **fenestros2** **sans** son environnement, saisissez la commande suivante :
  
 <code> <code>
-root@debian8:~# ulimit -a +root@debian11:~# su fenestros2
-core file size          (blocks, -c) 0 +
-data seg size           (kbytes, -d) unlimited +
-scheduling priority             (-e) 0 +
-file size               (blocks, -f) unlimited +
-pending signals                 (-i) 7892 +
-max locked memory       (kbytes, -l) 64 +
-max memory size         (kbytes, -m) unlimited +
-open files                      (-n) 65536 +
-pipe size            (512 bytes, -p) 8 +
-POSIX message queues     (bytes, -q) 819200 +
-real-time priority              (-r) 0 +
-stack size              (kbytes, -s) 8192 +
-cpu time               (seconds, -t) unlimited +
-max user processes              (-u) 7892 +
-virtual memory          (kbytes, -v) unlimited +
-file locks                      (-x) unlimited+
 </code> </code>
  
-====Options de la commande==== +Contrôlez votre répertoire courant de travail :
- +
-Les options de **ulimit** sont :+
  
 <code> <code>
-root@debian8:~# ulimit --help +$ pwd 
--su: ulimit: --: invalid option +/root
-ulimit: usage: ulimit [-SHabcdefilmnpqrstuvxT] [limit] +
-root@debian8:~# help ulimit +
-ulimit: ulimit [-SHabcdefilmnpqrstuvxT] [limit] +
-    Modify shell resource limits. +
-     +
-    Provides control over the resources available to the shell and processes +
-    it creates, on systems that allow such control. +
-     +
-    Options: +
-      -S use the `soft' resource limit +
-      -H use the `hard' resource limit +
-      -a all current limits are reported +
-      -b the socket buffer size +
-      -c the maximum size of core files created +
-      -d the maximum size of a process's data segment +
-      -e the maximum scheduling priority (`nice'+
-      -f the maximum size of files written by the shell and its children +
-      -i the maximum number of pending signals +
-      -l the maximum size a process may lock into memory +
-      -m the maximum resident set size +
-      -n the maximum number of open file descriptors +
-      -p the pipe buffer size +
-      -q the maximum number of bytes in POSIX message queues +
-      -r the maximum real-time scheduling priority +
-      -s the maximum stack size +
-      -t the maximum amount of cpu time in seconds +
-      -u the maximum number of user processes +
-      -v the size of virtual memory +
-      -x the maximum number of file locks +
-      -T    the maximum number of threads +
-     +
-    Not all options are available on all platforms. +
-     +
-    If LIMIT is given, it is the new value of the specified resource; the +
-    special LIMIT values `soft', `hard', and `unlimited' stand for the +
-    current soft limit, the current hard limit, and no limit, respectively. +
-    Otherwise, the current value of the specified resource is printed.  If +
-    no option is given, then -f is assumed. +
-     +
-    Values are in 1024-byte increments, except for -t, which is in seconds, +
-    -p, which is in increments of 512 bytes, and -u, which is an unscaled +
-    number of processes. +
-     +
-    Exit Status: +
-    Returns success unless an invalid option is supplied or an error occurs.+
 </code> </code>
  
-====Groupes de Contrôle====+Vous noterez que vous êtes toujours dans le répertoire **/root**. Ceci indique que vous avez gardé l'environnement de **root**.
  
-Les **Groupes de Contrôles** (//Control Groups//) aussi appelés **CGroups**, sont une nouvelle façon sous Debian 8 de contrôler et de limiter des ressources. Les groupes de contrôle permettent l'allocation de ressources, même d'une manière dynamique pendant que le système fonctionnetelles le temps processeur, la mémoire système, la bande réseau, ou une combinaison de ces ressources parmi des groupes de tâches (processus) définis par l'utilisateur et exécutés sur un système. +<WRAP center round important> 
- +**Important** : L'environnement d'un utilisateur inclut, entre autre, le répertoire personnel de l'utilisateur ainsi que la valeur de la variable système **PATH**. 
-Les groupes de contrôle sont organisés de manière hiérarchique, comme des processus. Par contre, la comparaison entre les deux démontre que tandis que les processus se trouvent dans une arborescence unique descandant tous du processus init et héritant de l'environnement de leurs parents, les contrôles groupes peuvent être multiples donnant lieu à des arborescences ou **hiérarchies** multiples qui héritent de certains attributs de leurs groupes de contrôle parents. +</WRAP>
- +
-Ces hiérarchies multiples et séparés sont necéssaires parce que chaque hiérarchie est attaché à un ou plusieurs **sous-système(s)** aussi appelés des **Contrôleurs de Ressources** ou simplement des **Contrôleurs**. Les contrôleurs disponibles sous Debian 8 sont : +
- +
-  * **blkio** - utilisé pour établir des limites sur l'accès des entrées/sorties à partir et depuis des périphériques blocs, +
-  * **cpu** - utilisé pour fournir aux tâches des groupes de contrôle accès au CPU grâce au planificateur, +
-  * **cpuacct** - utilisé pour produire des rapports automatiques sur les ressources CPU utilisées par les tâches dans un groupe de contrôle, +
-  * **cpuset** - utilisé pour assigner des CPU individuels sur un système multicoeur et des noeuds de mémoire à des tâches dans un groupe de contrôle, +
-  * **devices** - utilisé pour autoriser ou pour refuser l'accès des tâches aux périphériques dans un groupe de contrôle, +
-  * **freezer** - utilisé pour suspendre ou pour réactiver les tâches dans un groupe de contrôle, +
-  * **memory** - utilisé pour établir les limites d'utilisation de la mémoire par les tâches d'un groupe de contrôle et pour génèrer des rapports automatiques sur les ressources rmémoire utilisées par ces tâches, +
-  * **net_cls** - utilisé pour repèrer les paquets réseau avec un identifiant de classe (//classid//) afin de permettre au contrôleur de trafic Linux, **tc**,  d'identifier les paquets provenant d'une tâche particulière d'un groupe de contrôle. +
-  * **perf_event**  - utilisé pour permettre le monitoring des CGroups avec l'outil perf, +
-  * **hugetlb** - utilisé pour limiter des ressources sur des pages de mémoire virtuelle de grande taille.+
  
-Sous Debian 8, les Cgroups ne sont pas installés par défaut :+Saisissez la commande suivante pour redevenir **root** :
  
 <code> <code>
-root@debian8:~# apt-get install cgroup-bin cgroup-tools +$ exit 
-Reading package lists... Done +root@debian11:~#
-Building dependency tree        +
-Reading state information... Done +
-The following extra packages will be installed: +
-  libcgroup1 +
-The following NEW packages will be installed: +
-  cgroup-bin cgroup-tools libcgroup1 +
-0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +
-Need to get 119 kB of archives. +
-After this operation, 359 kB of additional disk space will be used. +
-Do you want to continue? [Y/n] y +
-Get:1 http://ftp.fr.debian.org/debian/ jessie/main libcgroup1 amd64 0.41-6 [44.7 kB] +
-Get:2 http://ftp.fr.debian.org/debian/ jessie/main cgroup-tools amd64 0.41-6 [68.1 kB] +
-Get:3 http://ftp.fr.debian.org/debian/ jessie/main cgroup-bin all 0.41-6 [6,318 B] +
-Fetched 119 kB in 0s (130 kB/s)   +
-Selecting previously unselected package libcgroup1:amd64. +
-(Reading database ... 86206 files and directories currently installed.) +
-Preparing to unpack .../libcgroup1_0.41-6_amd64.deb ... +
-Unpacking libcgroup1:amd64 (0.41-6) ... +
-Selecting previously unselected package cgroup-tools. +
-Preparing to unpack .../cgroup-tools_0.41-6_amd64.deb ... +
-Unpacking cgroup-tools (0.41-6) ... +
-Selecting previously unselected package cgroup-bin. +
-Preparing to unpack .../cgroup-bin_0.41-6_all.deb ... +
-Unpacking cgroup-bin (0.41-6) ... +
-Processing triggers for man-db (2.7.0.2-5) ... +
-Setting up libcgroup1:amd64 (0.41-6) ... +
-Setting up cgroup-tools (0.41-6) ... +
-Setting up cgroup-bin (0.41-6) ... +
-Processing triggers for libc-bin (2.19-18+deb8u4) ...+
 </code> </code>
  
-Pour visualiser les hiérarchies, il convient d'utiliser la commande suivante :+Saisissez la commande suivante pour redevenir **fenestros2** :
  
 <code> <code>
-root@debian8:~# lssubsys -am +root@debian11:~# su fenestros2 
-memory +</code>
-cpuset /sys/fs/cgroup/cpuset +
-cpu,cpuacct /sys/fs/cgroup/cpu,cpuacct +
-devices /sys/fs/cgroup/devices +
-freezer /sys/fs/cgroup/freezer +
-net_cls,net_prio /sys/fs/cgroup/net_cls,net_prio +
-blkio /sys/fs/cgroup/blkio +
-perf_event /sys/fs/cgroup/perf_event +
-</code> +
  
-Sous Debian 8, **Systemd** organise les processus dans chaque CGroup. Par exemple tous les processus démarrés par le serveur Apache se trouveront dans le même CGroup, y compris les scripts CGI. Ceci implique que la gestion des ressources en utilisant des hiérarchies est couplé avec l'arborescence des unités de Systemd. +Contrôlez votre répertoire courant de travail :
- +
-En haut de l'arborescence des unités de Systemd se trouve la tranche root - **-.slice**, dont dépend : +
- +
-  * le **system.slice** - l'emplacement des services système, +
-  * le **user.slice** - l'emplacement des sessions des utilisateurs, +
-  * le **machine.slice** - l'emplacement des machines virtuelles et conteneurs. +
- +
-En dessous des tranches peuvent se trouver : +
- +
-  * des **scopes** - des processus crées par **fork**, +
-  * des **services** - des processus créés par une **Unité**. +
- +
-Les slices peuvent être visualisés avec la commande suivante :+
  
 <code> <code>
-root@debian8:~# systemctl list-units --type=slice +$ pwd 
-UNIT               LOAD   ACTIVE SUB    DESCRIPTION +/home/fenestros2 
--.slice            loaded active active Root Slice +</code>
-system-getty.slice loaded active active system-getty.slice +
-system-ifup.slice  loaded active active system-ifup.slice +
-system.slice       loaded active active System Slice +
-user-1000.slice    loaded active active user-1000.slice +
-user.slice         loaded active active User and Session Slice+
  
-LOAD   = Reflects whether the unit definition was properly loaded. +Vous noterez que vous êtes maintenant dans le répertoire **/home/fenestros2**Ceci indique que vous avez l'environnement de **fenestros2**.
-ACTIVE = The high-level unit activation state, i.e. generalization of SUB. +
-SUB    = The low-level unit activation state, values depend on unit type.+
  
-6 loaded units listed. Pass --all to see loaded but inactive units, too. +Saisissez la commande suivante pour redevenir **root** :
-To show all installed unit files use 'systemctl list-unit-files'+
-</code> +
- +
-L'arborescence des unités de Systemd est la suivante :+
  
 <code> <code>
-root@debian8:~# systemd-cgls +$ exit 
-├─1 /sbin/init +root@debian11:~#
-├─system.slice +
-│ ├─avahi-daemon.service +
-│ │ ├─504 avahi-daemon: running [debian8.local +
-│ │ └─514 avahi-daemon: chroot helpe +
-│ ├─dbus.service +
-│ │ └─505 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation +
-│ ├─ModemManager.service +
-│ │ └─483 /usr/sbin/ModemManager +
-│ ├─cron.service +
-│ │ └─494 /usr/sbin/cron -f +
-│ ├─nfs-common.service +
-│ │ ├─466 /sbin/rpc.statd +
-│ │ └─480 /usr/sbin/rpc.idmapd +
-│ ├─exim4.service +
-│ │ └─817 /usr/sbin/exim4 -bd -q30m +
-│ ├─networking.service +
-│ │ └─410 dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0 +
-│ ├─atd.service +
-│ │ └─497 /usr/sbin/atd -f +
-│ ├─systemd-journald.service +
-│ │ └─141 /lib/systemd/systemd-journald +
-│ ├─upower.service +
-│ │ └─1907 /usr/lib/upower/upowerd +
-│ ├─packagekit.service +
-│ │ └─8243 /usr/lib/packagekit/packagekitd +
-│ ├─ssh.service +
-│ │ └─493 /usr/sbin/sshd -D +
-│ ├─systemd-logind.service +
-│ │ └─500 /lib/systemd/systemd-logind +
-│ ├─system-getty.slice +
-│ │ └─getty@tty1.service +
-│ │   └─567 /sbin/agetty --noclear tty1 linux +
-│ ├─systemd-udevd.service +
-│ │ └─153 /lib/systemd/systemd-udevd +
-│ ├─polkitd.service +
-│ │ └─767 /usr/lib/policykit-1/polkitd --no-debug +
-│ ├─rpcbind.service +
-│ │ └─457 /sbin/rpcbind -w +
-│ ├─NetworkManager.service +
-│ │ └─495 /usr/sbin/NetworkManager --no-daemon +
-│ ├─simplegateway.service +
-│ │ ├─  484 /bin/sh /opt/JWrapper-Remote Access/JWAppsSharedConfig/SimpleGatewayService/service_launch.sh +
-│ │ ├─ 1728 /opt/JWrapper-Remote Access/JWrapper-Linux64JRE-00028603412-complete/bin/Remote Access -cp /opt/JWrapper-Remote Access/JWrapper-JWrapper-00041369502-complet +
-│ │ ├─ 1826 /opt/JWrapper-Remote Access/JWrapper-Linux64JRE-00028603412-complete/bin/Remote Access Monitoring -cp /opt/JWrapper-Remote Access/JWrapper-JWrapper-00041369 +
-│ │ ├─21051 /bin/sh /opt/JWrapper-Remote Access/JWAppsSharedConfig/SimpleGatewayService/service_launch.sh +
-│ │ └─21098 sleep 1 +
-│ ├─rsyslog.service +
-│ │ └─559 /usr/sbin/rsyslogd -n +
-│ └─acpid.service +
-│   └─561 /usr/sbin/acpid +
-└─user.slice +
-  └─user-1000.slice +
-    ├─user@1000.service +
-    │ ├─15440 /lib/systemd/systemd --user +
-    │ └─15441 (sd-pam)   +
-    ├─session-10.scope +
-    │ ├─21923 sshd: trainee [priv] +
-    │ ├─21957 sshd: trainee@pts/1  +
-    │ ├─21958 -bash +
-    │ ├─21999 su - +
-    │ └─22027 -su +
-    └─session-13.scope +
-      ├─11749 sshd: trainee [priv] +
-      ├─11819 sshd: trainee@pts/0  +
-      ├─11820 -bash +
-      ├─15165 su - +
-      ├─15193 -su +
-      ├─21101 systemd-cgls +
-      └─21112 systemd-cgls+
 </code> </code>
- 
-En utilisant Systemd, plusieurs ressources peuvent être limitées : 
- 
-  * **CPUShares** - par défault 1024, 
-  * **MemoryLimit** - limite exprimée en Mo ou en Go. Pas de valeur par défaut, 
-  * **BlockIOWeight** - valeur entre 10 et 1000. Pas de valeur par défaut, 
-  * **StartupCPUShares** - comme CPUShares mais uniquement appliqué pendant le démarrage, 
-  * **StartupBlockIOWeight** - comme BlockIOWeight mais uniquement appliqué pendant le démarrage, 
-  * **CPUQuota** - utilisé pour limiter le temps CPU, même quand le système ne fait rien. 
  
 <WRAP center round important> <WRAP center round important>
-**Important** : Consultez le manuel systemd.resource-control(5) pour voir les paramètres CGroup qui peuvent être passés à systemctl.+**Important** : Notez que **root** peut devenir n'importe quel utilisateur **sans** avoir besoin de connaître son mot de passe.
 </WRAP> </WRAP>
  
-===LAB #Travailler avec les cgroups sous Debian 8===+=====LAB #sudo=====
  
-Créez un service appelé **foo** :+La commande **sudo** permet à un utilisateur autorisé d'exécuter une commande en tant que **root** ou en tant qu'un autre utilisateur. Lors de l'exécution de la commande, l'UID et le GID éffectifs et réels sont ceux de l'identité de l'utilisateur cible. L'utilisation de la commande **sudo** est une façon simple de déléguer des tâches administratives à d'autres utilisateurs sans communiquer le mot de passe de **root** et sans placer un SUID bit sur l'exécutable. La commande **sudo** est configurée grâce au fichier **/etc/sudoers**.  
 + 
 +Saisissez la commande suivante :
  
 <code> <code>
-root@debian8:~# vi /lib/systemd/system/foo.service +root@debian11:~# cat /etc/sudoers 
-root@debian8:~cat /lib/systemd/system/foo.service +
-[Unit] +# This file MUST be edited with the 'visudo' command as root
-Description=The foo service that does nothing useful +# 
-After=remote-fs.target nss-lookup.target+# Please consider adding local content in /etc/sudoers.dinstead of 
 +# directly modifying this file
 +# 
 +# See the man page for details on how to write a sudoers file. 
 +
 +Defaults        env_reset 
 +Defaults        mail_badpass 
 +Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  
-[Service] +# Host alias specification
-ExecStart=/usr/bin/sha1sum /dev/zero  +
-ExecStop=/bin/kill -WINCH ${MAINPID}+
  
-[Install] +# User alias specification
-WantedBy=multi-user.target+
  
-root@debian8:~systemctl status foo.service +Cmnd alias specification
-● foo.service - The foo service that does nothing useful +
-   Loaded: loaded (/lib/systemd/system/foo.service; disabled) +
-   Active: inactive (dead) +
-</code>+
  
-Démarrez et activez le service :+# User privilege specification 
 +root    ALL=(ALL:ALL) ALL
  
-<code> +Allow members of group sudo to execute any command 
-root@debian8:~systemctl start foo.service +%sudo   ALL=(ALL:ALLALL 
-root@debian8:~# systemctl enable foo.service + 
-Created symlink from /etc/systemd/system/multi-user.target.wants/foo.service to /lib/systemd/system/foo.service. +# See sudoers(5for more information on "@include" directives
-root@debian8:~# systemctl status foo.service + 
-● foo.service - The foo service that does nothing useful +@includedir /etc/sudoers.d
-   Loadedloaded (/lib/systemd/system/foo.service; enabled+
-   Active: active (runningsince Tue 2016-07-19 02:24:29 BST; 16s ago +
- Main PID: 25509 (sha1sum) +
-   CGroup: /system.slice/foo.service +
-           └─25509 /usr/bin/sha1sum /dev/zero+
 </code> </code>
  
-Notez que notre service a été placé dans la tranche **system.slice** :+<WRAP center round important> 
 +**Important** : Notez la présence de la ligne **%sudo   ALL=(ALL:ALL) ALL**. Cette ligne possède le format **Qui Hôte = (Utilisateur:Groupe) Commande(s)**. La ligne implique donc que les membres du groupe **sudo** peuvent exécuter à partir de n'importe quel hôte et en tant que n'importe quel utilisateur de n'importe quel groupe, toutes les commandes du système. Dans ce fichier donc, un groupe est référencé par un **%**. Un nom sans ce caractère est forcément un utilisateur. Pour éditer le fichier **/etc/sudoers**, il est **nécessaire** d'utiliser la commande **visudo**.  
 +</WRAP> 
 + 
 +Devenez l'utilisateur **trainee** :
  
 <code> <code>
-root@debian8:~# systemctl show -p Slice foo.service +root@debian11:~# exit 
-Slice=system.slice+logout 
 +trainee@debian11:~$
 </code> </code>
  
-Utilisez ps pour voir le pourcentage du CPU utilisé par ce service :+Saisissez la commande suivante :
  
 <code> <code>
-root@debian8:~# ps -p 25509 -o pid,comm,cputime,%cpu +trainee@debian11:~$ sudo su -
-  PID COMMAND             TIME %CPU +
-25509 sha1sum         00:01:24 98.6 +
-</code>+
  
-Fixez maintenant la valeur de CPUShares pour ce service à 250 :+We trust you have received the usual lecture from the local System 
 +Administrator. It usually boils down to these three things:
  
-<code> +    #1) Respect the privacy of others. 
-root@debian8:~systemctl set-property foo.service CPUShares=250+    #2) Think before you type. 
 +    #3) With great power comes great responsibility. 
 + 
 +[sudo] password for trainee:
 </code> </code>
  
-Cette limite est permenante et a été inscrite dans le fichier **50-CPUShares.conf** qui se trouve dans le répertoire **/etc/systemd/system/foo.service.d** :+Saisissez le mot de passe de **trainee** :
  
 <code> <code>
-root@debian8:~# ls /etc/systemd/system/foo.service.d +[sudo] password for traineetrainee 
-50-CPUShares.conf +trainee is not in the sudoers file This incident will be reported.
-root@debian8:~# cat /etc/systemd/system/foo.service.d/50-CPUShares.conf +
-[Service] +
-CPUShares=250+
 </code> </code>
  
 <WRAP center round important> <WRAP center round important>
-**Important** : En utilisant l'option **--runtime** avec la commande **sysetmctl set-property** il est possible d'appliquer la limite d'une manière provisoire.+**Important** : Notez que la commande a échoué car l'utilisateur **trainee** n'est pas référencé dans le fichier **/etc/sudoers**.
 </WRAP> </WRAP>
  
-Appliquez cette modification en rechargeant systemd et en re-démarrant le service foo.service :+Mettez maintenant l'utilisateur **trainee** dans le groupe **sudo** :
  
 <code> <code>
-root@debian8:~# systemctl daemon-reload +trainee@debian11:~$ su 
-root@debian8:~# systemctl restart foo.service +Passwordfenestros
-</code>+
  
-Vérifiez maintenant que la limite a été appliquée :+root@debian11:~# usermod -aG sudo trainee
  
-<code> +root@debian11:~# groups trainee 
-root@debian8:~# cat /sys/fs/cgroup/cpu/system.slice/foo.service/cpu.shares +trainee trainee cdrom floppy sudo audio dip video plugdev netdev lpadmin scanner 
-250 + 
-root@debian8:~# systemctl show -p MainPID foo.service +root@debian11:~# exit 
-MainPID=26975 +logout
-root@debian8:~# cat /proc/26975/cgroup | grep foo +
-3:cpu,cpuacct:/system.slice/foo.service +
-1:name=systemd:/system.slice/foo.service+
 </code> </code>
  
-Créez maintenant le service **bar** :+Constatez que vous ne faites pas parti du groupe **sudo** :
  
 <code> <code>
-root@debian8:~# vi /lib/systemd/system/bar.service +trainee@debian11:~$ groups 
-root@debian8:~# cat /lib/systemd/system/bar.service +trainee cdrom floppy audio dip video plugdev netdev lpadmin scanner
-[Unit] +
-Description=The bar service that does nothing useful +
-After=remote-fs.target nss-lookup.target +
- +
-[Service] +
-ExecStart=/usr/bin/md5sum /dev/zero  +
-ExecStop=/bin/kill -WINCH ${MAINPID} +
- +
-[Install] +
-WantedBy=multi-user.target+
 </code> </code>
  
-Fixez maintenant la limite de CPUShares pour ce service à 2000 :+Rejoignez le groupe **sudo** 
  
 <code> <code>
-root@debian8:~# systemctl set-property bar.service CPUShares=2000 +trainee@debian11:~$ newgrp sudo
-Failed to set unit properties on bar.service: Unit bar.service is not loaded. +
-root@debian8:~# systemctl start bar.service +
-root@debian8:~# systemctl enable bar.service +
-Created symlink from /etc/systemd/system/multi-user.target.wants/bar.service to /lib/systemd/system/bar.service. +
-root@debian8:~# systemctl set-property bar.service CPUShares=2000 +
-</code>+
  
-Appliquez la limite : +trainee@debian11:~$ groups 
- +sudo cdrom floppy audio dip video plugdev netdev lpadmin scanner trainee
-<code> +
-root@debian8:~# systemctl daemon-reload +
-root@debian8:~# systemctl restart bar.service +
-root@debian8:~# systemctl status bar.service +
-● bar.service - The bar service that does nothing useful +
-   Loaded: loaded (/lib/systemd/system/bar.service; enabled) +
-  Drop-In: /etc/systemd/system/bar.service.d +
-           └─50-CPUShares.conf +
-   Active: active (running) since Tue 2016-07-19 02:32:13 BST; 9s ago +
-  Process: 28993 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) +
- Main PID: 28995 (md5sum) +
-   CGroup: /system.slice/bar.service +
-           └─28995 /usr/bin/md5sum /dev/zero+
 </code> </code>
  
-Re-démarrer les services foo et bar :+Essayez de nouveau la commande sudo :
  
 <code> <code>
-root@debian8:~# systemctl restart foo.service +trainee@debian11:~$ sudo su 
-root@debian8:~# systemctl status foo.service +[sudo] password for traineetrainee 
-● foo.service The foo service that does nothing useful +root@debian11:~# 
-   Loadedloaded (/lib/systemd/system/foo.service; enabled) +
-  Drop-In: /etc/systemd/system/foo.service.d +
-           └─50-CPUShares.conf +
-   Active: active (running) since Tue 2016-07-19 02:32:59 BST; 8s ago +
-  Process: 29351 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) +
- Main PID: 29353 (sha1sum) +
-   CGroup: /system.slice/foo.service +
-           └─29353 /usr/bin/sha1sum /dev/zero +
-root@debian8:~# systemctl restart bar.service +
-root@debian8:~# systemctl status bar.service +
-● bar.service - The bar service that does nothing useful +
-   Loaded: loaded (/lib/systemd/system/bar.service; enabled) +
-  Drop-In: /etc/systemd/system/bar.service.d +
-           └─50-CPUShares.conf +
-   Active: active (running) since Tue 2016-07-19 02:33:20 BST; 7s ago +
-  Process: 29483 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) +
- Main PID: 29485 (md5sum) +
-   CGroup: /system.slice/bar.service +
-           └─29485 /usr/bin/md5sum /dev/zero+
 </code> </code>
  
-Utilisez ps pour voir le pourcentage du CPU utilisé par les deux services :+<WRAP center round important> 
 +**Important** Notez que la commande a réussi. 
 +</WRAP>
  
-<code> 
-root@debian8:~# ps -p 29353,29485 -o pid,comm,cputime,%cpu 
-  PID COMMAND             TIME %CPU 
-29353 sha1sum         00:00:13 10.9 
-29485 md5sum          00:01:31 87.5 
-</code> 
- 
------ 
-<html> 
-<div align="center"> 
-Copyright © 2020 Hugh Norris.<br><br> 
-</div> 
-</html> 
 ----- -----
 +Copyright © 2024 Hugh Norris.
Menu