GNU/Linux >> Tutoriels Linux >  >> Linux

20 exemples de commandes OpenSSL que vous devez connaître

OpenSSL est une boîte à outils open source utilisée pour implémenter les protocoles Secure Socket Layer (SSL) et Transport Layer Security (TLS). La boîte à outils est chargée de tonnes de fonctionnalités qui peuvent être exécutées à l'aide de diverses options. En tant qu'administrateur Linux, vous devez connaître les commandes openssl pour sécuriser votre réseau, ce qui inclut le test des serveurs POP, IMAP, les certificats https, la génération de clés auto-signées, l'analyse comparative des vitesses, etc...

Eh bien, l'utilisateur final peut également utiliser les commandes openssl pour générer des CSR (Certificate Signing Requests), convertir PEM en PKCS12, PKC12 en PEM, vérifier les certificats, extraire le nom distinctif, etc…

D'accord! C'est parti,

1. Comment installer OpenSSL Toolkit ?

Rien de difficile à faire. Si vous avez configuré YUM sur votre machine, exécutez la commande ci-dessous.

$yum install openssl
$yum install openssl-devel

Si vous utilisez Ubuntu, la commande ressemblera à ceci.

$apt-get install openssl
$apt-get install openssl-devel

Installer OpenSSL à partir de la source

Vous pouvez également télécharger la source OpenSSL et compiler comme expliqué ici .

2. Comment vérifier la version d'OpenSSL ?

$openssl version
OpenSSL 1.0.0-fips 29 Mar 2010

Vous pouvez également récupérer des informations détaillées en utilisant l'option '-a',

$openssl version -a

OpenSSL 1.0.0-fips 29 mars 2010
construit le :lundi 4 mars 22:19:53 UTC 2013
plate-forme :linux-x86_64
options :bn(64,64) md2(int ) rc4(8x,int) des(idx,cisc,16,int) blowfish(idx)
compilateur :gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Mur -O2 -g -pipe -Mur -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,–noexecstack -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM
OPENSSLDIR :"/etc/pki/tls"
moteurs :aesni dynamique

Votre serveur de production exécute-t-il OpenSSL version 1.0.1e-fips ? alors voici une grave vulnérabilité OpenSSL signalée en mars 2015 et une solution rapide a également été suggérée par notre équipe d'experts en sécurité.

3. Comment lister les options d'aide d'openssl ?

L'identification de la liste des options disponibles dans openssl n'est pas très conviviale. Par exemple, l'utilisation des options '-h' ou '-help' ou 'help' indiquera "Option invalide", mais c'est ainsi que vous pouvez obtenir la liste des options prises en charge par openssl. Fournissez une option invalide à openssl et il listera quelles sont les options valides.

openssl -h
openssl:Error: '-h' is an invalid command.

Commandes standard
asn1parse ca ciphers cms
crl crl2pkcs7 dgst dh
dhparam dsa dsaparam enc
engine errstr gendh gendsa
genpkey genrsa nseq ocsp
passwd pkcs12 pkcs7 pkcs8
pkey pkeyparam pkeyutl prime
rand req rsa rsautl
s_client s_server s_time sess_id
smime speed spkac ts
verify version x509

