Le guide
  • 📖Qui sommes-nous ?
  • prévention
    • 📱Les dangers des réseaux sociaux
    • 🔑Qu'est ce qu'un ransomware
    • 👀C'est quoi le phishing ?
    • 🌐Que peut-on faire avec une IP ?
    • Comment se rétracter lors d'un achat (ecommerce) ?
  • urgence
    • ⚡Cybermalveillance
    • 🩹Kit d'aide digital
    • 🚨Infos d'urgences
    • 📘Dernier poste
  • HELP
    • Dont ask to ask
    • Une alternative ?
    • 🎓Apprendre
      • 🇬🇧 Apprendre autre chose
      • Apprendre la cybersécurité
      • Apprendre le développement
      • liens utiles cybersec
      • Apprendre la création de jeux
      • Apprendre l’intelligence artificiel
      • Sauvegarder sous toutes les formes
  • Projets
    • Blukeys (en cours)
    • Communautés
      • Quark
  • Français
    • Comment bien écrire une liste ?
  • Cybersécurité - Hack
    • Outils
      • Introduction au reverse engineering
      • Outils de Base (introduction au Pentesting et la cybersécurité)
      • BurpSuite - Intercepter toutes les requêtes HTTP
      • 🇬🇧 fabacab/awesome-cybersecurity-blueteam
      • 🇬🇧 fabionoth/awesome-cyber-security
      • 🇬🇧 Bypassing Cloudflare WAF with the origin server IP address | Detectify Blog
    • OWASP Top 10
    • On dit chiffrer plutôt que crypter
    • Web security academy - WSA
    • Write-up ctf
      • TryHackMe - Retro
    • SANS - Formations en cybersécurité
  • Développement logiciels
    • Par où commencer ?
    • Principes et bonnes pratiques
      • POO (Programmation Orienté Objet)
    • Langages informatique
      • CSS, SASS
      • HTML
      • L'algorithmique
      • La famille C
      • La famille JS, TS
      • La famille JVM
      • PHP
      • Python
      • Ruby
      • RUST
      • SQL
    • Technologies
      • C'est quoi le Cloud Native ?
      • Installation Sqlite3 avec NPM ou Yarn
      • Les IDE recommandés
      • Base de données
      • Développement web sur windows
    • Toute les documentations
  • Cryptomonnaie
    • Tips navigateur Brave | Laisser un pourboire
  • Infrastructure
    • Générateur de configuration SSL
  • Qualité ingénierie logicielle
    • CI/CD Dév
    • CI/CD d'une infra
    • 🇬🇧 Introduction Mangle enables you to run chaos engineering experiments
      • Overview
      • Mangle Deployment and Administration Guide
      • Mangle Users Guide
      • Mangle Troubleshooting Guide
      • Mangle Developers' Guide
      • Contributing to Mangle
      • mangle-administration
        • Supported Deployment Models
          • Advanced Cassandra Configuration
        • Admin Settings
      • sre-developers-and-users
        • Adding Endpoints
        • Injecting Faults
          • Infrastructure Faults
          • Application Faults
          • Custom Faults
        • Requests and Reports
      • troubleshooting-guide
        • Deployment Stage
        • Boot/Initialization Stage
        • Endpoint Addition Stage
        • Fault Injection Stage
  • Web
    • Inspecteur de code web
    • Liste des APIs publique ( en cours )
    • Apprendre le SEO naturel
    • Tips pour fusionner des communautés Discord
    • Qu’est-ce que le rp ?
    • Google Admin Toolbox HAR Analyzer
  • Couche haute
    • HUGO
      • 🇬🇧 Quick Start
      • Mettre en place son premier site sous Hugo
    • 🇬🇧 Deno Introduction with Practical Examples
    • React-native
    • 🇬🇧 Angular HttpClient v9/8
    • 🇬🇧 Compiler un front Angular variabilisé comme un chef
    • 🇬🇧 Applying Angular Runtime Configurations in Dockerized Environments | Hacker Noon
  • Gaming
    • Installer Shadow Linux et Chrome book
    • Comment choisir son alimentation d'ordi ?
  • Linux
    • Git
    • Bash
    • Bases de linux
    • Installation LEMP sur Ubuntu 20.04 Digitalocean
    • 🇬🇧 Wireguard VPN on Ubuntu 20.04
    • Comment installer et utiliser Docker sur Ubuntu 20.04 | DigitalOcean
    • Sécuriser son serveur Linux sous Ubuntu
    • Introduction à tmux (terminal multiplexer)
  • Bot
    • Héberger son bot Discord
  • setup
    • Rainmeter personnalise ton Win10
  • Virtualisation
    • 🇬🇧 Dockerize Angular 9 App With Nginx
    • 🇬🇧 How To Remove Docker Images, Containers, Networks & Volumes
  • Architecture
    • L'Art De Créer Des Diagrammes d'Architecture
  • Marketing
    • Tips sur les réseaux sociaux 2021
  • Gestions IT (pro/perso)
    • Méthodes Agiles
    • Savoir utiliser la méthode GTD (Getting Things Done)
    • Méthode QQCOQP : analyse et résolution des problèmes
  • Nouveautés
    • 🇬🇧 Netflix-technologies
      • How Netflix Scales its API with GraphQL Federation (Part 1)
      • How Netflix Scales its API with GraphQL Federation (Part 2)
  • Autres
    • A classer
  • How to install Windows 10 root certificates [EASY STEPS]
  • 💕Nous soutenons
    • 💻Azales
    • Papi Uzumaki
    • 💻Beau de l'aire
    • Toshi
    • 🛡️ FCC (French Communuty Cybersecurity)
    • 🛡️Sharpforce
