Tous les produits
Search
Centre de documentation

Cloud Shell:Common Linux commands

Dernière mise à jour :Aug 18, 2026

Gérez les processus, les disques, les services, les utilisateurs et les ressources système sur les serveurs Linux à l'aide de commandes CLI couramment utilisées.

Gestion des processus

ps

Commande

La commande ps affiche un instantané des processus en cours d'exécution.

Options courantes

Option

Description

-A

Affiche tous les processus.

-a

Affiche tous les processus associés au terminal de contrôle.

-e

Affiche tous les processus. Équivalent à -A.

-f

Affiche une liste au format complet, incluant les colonnes UID, PPID, C et STIME.

-u

Affiche les processus par utilisateur effectif.

-U

Affiche les processus par utilisateur réel.

-x

Affiche tous les processus sans terminal de contrôle.

Remarque

Pour connaître les autres options, exécutez man ps.

Exemples

  • Interrogez tous les processus.

    ps -ef
  • Recherchez tous les processus correspondant à un mot-clé au format complet.

    ps -ef | grep <key_word>

    Remplacez <key_word> par le mot-clé souhaité.

  • Recherchez tous les processus utilisateur correspondant à un mot-clé, y compris ceux sans terminal de contrôle.

    ps -aux | grep <key_word>

    Remplacez <key_word> par le mot-clé souhaité.

  • Affichez l'arborescence des processus.

    ps -ejH
  • Listez tous les processus avec les informations sur les threads.

    ps -eLf
  • Affichez les informations sur les threads avec des champs personnalisés.

    ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
  • Interrogez une métrique spécifique par PID. Dans cet exemple, le PID 1 avec comm= renvoie le nom de la commande.

    ps -q 1 -o comm=

top

Commande

La commande top affiche en temps réel l'activité des processus et l'utilisation des ressources système.

Options courantes

Option

Description

-d

Définit la fréquence d'actualisation.

-p

Surveille l'état d'un processus par son PID.

-s

Exécute top en mode sécurisé, en désactivant les commandes interactives potentiellement dangereuses.

-i

Ignore les processus inactifs et zombies.

-c

Affiche la ligne de commande complète au lieu du seul nom de la commande.

Champs dans la sortie de la commande top