Commandes Message Digest (voir la commande `dgst' pour plus de détails)
md2 md4 md5 rmd160
sha sha1

Commandes de chiffrement (voir la commande `enc' pour plus de détails)
aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb
aes-256-cbc aes-256- ecb base64 bf
bf-cbc bf-cfb bf-ecb bf-ofb
camélia-128-cbc camélia-128-ecb camélia-192-cbc camélia-192-ecb
camélia-256 -cbc camellia-256-ecb cast cast-cbc
cast5-cbc cast5-cfb cast5-ecb cast5-ofb
des des-cbc des-cfb des-ecb
des-ede des- ede-cbc des-ede-cfb des-ede-ofb
des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb
des-ofb des3 desx rc2
rc2 -40-cbc rc2-64-cbc rc2-cbc rc2-cfb
rc2-ecb rc2-ofb rc4 rc4-40
graine graine-cbc graine-cfb graine-ecb

Désormais, la même astuce peut également être utilisée pour obtenir de l'aide sur les sous-commandes.

$openssl crl -h
unknown option -h
usage: crl args

-inform arg – format d'entrée – PEM par défaut (DER ou PEM)
-outform arg – format de sortie – PEM par défaut
-text – affiche une version au format texte
-in arg – fichier d'entrée – stdin par défaut
-out arg – fichier de sortie – stdout par défaut
-hash – imprimer la valeur de hachage
-fingerprint – imprimer l'empreinte crl
-issuer – imprimer le DN de l'émetteur
-lastupdate – champ lastUpdate
-nextupdate – champ nextUpdate
-crlnumber – imprimer le numéro CRL
-noout – pas de sortie CRL
-CAfile name – vérifier la CRL à l'aide des certificats dans le fichier " name"
-CApath dir – vérification de la liste de révocation de certificats à l'aide de certificats dans "dir"
-nameopt arg – diverses options de nom de certificat

4. Comment lister les chiffrements pris en charge dans openssl ?

$openssl ciphers -v
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1
DHE-DSS-CAMELLIA256-SHA SSLv3 Kx=DH Au=DSS Enc=Camellia(256) Mac=SHA1
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
CAMELLIA256-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(256) Mac=SHA1
PSK-AES256-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=AES(256) Mac=SHA1
EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1
PSK-3DES-EDE-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=3DES(168) Mac=SHA1
KRB5-DES-CBC3-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=3DES(168) Mac=SHA1
KRB5-DES-CBC3-MD5 SSLv3 Kx=KRB5 Au=KRB5 Enc=3DES(168) Mac=MD5
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
DHE-DSS-AES128-SHA SSLv3 Kx=DH Au=DSS Enc=AES(128) Mac=SHA1
DHE-RSA-SEED-SHA SSLv3 Kx=DH Au=RSA Enc=SEED(128) Mac=SHA1
DHE-DSS-SEED-SHA SSLv3 Kx=DH Au=DSS Enc=SEED(128) Mac=SHA1
DHE-RSA-CAMELLIA128-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(128) Mac=SHA1
DHE-DSS-CAMELLIA128-SHA SSLv3 Kx=DH Au=DSS Enc=Camellia(128) Mac=SHA1
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1
SEED-SHA SSLv3 Kx=RSA Au=RSA Enc=SEED(128) Mac=SHA1
CAMELLIA128-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(128) Mac=SHA1
PSK-AES128-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=AES(128) Mac=SHA1
RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1
RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
PSK-RC4-SHA SSLv3 Kx=PSK Au=PSK Enc=RC4(128) Mac=SHA1
KRB5-RC4-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=SHA1
KRB5-RC4-MD5 SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=MD5
EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH Au=RSA Enc=DES(56) Mac=SHA1
EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH Au=DSS Enc=DES(56) Mac=SHA1
DES-CBC-SHA SSLv3 Kx=RSA Au=RSA Enc=DES(56) Mac=SHA1
KRB5-DES-CBC-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=DES(56) Mac=SHA1
KRB5-DES-CBC-MD5 SSLv3 Kx=KRB5 Au=KRB5 Enc=DES(56) Mac=MD5
EXP-EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH(512) Au=RSA Enc=DES(40) Mac=SHA1 export
EXP-EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH(512) Au=DSS Enc=DES(40) Mac=SHA1 export
EXP-DES-CBC-SHA SSLv3 Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export
EXP-RC2-CBC-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export
EXP-KRB5-RC2-CBC-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=RC2(40) Mac=SHA1 export
EXP-KRB5-DES-CBC-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=DES(40) Mac=SHA1 export
EXP-KRB5-RC2-CBC-MD5 SSLv3 Kx=KRB5 Au=KRB5 Enc=RC2(40) Mac=MD5 export
EXP-KRB5-DES-CBC-MD5 SSLv3 Kx=KRB5 Au=KRB5 Enc=DES(40) Mac=MD5 export
EXP-RC4-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
EXP-KRB5-RC4-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(40) Mac=SHA1 export
EXP-KRB5-RC4-MD5 SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(40) Mac=MD5 export

5. Comment générer une demande de signature de certificat (CSR) ?

La soumission d'une demande de signature de certificat implique certaines formalités et l'ensemble du processus varie d'une autorité de certification (CA) à l'autre. Mais la demande peut être générée du côté client, si les autorités de certification ne fournissent aucune interface de génération de certificats.

Lorsque vous avez openssl, de quoi d'autre avez-vous besoin ?

$openssl req -new -newkey rsa:1024 -nodes -keyout key.pem -out req.pem

Ici,

req :option utilisée pour générer une requête.

-new :générer une nouvelle requête

-newkey :génère une nouvelle clé

rsa:1024 :Algorithme utilisé et longueur de la clé 1024 bits. Il peut être remplacé par rsa:2048, rsa:4096 etc..

-keyout :affiche la nouvelle clé dans le fichier key.pem.

-out :affiche la requête dans le fichier "req.pem".

Exemple de sortie,

$openssl req -new -newkey rsa:1024 -nodes -keyout key.pem -out req.pem
Generating a 1024 bit RSA private key
.................................................................................................++++++
....++++++
writing new private key to 'key.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:CHE
Locality Name (eg, city) [Default City]:CH
Organization Name (eg, company) [Default Company Ltd]:F4
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:myserver
Email Address []:[email protected]

Veuillez saisir les attributs "supplémentaires" suivants
à envoyer avec votre demande de certificat
Un mot de passe de test [] :
Un nom de société facultatif [] :

Fichiers de sortie,

$ls
-rw-r--r--. 1 root root 916 Oct 28 13:06 key.pem
-rw-r--r--. 1 root root 676 Oct 28 13:06 req.pem

6. Comment générer des clés auto-signées à l'aide d'Openssl ?

Vous pouvez générer des certificats auto-signés pour le déployer sur des serveurs. Pour ce faire, exécutez la commande ci-dessous. Par défaut, OpenSSL utilise l'algorithme sha1 pour signer votre demande de certificat. Vous pouvez également générer explicitement un certificat auto-signé de hachage x509 SHA256 comme meilleure mesure de sécurité [Par le par sha1 est déjà cassé !].

$openssl req -x509 -days 365 -nodes -newkey rsa:2048 -keyout key.pem -out cert.pem

Ici,

x509 :est la norme de certificat numérique

-jours :validité de votre certificat, le plus souvent un an.

7. Comment tester le certificat du serveur Web distant ?

Vous pouvez utiliser l'option client d'openssl pour afficher les informations de certificat d'un serveur distant,

$openssl s_client -connect google.com:443 -showcerts

Exemple de sortie lorsque google.com est interrogé,

$openssl s_client -connect google.com:443 -showcerts
CONNECTED(00000003)
depth=3 C = US, O = Equifax, OU = Equifax Secure Certificate Authority
verify return:1
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = Google Inc, CN = Google Internet Authority G2
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = *.googl e.com
verify return:1
---
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=*.google.com
i:/C=US/O=Google Inc/CN=Google Internet Authority G2
-----BEGIN CERTIFICATE-----
MIIHIDCCBgigAwIBAgIIPRfoBTWJubswDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UE
BhMCVVMxEzARBgNVBAoTCkdvb2dsZSBJbmMxJTAjBgNVBAMTHEdvb2dsZSBJbnRl

—–END CERTIFICATE—–

Certificat de serveur
subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=*.google.com
issuer=/C=US/O=Google Inc/CN=Google Internet Authority G2

Aucun nom de CA de certificat client envoyé

La poignée de main SSL a lu 4055 octets et écrit 426 octets

Nouveau, TLSv1/SSLv3, le chiffrement est RC4-SHA
La clé publique du serveur est de 2 048 bits
La renégociation sécurisée EST prise en charge
Compression :AUCUNE
Expansion :AUCUNE
Session SSL :
Protocole :TLSv1
Chiffrement :RC4-SHA
ID de session :7036D2353DD2A38D13A24F2791A65FAD5B332628C8FDD37EBF633D9575178BB4
ID de session-ctx :
Clé principale :113AAED5B1E5A23CA33B07AF37DD464BA671922EF5274F116FB7C7835A0749B9 48B6445AC6F10CEB78C0713727713D81
Key-Arg : Aucune
Krb5 Principal :Aucune
Identité PSK :Aucune
Identité PSK :Aucune
Identité PSK :Aucune
indice de durée de vie du ticket :100800 (secondes)
Ticket de session TLS :
0000 – d2 e0 d9 0a 1c 92 16 a7-9f a6 62 4e 06 94 24 9b ……….bN..$.
0010 – a2 da 35 9f 1b 57 1f f7-ae c2 c8 c1 28 84 48 c0 ..5..W……(.H.
0020 – ca 97 87 79 7e c3 49 13-78 ed 6b cc 6d 28 90 7a …y ~.I.x.k.m(.z
0030 – 6d 1d 11 af ac be 74 d9-2c b4 c6 2d 2e fc 7d b1 m…..t.,..-..}.
0040 – ec 23 9d c3 ec 49 80 77-bf 49 41 57 bf a3 3a 1a .#…I.w.IAW..:.
0050 – d6 3d c1 61 60 d6 e3 bf-90 6e 2f 4d 96 36 78 7d .=.a`….n/M.6x}
0060 – 7d b0 bd e0 df 22 09 01-e3 11 09 67 f1 5b 1e 49 }….”…..g.[.I
0070 – 42 02 eb 6c 6d a4 d6 5b-e8 ce ef 05 d5 f7 19 a9 B..lm..[……..
0080 – 36 77 66 8b 74 38 09 bf-6c fd 28 37 fb 3a 14 fc 6wf.t8..l.(7.:..
0090 – b2 e6 dd 2b …+

Heure de début :1382946144
Délai d'expiration :300 (sec)
Vérifier le code de retour :0 (ok)

8. Comment vérifier le certificat SSL ?

$openssl verify pem-file
$openssl verify mycert.pem

Exemple de sortie,

mycert.pem: OK

Vous devriez voir OK en sortie. Par exemple, si le certificat a expiré, vous verrez une plainte à ce sujet. OpenSSL ne peut pas vérifier tous les certificats. Par exemple, les certificats auto-signés ne sont pas approuvés par OpenSSL. OpenSSL fait confiance au certificat en vérifiant le certificat de l'émetteur qui réside sous « /usr/lib/ssl » (cependant, cet emplacement peut varier d'un système d'exploitation à l'autre). Vous pouvez suivre des commandes OpenSSL simples pour savoir quel algorithme de signature est utilisé dans les certificats SSL des sites Web sécurisés.

Pour savoir quelles autorités de certification OpenSSL reconnaît ou fait confiance, la commande ci-dessous révélera le répertoire qui stocke les certificats CA de confiance.

$openssl version -d

Exemple de sortie,

OPENSSLDIR: "/etc/pki/tls"

9. Comment vérifier ou afficher les informations du certificat du serveur POP ?

$openssl s_client -connect mailserver:995

10. Comment tester ou vérifier les serveurs IMAP ?

$openssl s_client -connect mailserver:993

11. Comment afficher ou tester le certificat .PEM ?

$ openssl x509 -text -in usercert.pem

Exemple de sortie,

Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1504 (0x5e0)
Signature Algorithm: sha1WithRSAEncryption
::::::::::::::::::::::::::::::::::::::::

12. Comment afficher le DN de votre certificat, sa validité, son hachage ?

$openssl x509 -subject -in usercert.pem

Obtenir les informations sur l'émetteur

openssl x509 -noout -in usercert.pem -issuer

Obtenir les informations de validité

openssl x509 -noout -in usercert.pem -dates

Obtenir la valeur de hachage du certificat

openssl x509 -noout -in usercert.pem -hash

Obtenir l'empreinte MD5

openssl x509 -noout -in usercert.pem -fingerprint

13. Comment convertir un certificat .PEM au format .P12 ou PKCS#12 ?

$ openssl pkcs12 -export -inkey userkey.pem -in usercert.pem -out mypcks.p12

ou

$ openssl pkcs12 -export -inkey userkey.pem -in usercert.pem -out mypcks.pfx

Lors de la conversion de vos fichiers .PEM en PFX ou P12, il vous sera demandé d'entrer le mot de passe qui a sécurisé votre clé privée. Enfin le format de sortie sera également sécurisé par un mot de passe.

14. Comment convertir un certificat .P12 au format .PEM ?

Les formats .P12 ou PFX ou PCKS#12 contiendront à la fois les clés publiques et privées. L'exportation du fichier .p12 vers .PEM produira deux fichiers.

Pour extraire le mot de passe sans la clé publique, exécutez la commande ci-dessous.

openssl pkcs12 -in mycert.p12 -out mycert.pem -nodes

Pour extraire le mot de passe privé protégé, exécutez la commande ci-dessous.

openssl pkcs12 -in mycert.p12 -out mycert.pem

Vous devriez avoir ces fichiers maintenant,

usercert.pem
userkey.pem

15. Comment générer un hachage MD5 ou SHA1 pour un fichier ?

$openssl dgst -md5 foo.gif
MD5(foo.gif)= a303ed7ce439738c2ce9f0791d9799c1
openssl dgst -sha1 foo.gif
SHA1(foo.gif)= e5cba219bad315b7d0d6e0912a2d423ee9801611

16. Comment encoder un fichier en base64 avec openssl ?

Laissez-moi créer un exemple de fichier,

$more tg.txt
I am goin to be encoded

Pour encoder en base64, exécutez la commande ci-dessous,

$openssl enc -base64 -in tg.txt -out tg-en.txt

Les données encodées sont stockées dans 'tg-en.txt'

$more tg-en.txt
SSBhbSBnb2luIHRvIGJlIGVuY29kZWQK

17. Comment décoder un fichier encodé en base64 à l'aide d'openssl ?

$openssl enc -base64 -d -in tg-en.txt
I am goin to be encoded

ou

$echo "SSBhbSBnb2luIHRvIGJlIGVuY29kZWQK" | openssl enc -base64 -d

18. Comment chiffrer un fichier avec openssl ?

Comme indiqué précédemment, vérifiez les chiffrements disponibles en utilisant,

$openssl ciphers -v

Pour chiffrer tg.txt en tg.enc en utilisant l'un des chiffrements pris en charge

openssl enc -aes-256-cbc -salt -in tg.txt -out tg.enc

Vous obtiendrez un fichier binaire tg.enc, qui est un fichier crypté.

19. Comment décrypter un fichier en utilisant Openssl ?

Pour déchiffrer le fichier binaire chiffré, vous devez vous souvenir du chiffrement et de la phrase secrète utilisés lors du chiffrement.

openssl enc -d -aes-256-cbc -in tg.enc

20. Comment puis-je vérifier la vitesse de mon système à l'aide de l'option d'analyse comparative Openssl ?

$openssl speed
Doing md2 for 3s on 16 size blocks: 373915 md2's in 3.00s
Doing md2 for 3s on 64 size blocks: 209326 md2's in 3.00s
Doing md2 for 3s on 256 size blocks: 71001 md2's in 3.00s
Doing md2 for 3s on 1024 size blocks: 19460 md2's in 3.00s
Doing md2 for 3s on 8192 size blocks: 2506 md2's in 3.00s
Doing md4 for 3s on 16 size blocks: 8402125 md4's in 3.00s
Doing md4 for 3s on 64 size blocks: 6484713 md4's in 3.00s
Doing md4 for 3s on 256 size blocks: 3877820 md4's in 3.00s
Doing md4 for 3s on 1024 size blocks: 1473222 md4's in 3.00s
Doing md4 for 3s on 8192 size blocks: 218591 md4's in 3.00s
Doing md5 for 3s on 16 size blocks: 5838256 md5's in 2.99s
::::::::::::::::::::::::::::::::::::::::::::::::::::::::

OpenSSL est livré avec une option d'analyse comparative intégrée appelée "vitesse". Il vous indique combien d'opérations il peut effectuer dans un temps donné.

Avoir plus? Dites-le nous dans les commentaires.


Linux
  1. 10 commandes Linux de base que vous devez connaître

  2. 6 options de commande OpenSSL que chaque administrateur système devrait connaître

  3. 7 commandes réseau Linux que chaque administrateur système devrait connaître

  4. Redhat vs Ubuntu :15 faits fondamentaux que vous devez savoir

  5. 15 exemples d'extension de l'historique Linux Bash à connaître

CentOS vs Ubuntu :vous devez connaître ces 15 faits fondamentaux

Commandes Bash utiles que vous ne connaissez peut-être pas

20 principales commandes Linux dont vous aurez besoin quotidiennement

Top 50+ des commandes Linux que vous DEVEZ connaître

Top 10 des meilleurs docks Linux que vous DEVEZ essayer en 2020

Faits intéressants sur Linux que vous devez savoir