Propulsé par GitBook
Sur cette page
  • Introduction
  • Architecture d'un ordinateur et de linux
  • Terminal
  • Le système de fichier
  • La gestion des droits

Cet article vous a-t-il été utile ?

Exporter en PDF
  1. Linux

Bases de linux

Introduction

Architecture d'un ordinateur et de linux

A quoi sert un OS? L'OS sert d'intermédiaire entre les applications et le hardware, il gère les tâches de bases telles que l'attribution de la mémoire ou le stockage d'information dans le disque, la communication entre les réseaux.

Un OS est composé d'un Noyau (le kernel), le système de fichier, l'interpréteur de commandes (le shell / CLI), le GUI.

On verra le GUI avant le CLI, c'est plus fun comme ca.

Linux est réputé pour sa sécurité et ses patchs réguliers. Linux est séparé en plusieurs "distributions" ayant chacune des fonctionnalités différentes.

Terminal

user@hostname:chemin$

  • user : Votre username

  • hostname : Le nom du serveur

  • chemin : le chemin de votre dossier courant, simplifié

  • $ = simple utilisateur

  • # = root

Quelques commandes de base :

  • pwd = affiche le chemin absolu du répertoire courant

  • date = affiche la date et l'heure

  • uptime = affiche l'uptime, le nombre d'utilisateur connectés et la charge du serveur

  • ls = affiche le contenu du dossier courant (ou celui donné en arguments)

  • sudo = execute une commande en tant que superutilisateur

  • su = switch user, change de compte

  • cd = pour se déplacer dans un dossier

  • clear = nettoie le terminal

  • mkdir = crée un dossier

  • touch = crée un fichier vide

  • rm = supprime un fichier (argument -r pour un dossier)

  • cat = affiche le contenu d'un fichier

  • more et less = deux commandes permettant d'afficher et parcourir des fichiers.

  • find = permet de chercher dans l'arborescence de fichiers

  • apt install = a executer avec sudo permet d'installer des paquets (yum sur red hat et pacman sur Arch linux)

  • grep = filtre une sortie d'une commande

  • which (ou whereis) = affiche le chemin absolu d'un fichier