Champs affichés dans la sortie de la commande top (les valeurs varient selon la période d'échantillonnage) :

top - 15:30:29 up  2:11,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  99 total,   1 running,  98 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.2 sy,  0.0 ni, 99.2 id,  0.0 wa,  0.3 hi,  0.0 si,  0.0 st
MiB Mem :   7607.4 total,   6642.1 free,    409.4 used,    801.4 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   7198.0 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  633 root      20   0  474964  29076  13644 S   0.3   0.4   0:09.58 tuned
 1716 root      20   0  131676  23172  16576 S   0.3   0.3   0:28.48 AliYunDunMonito
 1938 root      20   0 1460104  29564  22520 S   0.3   0.4   0:27.93 argusagent
 5525 root      20   0       0      0      0 I   0.3   0.0   0:00.01 kworker/u4:1-events_unbound
    1 root      20   0  103344  11320   8656 S   0.0   0.1   0:01.31 systemd
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd
    3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
    4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
    5 root      20   0       0      0      0 I   0.0   0.0   0:00.01 kworker/0:0-events
    6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-events_highpri
    8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq
   10 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks_rude_
   11 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks_trace
   12 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftirqd/0
   13 root      20   0       0      0      0 I   0.0   0.0   0:00.47 rcu_sched
   14 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migration/0
   15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0
   16 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/1
   17 root      rt   0       0      0      0 S   0.0   0.0   0:00.07 migration/1
   18 root      20   0       0      0      0 S   0.0   0.0   0:00.01 ksoftirqd/1
   19 root      20   0       0      0      0 I   0.0   0.0   0:00.43 kworker/1:0-events
   20 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/1:0H-events_highpri
   22 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmpfs
   23 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns
   24 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kauditd
   27 root      20   0       0      0      0 S   0.0   0.0   0:00.00 khungtaskd
   28 root      20   0       0      0      0 S   0.0   0.0   0:00.00 oom_reaper
   29 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 writeback
   30 root      20   0       0      0      0 S   0.0   0.0   0:00.03 kcompactd0
   31 root      25   5       0      0      0 S   0.0   0.0   0:00.00 ksmd
   32 root      39  19       0      0      0 S   0.0   0.0   0:00.06 khugepaged
   33 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 memcg_wmark
   34 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 memcg_pgcache_l
   48 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 cryptd
   83 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kintegrityd
   84 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kblockd
   85 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 blkcg_punt_bio
   86 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 tpm_dev_wq
   87 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 md
   88 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 edac-poller
   89 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 devfreq_wq

Champs

Champs du résumé des informations système et de la liste des processus

Champs du résumé des informations système

Champ (ligne)

Description

top

Informations générales sur le système.

  • L'heure actuelle.

  • up : durée de fonctionnement du système.

  • user : nombre d'utilisateurs actifs.

  • load average : longueur moyenne de la file d'attente d'exécution sur les 1, 5 et 15 dernières minutes.

Tasks

Statistiques des processus par état.

  • total : nombre total de processus.

  • running : nombre de processus en cours d'exécution.

  • sleeping : nombre de processus en veille.

  • stopped : nombre de processus arrêtés.

  • zombie : nombre de processus zombies.

%Cpu(s)

Répartition de l'utilisation du CPU.

  • us : pourcentage du temps CPU consacré aux processus utilisateur.

  • sy : pourcentage du temps CPU consacré aux processus noyau.

  • ni : pourcentage du temps CPU consacré aux processus utilisateur dont la priorité a été modifiée via la commande nice.

  • id : pourcentage de temps pendant lequel le CPU est inactif.

  • wa : pourcentage du temps CPU passé à attendre les opérations d'E/S.

  • hi : pourcentage du temps CPU consacré au traitement des interruptions matérielles.

  • si : pourcentage du temps CPU consacré au traitement des interruptions logicielles.

  • st : temps de vol (steal time).

MiB Mem

Statistiques d'utilisation de la mémoire.

  • total : mémoire physique totale.

  • free : mémoire disponible.

  • used : mémoire utilisée.

  • buff/cache : mémoire utilisée pour le cache et les tampons du noyau.

MiB Swap

Statistiques d'utilisation de l'espace d'échange (swap).

  • total : espace d'échange total.

  • free : espace d'échange disponible.

  • used : espace d'échange utilisé.

  • avail Mem : mémoire disponible estimée pour le démarrage de nouvelles applications.

Champs de la liste des processus

Champ (colonne)

Description

PID

Identifiant du processus (PID).

USER

Nom d'utilisateur du propriétaire du processus.

PR

Priorité de planification du processus. Une valeur plus faible indique une priorité plus élevée.

NI

Valeur de priorité définie par la commande nice pour le processus.

VIRT

Quantité de mémoire virtuelle utilisée par le processus.

RES

Quantité de mémoire physique utilisée par le processus.

SHR

Quantité de mémoire partagée utilisée par le processus.

S

État du processus.

  • R : en cours d'exécution

  • S : en veille

  • Z : zombie

  • D : veille ininterruptible

  • T : tracé ou arrêté

%CPU

Pourcentage d'utilisation du CPU par le processus.

%MEM

Pourcentage d'utilisation de la mémoire physique par le processus.

TIME+

Temps CPU total utilisé par le processus.

COMMAND

Commande qui a lancé le processus.

Exemples

  • Interrogez les métriques système avec une fréquence d'échantillonnage spécifique

    Interrogez les métriques système à un intervalle de 3 secondes :

    top 3
    Remarque

    L'intervalle d'échantillonnage par défaut de top est de 5 secondes.

  • Personnalisez l'interface de la commande top

    Par défaut, les champs décrits dans la section Champs du résumé des informations système et de la liste des processus sont affichés. Appuyez sur f pour sélectionner les colonnes à afficher et réorganiser leur ordre.

    Fields Management for window 1:Def, whose current sort field is %CPU
       Navigate with Up/Dn, Right selects for move then <Enter> or Left commits,
       'd' or <Space> toggles display, 's' sets sort.  Use 'q' or <Esc> to end!
    
    * PID     = Process Id             USED    = Res+Swap Size (KiB)
    * USER    = Effective User Name    nsIPC   = IPC namespace Inode
    * PR      = Priority               nsMNT   = MNT namespace Inode
    * NI      = Nice Value             nsNET   = NET namespace Inode
    * VIRT    = Virtual Image (KiB)    nsPID   = PID namespace Inode
    * RES     = Resident Size (KiB)    nsUSER  = USER namespace Inode
    * SHR     = Shared Memory (KiB)    nsUTS   = UTS namespace Inode
    * S       = Process Status         LXC     = LXC container name
    * %CPU    = CPU Usage              RSan    = RES Anonymous (KiB)
    * %MEM    = Memory Usage (RES)     RSfd    = RES File-based (KiB)
    * TIME+   = CPU Time, hundredths   RSlk    = RES Locked (KiB)
    * COMMAND = Command Name/Line      RSsh    = RES Shared (KiB)
      PPID    = Parent Process pid     CGNAME  = Control Group name
      UID     = Effective User Id      NU      = Last Used NUMA node
      RUID    = Real User Id
      RUSER   = Real User Name
      SUID    = Saved User Id
      SUSER   = Saved User Name
      GID     = Group Id
      GROUP   = Group Name
      PGRP    = Process Group Id
      TTY     = Controlling Tty
      TPGID   = Tty Process Grp Id
      SID     = Session Id
      nTH     = Number of Threads
      P       = Last Used Cpu (SMP)
      TIME    = CPU Time
      SWAP    = Swapped Size (KiB)
      CODE    = Code Size (KiB)
      DATA    = Data+Stack (KiB)
      nMaj    = Major Page Faults
      nMin    = Minor Page Faults
      nDRT    = Dirty Pages Count
      WCHAN   = Sleeping in Function
      Flags   = Task Flags <sched.h>
      CGROUPS = Control Groups
      SUPGIDS = Supp Groups IDs
      SUPGRPS = Supp Groups Names
      TGID    = Thread Group Id
      OOMa    = OOMEM Adjustment
      OOMs    = OOMEM Score current
      ENVIRON = Environment vars
      vMj     = Major Faults delta
      vMn     = Minor Faults delta

    Touches de gestion de l'interface de la commande top :

    Touche

    Description

    ↑ et ↓

    Fait défiler vers le haut ou le bas pour sélectionner les champs.

    Sélectionne une colonne entière. Appuyez sur HAUT ou BAS pour la déplacer.

    Espace

    Active ou désactive la visibilité du champ. Un astérisque (*) indique que le champ est affiché.

    s

    Définit la colonne actuelle comme colonne de tri.

    q

    Quitte l'interface de la commande top.

  • Utilisez la commande top en mode interactif

    En mode interactif, appuyez sur les touches suivantes pour contrôler l'affichage :

    Touche

    Description

    1

    Affiche l'état par CPU logique.

    u

    Filtre les processus par utilisateur.

    E

    Fait défiler les unités de mémoire : KiB, MiB, GiB, TiB, PiB ou EiB.

    x

    Met en surbrillance la colonne de tri.

    y

    Met en surbrillance les processus en cours d'exécution.

    ?

    Affiche l'aide.

  • Recherchez les noms et répertoires des processus par PID

    Exécutez top pour trouver le PID d'un processus. Dans cet exemple, le processus aliyun-service a le PID 1325.

    Exécutez la commande top. Vous pouvez constater que le processus ayant le PID 1325 est aliyun-service.

    Tasks: 188 total,   1 running, 186 sleeping,   0 stopped,   1 zombie
    %Cpu(s):  0.2 us,  0.1 sy,  0.0 ni, 99.6 id,  0.0 wa,  0.1 hi,  0.1 si,  0.0 st
    MiB Mem : 15468.8 total,  12290.5 free,   1710.8 used,   1783.7 buff/cache
    MiB Swap:    0.0 total,      0.0 free,      0.0 used.  13758.1 avail Mem
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM   TIME+ COMMAND
    15831 root      20   0 1401860  42152  20472 S   0.5   0.3   2:59.24 taihao_exporter
    17830 root      20   0 1153952 127996  65356 S   0.5   0.8   2:57.27 ilogtail
      971 root      20   0 2312484  29944  22544 S   0.3   0.2   3:28.78 argusagent
     1325 root      20   0  686276  18700  13028 S   0.3   0.1   0:40.97 aliyun-service
    392452 root      20   0       0      0      0 I   0.3   0.0   0:00.36 kworker/u8:3-events_unbound
        1 root      20   0  169452  11824   8644 S   0.0   0.1   0:48.72 systemd

    Recherchez le répertoire du processus aliyun-service :

    cd /proc/1352
    ls -ail

    Dans la sortie de la commande, le lien symbolique exe pointe vers /usr/local/share/aliyun-assist/2.2.3.857/aliyun-service, qui correspond au chemin du fichier exécutable du processus 1325.

    [root         1325]# ls -ail
    total 0
     24390 dr-xr-xr-x   9 root root 0 Jan 22 13:17 .
         1 dr-xr-xr-x 253 root root 0 Jan 22 13:17 ..
    3003054 -r--r--r--   1 root root 0 Jan 23 17:01 arch_status
     28694 dr-xr-xr-x   2 root root 0 Jan 22 13:17 attr
    3003026 -rw-r--r--   1 root root 0 Jan 23 17:01 autogroup
    3003022 -r--------   1 root root 0 Jan 23 17:01 auxv
     28698 -r--r--r--   1 root root 0 Jan 22 13:17 cgroup
    3003034 --w-------   1 root root 0 Jan 23 17:01 clear_refs
     26278 -r--r--r--   1 root root 0 Jan 22 13:17 cmdline
     28693 -rw-r--r--   1 root root 0 Jan 22 13:17 comm
    3003046 -rw-r--r--   1 root root 0 Jan 23 17:01 coredump_filter
    3003042 -r--r--r--   1 root root 0 Jan 23 17:01 cpu_resctrl_groups
    3003041 -r--r--r--   1 root root 0 Jan 23 17:01 cpuset
     52865 lrwxrwxrwx   1 root root 0 Jan 22 13:18 cwd -> /
    3003021 -r--------   1 root root 0 Jan 23 17:01 environ
     27984 lrwxrwxrwx   1 root root 0 Jan 22 13:17 exe -> /usr/local/share/aliyun-assist/2.2.3.857/aliyun-service
     22392 dr-x------   2 root root 0 Jan 22 13:17 fd
    3003019 dr-x------   1 root root 0 Jan 23 17:01 fdinfo
    3003048 -rw-r--r--   1 root root 0 Jan 23 17:01 gid_map
     79376                1 root root 0 Jan 22 13:21 io
    3003024 -r--r--r--   1 root root 0 Jan 23 17:01 limits
     28697 -rw-r--r--   1 root root 0 Jan 22 13:17 loginuid
  • Arrêtez un processus par son PID

    En mode interactif, appuyez sur k, saisissez un PID, puis appuyez sur Enter pour arrêter le processus.

    top - 17:19:44 up  3:50,  0 user,  load average: 0.00, 0.00, 0.00
    Tasks: 117 total,   1 running, 116 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    MiB Mem :   7414.8 total,   6142.9 free,    471.8 used,   1059.6 buff/cache
    MiB Swap:      0.0 total,      0.0 free,      0.0 used.   6943.1 avail Mem
    Send pid 4717 signal [15/sigterm]
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
     4717 root      20   0  101088  19384  13184 S   0.7   0.3   0:32.65 AliYunDun
     4744 root      20   0  139200  29284  19456 S   0.7   0.4   1:11.93 AliYunDunMonito
     1076 root      20   0  468824  13312  11392 S   0.3   0.2   0:00.19 udisksd
     4574 root      20   0 1244388  25856  23680 S   0.3   0.3   0:38.55 argusagent
        1 root      20   0   22716  13644   9336 S   0.0   0.2   0:03.74 systemd
        2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd
        3 root      20   0       0      0      0 I   0.0   0.0   0:00.00 pool_workqueue_release
        4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-rcu_g
        5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-rcu_p
        6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-slub_
        7 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-netns
        9 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-events_highpri
       12 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-mm_pe

kill

Commande

La commande kill arrête des processus en envoyant des signaux.

Options courantes

Option

Description

-l

Affiche tous les noms de signaux disponibles.

-L

Affiche tous les noms de signaux et leurs numéros correspondants.

Exemples

  • Arrêtez tous les processus.

    sudo kill -9 -1
  • Affichez le nom du signal dont le numéro est 11.

    sudo kill -l 11
  • Affichez tous les noms de signaux et leurs numéros correspondants.

    sudo kill -L
  • Arrêtez un processus par son PID.

    sudo kill -9 <PID>

    Remplacez <PID> par le PID réel.

killall

Commande

La commande killall arrête tous les processus correspondant à un nom donné.

Options courantes

Option

Description

-g

Arrête les processus du groupe de processus.

-i

Demande une confirmation avant d'arrêter un processus.

-v

Indique si le signal a bien été envoyé.

Exemples

Arrêtez le processus top.

sudo killall top

Informations système

Interrogez les informations matérielles et logicielles du système à l'aide des commandes uname et dmidecode.

uname

Commande

La commande uname affiche les informations relatives au système.

Options courantes

Option

Description

-a

Affiche toutes les informations système.

-s

Affiche le nom du noyau.

-n

Affiche le nom d'hôte du nœud réseau.

-r

Affiche la version de publication du noyau.

-v

Affiche la version détaillée du noyau.

-m

Affiche le nom du matériel de la machine.

-P

Affiche le type de processeur.

-i

Affiche les informations sur la plateforme matérielle.

-o

Affiche les informations sur le système d'exploitation.

Exemples

  • Interrogez l'intégralité des informations système.

    uname -a
  • Exécutez uname -m ou arch pour connaître l'architecture du CPU. Le résultat varie selon l'architecture.

    Résultat de la commande pour l'architecture Arm

    [t@iUf682 xxx ~]# uname -m
    aarch64
    [t@iUf682 xxx ~]# arch
    aarch64

    Résultat de la commande pour l'architecture x86

    [root@iZbp144wor*** ~]# uname -m
    x86_64
    [root@iZbp144wor*** ~]# arch
    x86_64

dmidecode

La commande dmidecode extrait les informations matérielles depuis le BIOS du système via la table DMI, notamment :

  1. Les informations système : fournisseur, nom, version, numéro de série (SN) et modèle.

  2. Les informations sur le processeur : modèle, fréquence et nombre de cœurs.

  3. Les informations sur la mémoire : nombre d'emplacements, capacités, types et vitesses.

  4. Les informations sur la carte mère : fournisseur, version et SN.

  5. Les informations sur le BIOS : version et date de publication.

  6. Les informations sur l'alimentation électrique : spécifications et modèles.

  7. Les informations sur les périphériques : composants matériels tels que les cartes réseau.

  • Affichez toutes les informations matérielles issues de la table DMI.

    sudo dmidecode

    Exemple de sortie de commande :

    # dmidecode 3.5
    Getting SMBIOS data from sysfs.
    SMBIOS 2.8 present.
    9 structures occupying 451 bytes.
    Table at 0x7BBCB000.
    Handle 0x0100, DMI type 1, 27 bytes
    System Information
            Manufacturer: Alibaba Cloud
            Product Name: Alibaba Cloud ECS
            Version: pc-i440fx-2.1
            Serial Number: a430fe54-aef6-4eae-a1ef-63******beb
            UUID: a430fe54-aef6-4eae-a1ef-63******beb
            Wake-up Type: Power Switch
            SKU Number: Not Specified
            Family: Not Specified
    Handle 0x0300, DMI type 3, 21 bytes
    Chassis Information
            Manufacturer: Alibaba Cloud
            Type: Other
            Lock: Not Present
            Version: pc-i440fx-2.1
            Serial Number: Not Specified
            Asset Tag: Not Specified
            Boot-up State: Safe
            Power Supply State: Safe
            Thermal State: Safe
            Security Status: Unknown
            OEM Information: 0x00000000
            Height: Unspecified
            Number Of Power Cords: Unspecified
            Contained Elements: 0
    Handle 0x0400, DMI type 4, 42 bytes
    Processor Information
            Socket Designation: CPU 0
            Type: Central Processor
            Family: Other
            Manufacturer: Alibaba Cloud
            ID: 54 06 05 00 FF FB 8B 1F
            Version: pc-i440fx-2.1
            Voltage: Unknown
            External Clock: Unknown
            Max Speed: Unknown
            Current Speed: Unknown
            Status: Populated, Enabled
            Upgrade: Other
            L1 Cache Handle: Not Provided
            L2 Cache Handle: Not Provided
            L3 Cache Handle: Not Provided
            Serial Number: Not Specified
            Asset Tag: Not Specified
            Part Number: Not Specified
            Core Count: 1
            Core Enabled: 1
            Thread Count: 2
            Characteristics: None
    Handle 0x1000, DMI type 16, 23 bytes
    Physical Memory Array
            Location: Other
            Use: System Memory
            Error Correction Type: Multi-bit ECC
            Maximum Capacity: 2 GB
            Error Information Handle: Not Provided
            Number Of Devices: 1
    Handle 0x1100, DMI type 17, 40 bytes
    Memory Device
            Array Handle: 0x1000
            Error Information Handle: Not Provided
            Total Width: Unknown
            Data Width: Unknown
            Size: 2 GB
            Form Factor: DIMM
            Set: None
            Locator: DIMM 0
            Bank Locator: Not Specified
            Type: RAM
            Type Detail: Other
            Speed: Unknown
            Manufacturer: Alibaba Cloud
            Serial Number: Not Specified
            Asset Tag: Not Specified
            Part Number: Not Specified
            Rank: Unknown
            Configured Memory Speed: Unknown
            Minimum Voltage: Unknown
            Maximum Voltage: Unknown
            Configured Voltage: Unknown
    Handle 0x1300, DMI type 19, 31 bytes
    Memory Array Mapped Address
            Starting Address: 0x00000000000
            Ending Address: 0x0007FFFFFFF
            Range Size: 2 GB
            Physical Array Handle: 0x1000
            Partition Width: 1
    Handle 0x2000, DMI type 32, 11 bytes
    System Boot Information
            Status: No errors detected
    Handle 0x0000, DMI type 0, 26 bytes
    BIOS Information
            Vendor: EFI Development Kit II / OVMF
            Version: 0.0.0
            Release Date: 02/06/2015
            Address: 0xE8000
            Runtime Size: 96 kB
            ROM Size: 64 kB
            Characteristics:
                    BIOS characteristics not supported
                    Targeted content distribution is supported
                    UEFI is supported
                    System is a virtual machine
            BIOS Revision: 0.0
    Handle 0xFEFF, DMI type 127, 4 bytes
    End Of Table
  • Pour afficher uniquement les entrées d'un type spécifique, utilisez l'option -t . Par exemple, pour afficher les entrées liées à la mémoire :

    sudo dmidecode -t memory

    Exemple de sortie de commande :

    # dmidecode 3.5
    Getting SMBIOS data from sysfs.
    SMBIOS 2.8 present.
    Handle 0x1000, DMI type 16, 23 bytes
    Physical Memory Array
            Location: Other
            Use: System Memory
            Error Correction Type: Multi-bit ECC
            Maximum Capacity: 2 GB
            Error Information Handle: Not Provided
            Number Of Devices: 1
    Handle 0x1100, DMI type 17, 40 bytes
    Memory Device
            Array Handle: 0x1000
            Error Information Handle: Not Provided
            Total Width: Unknown
            Data Width: Unknown
            Size: 2 GB
            Form Factor: DIMM
            Set: None
            Locator: DIMM 0
            Bank Locator: Not Specified
            Type: RAM
            Type Detail: Other
            Speed: Unknown
            Manufacturer: Alibaba Cloud
            Serial Number: Not Specified
            Asset Tag: Not Specified
            Part Number: Not Specified
            Rank: Unknown
            Configured Memory Speed: Unknown
            Minimum Voltage: Unknown
            Maximum Voltage: Unknown
            Configured Voltage: Unknown

Informations sur le CPU physique et la mémoire

Remarque
  • Nombre total de cœurs = Nombre de CPU physiques × Nombre de cœurs par CPU physique

  • Nombre total de CPU logiques = Nombre de CPU physiques × Nombre de cœurs par CPU physique × Facteur Hyper-Threading

Voici les commandes couramment utilisées pour interroger les détails du CPU et de la mémoire :

  • Interrogez le nombre de CPU physiques.

    cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
  • Interrogez le nombre de cœurs par CPU physique.

    cat /proc/cpuinfo| grep "cpu cores"| uniq
  • Interrogez le nombre de CPU logiques.

    cat /proc/cpuinfo| grep "processor"| wc -l
  • Interrogez le modèle du CPU.

    cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
  • Interrogez les informations sur la mémoire.

    cat /proc/meminfo

Interroger les détails du CPU

Exécutez lscpu pour obtenir les détails du CPU. Le résultat varie selon l'architecture.

  • Résultat de la commande pour l'architecture Arm

    [root@iZuf682tl xxx ~]# lscpu
    Architecture:          aarch64
    Byte Order:            Little Endian
    CPU(s):                4
    On-line CPU(s) list:   0-3
    Thread(s) per core:    1
    Core(s) per cluster:   4
    Socket(s):             1
    Cluster(s):            1
    NUMA node(s):          1
    Vendor ID:             ARM
    BIOS Vendor ID:        Alibaba Cloud
    Model:                 1
    Model name:            Neoverse-N1
    BIOS Model name:       virt-rhel7.6.0
    Stepping:              r3p1
    BogoMIPS:              50.00
    NUMA node0 CPU(s):     0-3
    Flags:                 fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
  • Résultat de la commande pour l'architecture x86

    [root@iZbp14xxxxx ~]# lscpu
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                16
    On-line CPU(s) list:   0-15
    Thread(s) per core:    2
    Core(s) per socket:    8
    Socket(s):             1
    NUMA node(s):          1
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 106
    Model name:            Intel(R) Xeon(R) Platinum 8369B CPU @ 2.90GHz
    Stepping:              6
    CPU MHz:               2899.998
    BogoMIPS:              5799.99
    Hypervisor vendor:     KVM
    Virtualization type:   full
    L1d cache:             48K
    L1i cache:             32K
    L2 cache:              1280K
    L3 cache:              49152K
    NUMA node0 CPU(s):     0-15
    Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm arch_capabilities

Interroger les informations du système d'exploitation

Exécutez cat /proc/version pour obtenir des informations sur le système d'exploitation et la version du compilateur. Le résultat varie selon l'architecture.

  • Résultat de la commande pour l'architecture x86

    [xxx@iZbp144wor         ~]# cat /proc/version
    Linux version 4.19.91-26.1.al7.x86_64 (mockbuild@x86-003.build.alibaba.cm10) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)) #1 SMP Tue Jul 26 17:52:28 CST 2022
  • Résultat de la commande pour l'architecture Arm

    [root@iZuf682t          ~]# cat /proc/version
    Linux version 5.10.134-12.al8.aarch64 (mockbuild@r75e11320.cm10.tbsite.net) (gcc (GCC) 10.2.1 20200825 (Alibaba 10.2.1-3 2.32), GNU ld version 2.35-12.2.al8) #1 SMP Tue Sep 6 07:11:41 UTC 2022

Gestion des disques

df

Commande

La commande df rend compte de l'utilisation de l'espace disque des systèmes de fichiers.

Options courantes

Option

Description

-a

Inclut les systèmes de fichiers pseudo, dupliqués et inaccessibles.

-B

Ajuste la taille des blocs selon la valeur spécifiée pour l'affichage.

-h

Affiche les tailles dans un format lisible par l'homme en utilisant un facteur d'échelle de 1 024. Exemple : 1023M.

-H

Affiche les tailles dans un format lisible par l'homme en utilisant un facteur d'échelle de 1 000. Exemple : 1,1G.

-k

Équivaut à --block-size=1K.

-l

Affiche une liste des systèmes de fichiers locaux.

-t

Affiche les informations concernant les systèmes de fichiers du type spécifié.

Exemples

Interrogez l'utilisation de l'espace disque avec des tailles de bloc en Mo.

df -BM

Exemple de sortie :

Filesystem     1M-blocks  Used Available Use% Mounted on
tmpfs               742M   22M      721M   3% /run
/dev/vda3         39943M 2542M    35556M   7% /
tmpfs              3708M    0M     3708M   0% /dev/shm
tmpfs                 5M    0M        5M   0% /run/lock
tmpfs               742M    1M      742M   1% /run/user/0