!! UTILISEZ man <commande> pour afficher le manuel de la commande ! Cela va lister tous les arguments de la commande et comment s'en servir ! Vous pouvez rechercher dans la page de manuel en tapant /<pattern> et naviguer entre les résultats avec les touches N(next) et P(previous)

Il est possible de manipuler les sorties des commandes et de les passer dans d'autres commandes et fichiers :

  • > = Envoie vers un fichier et remplace le contenu

  • >> = Envoie vers un fichier et rajoute a la fin

  • | = Envoie vers l'entrée d'une autre commande

ctrl+C a tout moment pour arreter l'execution d'une commande

Pensez a utiliser TAB pour autocompléter une commande

Le système de fichier

Tout est un fichier, même les répertoire, les lecteurs, les sockets réseau et même votre processeur !

Dans ls chaque fichier est indiqué par une lettre correspondant au type de fichier. Par exemple:

  • l pour un lien symbolique

  • b pour un bloc comme un lecteur de dvd ou une partition

  • d pour un répértoire etc...

A la racine il y a plusieurs dossiers :

  • /root : répertoire personnels de root

  • /bin : Une partie des binaires

  • /boot : programme d'amorçage de l'OS

  • /var : logs entre autres

  • /home : répertoire personnels des users

  • /lib : librairies

  • /etc : configurations des applications

  • /dev : fichiers contenant les périphériques

  • /tmp : fichiers temporaires

il y a des raccourcis pour naviguer le système de fichiers :

  • / = la racine

  • ~ = votre répertoire personnel

  • . = le répertoire courant

  • .. = le répertoire parent

La gestion des droits

Root est le super utilisateur, il a tous les droits. Il doit être utilisé le moins possible car les fichier qu'il crée ne peuvent être lus que par lui (par défaut) et tous les programmes qu'il lance héritent de ses droits.

O peut modifier les droits d'un fichier avec la commande chmod, on peut changer le propriétaire avec chown et le groupe avec chgrp.

Chaque fichier a des droits, ils sont séparés en 3 catégories:

  • Les droits du propriétaire du fichier

  • Les droits du groupe du propriétaire

  • Les droits de tous les autres

ils se présentent sous la forme d'un groupe de lettres :

  • R pour Read

  • W pour Write

  • X pour eXecuter

Toujours dans l'ordre <propriétaire><groupe><autres>.

Par exemple, un fichier ayant les droits <RWXR-XR--> permettra au propriétaire de lire, modifier et exécuter le fichier, a son groupe de le lire et l'exécuter et aux autres utilisateurs seulement de le lire.

S'il s'agit d'un dossier, read correspond a en lister le contenu, write corresponds a en ajouter du contenu, et execute corresponds a se déplacer dans le dossier.

Les droits peuvent aussi être notés en octal, c'est a dire en base 8 (des nombre de 0 a 7). On le calcule en additionnant les permissions :

  • Read vaut 4

  • Write vaut 2

  • eXecute vaut 1

Par exemple en calculant notre exemple précédent on obtient :

  • Le propriétaire peut lire, modifier et exécuter le fichier, donc 1 + 2 + 4 = 7

  • Le groupe peut lire et exécuter le fichier, donc 1 + 4 = 5

  • Les autres peuvent seulement lire, donc 4

Le fichier a donc les droits 754. On les attribue donc avec la commande chmod 754 <chemin du fichier>

il est possible d'ajouter(+), enlever(-) ou modifier(=) des droits plus simplement, pour l'user (u), le groupe(g) ou les autres(o) par exemple : chmod o+x <fichier> va ajouter les droits d'execution aux autres, chmod u+r <fichier> va ajouter les droits de lectures a l'utilisateur propriétaire du fichier.

PrécédentBashSuivantInstallation LEMP sur Ubuntu 20.04 Digitalocean

Dernière mise à jour il y a 4 ans

Cet article vous a-t-il été utile ?