lsblk

Commande

La commande lsblk affiche les détails des périphériques blocs.

Options courantes

Option

Description

-a

Affiche tous les périphériques, y compris les périphériques vides et les disques en mémoire.

-b

Affiche les tailles en octets.

-f

Affiche les informations sur le système de fichiers.

Exemples

  • Interrogez les périphériques blocs avec les informations sur le système de fichiers.

    lsblk -f

    Exemple de sortie :

    NAME   FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
    vda                                                                           
    |-vda1                                                                        
    |-vda2 vfat   FAT32       6175-F96E                                           
    `-vda3 ext4   1.0         df02e0a1-d28d-41b1-99c2-58f2b684cc79   34.7G     6% /
  • Interrogez le numéro de série (SN) d'un disque.

    La méthode varie selon la distribution Linux. Pour Alibaba Cloud Linux 3, CentOS 7 ou Ubuntu 18 :

    1. Interrogez les périphériques de stockage par blocs montés dans le système d'exploitation.

      lsblk
    2. Interrogez le numéro de série d'un périphérique de stockage par blocs. Par exemple, pour interroger le SN de /dev/vda :

      udevadm info --query=all --name=/dev/vda | grep ID_SERIAL

blkid

Commande

La commande blkid affiche les attributs des périphériques blocs.

Exemples

Interroger les attributs d'un périphérique bloc.

blkid  /dev/vda

Exemple de sortie :

/dev/vda: PTUUID="bdee1c7f-46fc-4838-9a74-9exxxxxxxxaf" PTTYPE="gpt"

fdisk

Commande

La commande fdisk gère les tables de partitions de disque.

Options courantes

Option

Description

-l

Affiche les tables de partitions des périphériques spécifiés.

-u

Affiche les informations de partition en secteurs plutôt qu'en cylindres.

Exemples

Interrogez toutes les tables de partitions de disque avec les informations de partition en secteurs.

sudo fdisk -lu

Exemple de sortie :

Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BDEE1C7F-46FC-4838-9A74-9E57F8FD63AF

Device      Start      End  Sectors  Size Type
/dev/vda1    2048     4095     2048    1M BIOS boot
/dev/vda2    4096   413695   409600  200M EFI System
/dev/vda3  413696 83886046 83472351 39.8G Linux filesystem

mount

Commande

La commande mount monte les systèmes de fichiers.

Options courantes

Option

Description

-a

Monte tous les systèmes de fichiers configurés dans le fichier /etc/fstab .

-L

Monte la partition portant le libellé spécifié.

-r

Monte le système de fichiers en lecture seule.

-w

Monte le système de fichiers en lecture/écriture.

-U

Monte la partition possédant l'UUID spécifié.

Exemples

  • Montez tous les systèmes de fichiers configurés dans le fichier /etc/fstab.

    sudo mount -a
  • Montez un système de fichiers en lecture/écriture.

    sudo mount -w /dev/vdb1 /mnt

umount

Commande

La commande umount démonte les systèmes de fichiers.

Options courantes

Option

Description

-r

Remonte le système de fichiers en lecture seule si le démontage échoue.

-a

Démonte tous les systèmes de fichiers configurés dans le fichier /etc/fstab .

-t

Spécifie le type de système de fichiers à démonter. Séparez plusieurs types par des virgules (,).

-f

Démonte le système de fichiers de force.

Exemples

Démontez de force le système de fichiers d'une partition.

sudo umount -f /dev/vdb1

Gestion des services

systemctl

Commande

La commande systemctl gère les services et les unités systemd.

Options courantes

Option

Description

-a

Affiche toutes les unités chargées ou leurs attributs.

Commandes d'unité courantes

Commande

Description

start

Démarre les unités chargées spécifiées.

stop

Arrête les unités chargées spécifiées.

restart

Redémarre les unités chargées spécifiées.

reload

Recharge la configuration des unités spécifiées.

status

Affiche l'état d'exécution des unités spécifiées. États courants :

  • active (running) : le service est en cours d'exécution.

  • active (exited) : le service s'est exécuté puis a quitté.

  • active (waiting) : le service est en cours d'exécution et attend d'être déclenché par une condition ou un événement spécifique.

  • inactive : le service n'est pas en cours d'exécution.

Commandes de fichier d'unité courantes

Commande

Description

enable

Active les unités ou instances d'unités spécifiées.

disable

Désactive les unités ou instances d'unités spécifiées.

Exemples

  • Redémarrez le service NGINX .

    sudo systemctl restart nginx
  • Vérifiez l'état d'exécution du service NGINX .

    sudo systemctl status nginx
  • Configurez le service NGINX pour qu'il démarre automatiquement au boot.

    sudo systemctl enable nginx
  • Listez tous les services activés pour démarrer au boot.

    sudo systemctl list-unit-files --type=service --state=enabled

Utilisation des ressources

lsof

Commande

La commande lsof répertorie les fichiers ouverts et les processus qui y sont associés.

Remarque

Si lsof n'est pas préinstallé, installez-le à l'aide d'un gestionnaire de packages.

  • Alibaba Cloud Linux, CentOS et RHEL : sudo yum install lsof.

  • Ubuntu et Debian : sudo apt install lsof.

Options courantes

Option

Description

-p

Affiche les fichiers ouverts par un processus.

-l

Remplace l'ID utilisateur par le nom d'utilisateur dans la sortie.

-u

Affiche les fichiers ouverts par un utilisateur.

-c

Affiche les fichiers ouverts dont la colonne COMMAND contient des mots-clés spécifiques.

-d

Affiche les fichiers ouverts correspondant à des descripteurs de fichier spécifiques.

-i

Affiche les fichiers ouverts correspondant à la condition spécifiée. Options :

  • 46 : version IP (IPv4 ou IPv6).

  • protocol : nom du protocole (TCP ou UDP).

  • hostname : nom d'hôte réseau.

  • hostaddr : adresse IP.

  • service : nom du service tel qu'il figure dans le fichier /etc/services.

  • port : un ou plusieurs numéros de port.

Sortie de la commande

Exemple de sortie lsof :

[ecs-user@hostname ~]$ lsof
lsof: WARNING: can't stat() tracefs file system /sys/kernel/debug/tracing
      Output information may be incomplete.
COMMAND    PID  TID TASKCMD          USER   FD      TYPE DEVICE  SIZE/OFF     NODE NAME
systemd      1                       root  cwd   unknown                          /proc/1/cwd (readlink: Permission denied)
systemd      1                       root  rtd   unknown                          /proc/1/root (readlink: Permission denied)
systemd      1                       root  txt   unknown                          /proc/1/exe (readlink: Permission denied)
systemd      1                       root NOFD                                    /proc/1/fd (opendir: Permission denied)
kthreadd     2                       root  cwd   unknown                          /proc/2/cwd (readlink: Permission denied)
kthreadd     2                       root  rtd   unknown                          /proc/2/root (readlink: Permission denied)
kthreadd     2                       root  txt   unknown                          /proc/2/exe (readlink: Permission denied)
kthreadd     2                       root NOFD                                    /proc/2/fd (opendir: Permission denied)
rcu_gp       3                       root  cwd   unknown                          /proc/3/cwd (readlink: Permission denied)
rcu_gp       3                       root  rtd   unknown                          /proc/3/root (readlink: Permission denied)
rcu_gp       3                       root  txt   unknown                          /proc/3/exe (readlink: Permission denied)
rcu_gp       3                       root NOFD                                    /proc/3/fd (opendir: Permission denied)

Champs de sortie :

Option

Description

COMMAND

Nom de la commande.

PID

ID du processus.

TID

ID du thread. Un champ vide indique un processus.

TASKCMD

Nom de la tâche, généralement identique à COMMAND.

USER

ID utilisateur ou nom de connexion.

FD

Descripteur de fichier.

TYPE

Type de nœud associé au fichier.

DEVICE

Numéro de périphérique.

SIZE/OFF

Taille du fichier ou décalage en octets.

NODE

Numéro de nœud de fichier.

NAME

Point de montage et nom du système de fichiers.

Exemples

  • Interrogez les fichiers ouverts par un processus.

    sudo  lsof -p 1

    Remplacez 1 par un PID réel.

  • Interrogez les fichiers ouverts par un utilisateur.

    sudo lsof -u <user-name>

    Remplacez <user-name> par un nom d'utilisateur réel.

  • Interrogez les informations sur le processus qui a ouvert un fichier spécifique.

    sudo lsof <file-name>

    Remplacez <file-name> par un nom de fichier réel.

  • Interrogez les fichiers ouverts pour les connexions réseau IPv4.

    sudo lsof -i 4

netstat

Commande

La commande netstat affiche les connexions réseau, les tables de routage et les statistiques de protocole.

Options courantes

Option

Description

-t

Affiche uniquement les options TCP.

-u

Affiche uniquement les options UDP.

-i

Affiche une liste des interfaces réseau.

-n

Affiche les adresses numériques au lieu de résoudre les noms d'hôte.

-l

Affiche uniquement les sockets en écoute.

-p

Affiche les processus associés aux connexions.

-s

Affiche les statistiques réseau.

Exemples

  • Interrogez les statistiques réseau pour le port 8000.

    netstat -tunlp | grep 8000

    Remplacez 8000 par un numéro de port réel.

  • Interrogez tous les ports TCP en écoute et leurs processus.

    netstat -ntlp

vmstat

Commande

La commande vmstat génère des rapports sur la mémoire virtuelle, les processus et les statistiques CPU.

Options courantes

Syntaxe :

vmstat [-n] [delay [count]] 

Option

Description

-n

Affiche l'en-tête de colonne une seule fois.

[delay]

Intervalle de temps entre les mises à jour, en secondes. Sans cette option, un seul rapport est imprimé.

[count]

Nombre de mises à jour. Sans cette option et avec [delay] spécifié, vmstat s'exécute indéfiniment. Appuyez sur Ctrl+C pour quitter.

Exemples

Générez un rapport sur l'utilisation du CPU quatre fois à des intervalles d'une seconde :

vmstat -n 1 4

Exemple de sortie :

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 2684984 310452 2364304    0    0     5    17   19   35  4  2 94  0  0
 0  0      0 2687504 310452 2362268    0    0     0   252 1942 4326  5  2 93  0  0
 0  0      0 2687356 310460 2362252    0    0     0    68 1891 4449  3  2 95  0  0
 0  0      0 2687252 310460 2362256    0    0     0     0 1906 4616  4  1 95  0  0

Champs clés :

  • r : threads en attente de temps CPU. Une valeur plus élevée indique un système plus lent.

  • us : temps CPU en mode utilisateur. Des valeurs supérieures à 50 % suggèrent la nécessité d'optimiser les programmes.

  • sy : temps CPU en mode noyau.

  • wa : temps CPU en attente d'E/S. Des valeurs élevées peuvent indiquer un accès disque aléatoire excessif ou un goulot d'étranglement au niveau du disque.

  • id : temps d'inactivité du CPU. Si cette valeur reste à 0 et que sy est deux fois supérieur à us, il existe une pénurie de ressources CPU.

Informations de connexion des utilisateurs

Les enregistrements de connexion des utilisateurs sont stockés dans les fichiers suivants :

  • Les informations de connexion des utilisateurs sont enregistrées dans /var/run/utmp, /var/log/wtmp, /var/log/btmp et /var/log/lastlog.

  • who, w et users interrogent les utilisateurs actuellement connectés à partir de /var/run/utmp.

  • last interroge les utilisateurs connectés actuels et historiques à partir de /var/log/wtmp.

  • lastb interroge les tentatives de connexion échouées à partir de /var/log/btmp.

  • lastlog interroge la dernière connexion de chaque utilisateur à partir de /var/log/lastlog.

who

La commande who interroge les utilisateurs actuellement connectés. Exemple de sortie :

[root@xxx3Z ~]# who
root    pts/0         2025-01-27 11:22 (1xxx4)
root    pts/1         2025-01-27 11:29 (xxx)

w

La commande w interroge l'utilisateur actuellement connecté et ses tâches actives. Exemple de sortie :

[xxx ~]# w
 11:30:45 up 2 days, 18:08,  2 users,  load average: 0.04, 0.05, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    1xxx4            11:22    7:47   0.02s  0.02s -bash
root     pts/1    xxx              11:29    6.00s  0.02s  0.00s w

users

La commande users interroge les noms d'utilisateur des utilisateurs actuellement connectés. Exemple de sortie :

[root@xxx ~]# users
root root

last

La commande last interroge tous les enregistrements de connexion historiques. Exemple de sortie :

[root@xxx ~]# last
root     pts/1        xxx              Mon Jan 27 11:29   still logged in
root     pts/1        xxx              Mon Jan 27 11:29 - 11:29  (00:00)
root     pts/0        xxx              Mon Jan 27 11:22   still logged in
root     pts/0        xxx              Mon Jan 27 11:14 - 11:21  (00:07)
root     pts/0        xxx              Sun Jan 26 16:42 - 11:14  (18:31)
john     pts/0        xxx              Sun Jan 26 16:30 - 16:42  (00:11)
root     pts/0        xxx              Sun Jan 26 16:30 - 16:30  (00:00)
root     pts/0        xxx              Sun Jan 26 16:25 - 16:30  (00:04)
root     pts/1        xxx              Fri Jan 24 17:20 - 19:33  (02:13)
root     pts/0        xxx              Fri Jan 24 17:06 - 23:20  (06:14)
root     pts/0        xxx              Fri Jan 24 17:06 - 17:06  (00:00)
reboot   system boot  xxx              Fri Jan 24 17:01   still  running

lastb

La commande lastb interroge les tentatives de connexion échouées. Exemple de sortie :

[r*** ~]# lastb
john    ssh:notty    xxx    '4    Mon Jan 27 11:33 - 11:33  (00:00)
root    ssh:notty    xxx    '4    Mon Jan 27 11:33 - 11:33  (00:00)
root    ssh:notty    xxx    '4    Mon Jan 27 11:33 - 11:33  (00:00)
root    ssh:notty    xxx    '4    Mon Jan 27 11:33 - 11:33  (00:00)
root    pts/0                     Sun Jan 26 16:30 - 16:30  (00:00)

btmp begins Sun Jan 26 16:30:01 2025

lastlog

La commande lastlog interroge la dernière connexion de chaque utilisateur. Exemple de sortie :

[rxxx ~]# lastlog
Username         Port     From             Latest
root             pts/1    8xxx       xxx40  Mon Jan 27 11:29:34 +0800 2025
bin                                        Never logged in
daemon                                     Never logged in
adm                                        Never logged in
lp                                         Never logged in
sync                                       Never logged in
shutdown                                   Never logged in
halt                                       Never logged in
mail                                       Never logged in
operator                                   Never logged in
games                                      Never logged in
ftp                                        Never logged in
nobody                                     Never logged in
dbus                                       Never logged in
systemd-coredump                           Never logged in
systemd-resolve                            Never logged in
tss                                        Never logged in
polkitd                                    Never logged in
unbound                                    Never logged in
chrony                                     Never logged in
sshd                                       Never logged in
nscd                                       Never logged in
postfix                                    Never logged in
tcpdump                                    Never logged in
rpc                                        Never logged in
rpcuser                                    Never logged in
squid                                      Never logged in
ecs-instance-connect                       Never logged in
jack                                       Never logged in
john             pts/0                     Mon Jan 27 11:21:25 +0800 2025
john1                                      Never logged in

cat /var/log/secure

La commande cat /var/log/secure interroge tous les enregistrements de connexion des utilisateurs. Exemple de sortie :

[root@xxx 3Z ~]# cat /var/log/secure
Jan 26 11:18:17 i    3Z sshd[6646]: Accepted password for root from 1.xxx.xxx.xxx 6 port 2090 ssh2
Jan 26 11:18:17 i    3Z systemd[6652]: pam_unix(systemd-user:session): session opened for user root by (uid=0)
Jan 26 11:18:17 i    3Z sshd[6646]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 26 13:33:22 i    3Z sshd[6646]: pam_unix(sshd:session): session closed for user root
Jan 26 16:25:44 i    3Z useradd[6815]: new group: name=ecs-instance-connect, GID=992
Jan 26 16:25:44 i    3Z useradd[6815]: new user: name=ecs-instance-connect, UID=995, GID=992, home=/home/ecs-instance-connect, shell=/sbin/nologin
Jan 26 16:25:44 i    3Z sudo[6835]:      root : PWD=/root ; USER=root ; COMMAND=/bin/systemctl daemon-reload
Jan 26 16:25:44 i    3Z systemd[6839]: pam_unix(systemd-user:session): session opened for user root by (uid=0)
Jan 26 16:25:44 i    3Z sudo[6835]: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan 26 16:25:45 i    3Z sudo[6835]: pam_unix(sudo:session): session closed for user root
Jan 26 16:25:45 i    3Z sudo[6876]:      root : PWD=/root ; USER=root ; COMMAND=/bin/systemctl restart sshd
Jan 26 16:25:45 i    3Z sudo[6876]: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan 26 16:25:45 i    3Z sshd[1055]: Received signal 15; terminating.
Jan 26 16:25:45 i    3Z sshd[6881]: Server listening on 0.0.0.0 port 22.
Jan 26 16:25:45 i    3Z sshd[6881]: Server listening on :: port 22.
Jan 26 16:25:45 i    3Z sudo[6876]: pam_unix(sudo:session): session closed for user root
Jan 26 16:25:48 i    3Z sshd[6886]: Accepted publickey for root from 1.xxx.xxx.xxx 74 port 2072 ssh2: ED25519 SHA256:xQdusPE/xxx            jUd5qN0EU
Jan 26 16:25:48 i    3Z sshd[6886]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 26 16:26:01 i    3Z useradd[6962]: new group: name=jack, GID=1000
Jan 26 16:26:01 i    3Z useradd[6962]: new user: name=jack, UID=1000, GID=1000, home=/home/jack, shell=/bin/bash
Jan 26 16:26:38 i    3Z useradd[6971]: new group: name=john, GID=1001
Jan 26 16:26:38 i    3Z useradd[6971]: new user: name=john, UID=1001, GID=1001, home=/home/john, shell=/bin/bash
Jan 26 16:26:58 i    3Z passwd[6978]: pam_unix(passwd:chauthtok): password changed for john
Jan 26 16:27:43 i    3Z sudo[6984]:      root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/sbin/usermod -aG sudo john
Jan 26 16:27:43 i    3Z sudo[6984]: pam_unix(sudo:session): session opened for user root by root(uid=0)
Jan 26 16:27:43 i    3Z sudo[6984]: pam_unix(sudo:session): session closed for user root
Jan 26 16:29:01 i    3Z sudo[6992]:      root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/sbin/usermod -aG wheel john
Jan 26 16:29:01 i    3Z sudo[6992]: pam_unix(sudo:session): session opened for user root by root(uid=0)

Gestion des utilisateurs

Gérez les utilisateurs et les autorisations du système avec useradd, wheel, passwd et userdel.

useradd

Commande

La commande useradd crée des utilisateurs. Vérifiez avec cat /etc/passwd | grep username.

  • Requiert des autorisations root ou sudo.

  • Définissez un mot de passe pour l'utilisateur après sa création.

  • Les groupes principaux et supplémentaires doivent exister avant la création de l'utilisateur.

Options courantes

Option

Description

-d

Répertoire personnel. Par défaut : /home/<Username>.

-m

Crée le répertoire personnel. Utilisez avec -d pour spécifier le chemin.

-s

Shell de connexion. Par défaut : /bin/bash.

-g

Groupe principal. Le groupe doit exister.

-G

Groupes supplémentaires. Séparez plusieurs groupes par des virgules (,).

-p

Mot de passe chiffré. Exemple :

sudo useradd -p $(openssl passwd -6 '<Password in plaintext>') newusername

-u

ID utilisateur numérique.

-e

Date d'expiration du compte au format AAAA-MM-JJ.

Exemples

  • Créez l'utilisateur jack avec un répertoire personnel et un shell personnalisés.

    useradd -m -d /home/jack -s /bin/bash jack

    Vérifiez l'utilisateur en exécutant cat /etc/passwd | grep jack :

    jack:x:1000:1000::/home/jack:/bin/bash

    Définissez un mot de passe pour l'utilisateur :

    passwd jack
  • Créez l'utilisateur alice dans le groupe supplémentaire developers.

    useradd -m -G developers alice
  • Créez l'utilisateur bob avec l'ID utilisateur 1001.

    useradd -m -u 1001 bob
  • Créez un utilisateur avec des autorisations root :

    Important

    Accordez des autorisations root uniquement lorsque cela est nécessaire.

    1. Créez l'utilisateur john.

      useradd john
    2. Définissez un mot de passe.

      passwd john
    3. Ajoutez l'utilisateur au groupe wheel pour accorder des autorisations sudo. Exécutez grep '^wheel:' /etc/group pour vérifier l'appartenance.

      sudo usermod -aG wheel john
    4. Testez les autorisations sudo. Basculez vers le nouvel utilisateur et exécutez une commande sudo.

      su - john
      sudo ls /root

      Si vous êtes invité à saisir un mot de passe et que le contenu du répertoire /root s'affiche, l'utilisateur dispose des autorisations sudo et peut être utilisé pour la connexion à distance.

    5. (Facultatif) Modifiez le fichier sudoers pour ajouter des autorisations spécifiques.

      sudo visudo

userdel

Commande

La commande userdel supprime des utilisateurs.

Options courantes

Option

Description

-r

Supprime le répertoire personnel et ses fichiers.

-f

Supprime l'utilisateur de force, même s'il est connecté.

Exemples

  • Supprimez l'utilisateur john.

    Basculez vers root et interrogez le répertoire personnel avec cat /etc/passwd | grep john :

    john:x:1001:1001::/home/john:/bin/bash

    Supprimez l'utilisateur john mais conservez le répertoire personnel :

    userdel john
  • Supprimez l'utilisateur john ainsi que le répertoire personnel et les fichiers.

    userdel -r username
  • Supprimez un utilisateur de force.

    userdel -f username

wheel

Commande

wheel est un groupe d'utilisateurs qui contrôle l'accès à la commande su pour basculer vers root.

  • Le groupe wheel existe par défaut. Sinon, créez-le avec sudo groupadd wheel.

  • Par défaut, tout utilisateur peut exécuter su et saisir le mot de passe root pour basculer vers root.

  • Pour restreindre l'accès root, configurez le groupe wheel afin que seuls ses membres puissent utiliser su pour basculer vers root.

Exemples

  • Vérifiez si un utilisateur appartient au groupe wheel.

    groups username
  • Ajoutez l'utilisateur au groupe wheel.

    sudo usermod -aG wheel username

    Exécutez visudo pour modifier /etc/sudoers. La ligne %wheel ALL=(ALL) ALL permet aux membres du groupe wheel d'utiliser sudo pour toutes les commandes.

    Pour autoriser sudo sans mot de passe pour les membres de wheel, modifiez la ligne comme suit :

    %wheel ALL=(ALL) NOPASSWD: ALL