1 - Linux, notre système d’exploitation

1.1 - C’est quoi Linux (ou noyau Linux) ?

C’est un système basé sur le concept des systèmes d’exploitation UNIX se voulant multi-utilisateurs (étudiants universitaires) et multi-tâches (exécuter simultanément plusieurs travaux). On trouve des OS UNIX ou Linux à la base de nombreux aux systèmes ‘FreeBSD, OpenBSD, NetBSD, macOS,

1.2. Un OS (Operating System, système d’exploitation) « libre »

Linux est régie par une licence d’utilisation (GNU GPL) permettant son usage, sa modification et sa réutilisation de manière totalement gratuite. L’ensemble du code de Linux est donc accessible à tous mais ne peut être revendu, même modifié.

2. Historique

Linux a été développé par Linus Torvalds en 1991 afin de compléter le projet GNU (un projet créé en 1983 par Richard Stallman visant à développer un OS libre, dérivé de UNIX).

3. Les « distributions » Linux

De part sa licence libre, GNU/Linux peut être distribué librement. De ce fait de nombreux développeurs ont créés des projets adaptés à leurs besoins et ont distribués le résultat de ces projets sous forme de distributions Linux (Slackware, Debian, Redhat, Ubuntu...)

4. Ubuntu, « Je suis ce que je suis grâce à ce que nous sommes tous »

Derrière cette devise Bantou, la distribution Ubuntu, basée sur Debian, se veut être un exemple de partage et de travail collaboratif. Ubuntu, fondée en 2004 par Mark Shuttleworth, se veut être une distribution simple et facile à appréhender par ses utilisateurs. Pour la petite histoire, le premier « bug » constaté dans la distribution concernait le fait que les PC vendus en supermarché étaient tous livrés avec Windows, l’objectif principal de Ubuntu est donc de « corriger » ce bug.

5. Installer Ubuntu

5.1. Lire la documentation d’installation en français :

https://doc.ubuntu-fr.org/tutoriel/obtenir_cd_ubuntu

5.2. Se munir d’une clef USB de 4Go

5.3. Télécharger la dernière image disque (.iso) sur le site Ubuntu :

https://www.ubuntu.com/download/desktop

5.4. Créer une clef d’installation :

5.5. Démarrer son ordinateur avec la Clef USB :

https://doc.ubuntu-fr.org/tutoriel/amorcer_sur_cd_ubuntu

5.6. Suivre les consignes... Simple, rapide, efficace !

6. Terminal, mon nouveau meilleur ami.

Le terminal est l’interface en ligne de commande à la base de tous systèmes UNIX/Linux. C’est notre principal outil pour dialoguer avec le système, manipuler des données, installer et mettre à jour des applications, gérer les droits des utilisateurs et tellement d’autres choses...

6.1. Exercice : lancer le terminal sous Ubuntu.    

7. Principe d’un système multi-utilisateurs

7.1. Les utilisateurs

  • Le grand maître absolu de tout : root
  • Vous : Laurent, Pierre, Amandine, Lucienne
  • Les autres : monsieur_base_de_donnees, madame_sauvegarde, monsieur_le_serveur_web, etc...

7.2. Devenir un autre, si possible le maître du monde : su et sudo

$ su laurent
$ su root (DANGER, DANGER, DANGER) (Un grand pouvoir entraîne de grandes responsabilité (Ben Parker : l’oncle de Spiderman))

7.3.Executer une commande en tant que root

Pour pouvoir utiliser sudo, il faut appartenir au groupe "sudoers".

Ajouter un utilisateur dans le groupe sudo :

sudo usermod -aG sudo yvan

Tester si un utilisateur peut utiliser sudo :

sudo -l -U user_name

Exécuter une commande avec sudo

$ sudo ma_commande_executée_en_tant_que_root

8. Tout est fichier !

Sous Linux, tout est fichier : un document texte, une image, une application et plus étrange un dossier, une souris, un écran, une imprimante...

9. Un fichier, 3 types d’utilisateurs, 3 types de droits

https://www.leshirondellesdunet.com/chmod-et-chown

9.1. Les 3 types d’utilisateurs :

  • Un fichier appartient à un utilisateur, son propriétaire : user
  • Un fichier appartient à un groupe :  group
  • Le reste du monde : others

9.2. Comment changer le propriétaire : Grâce à la commande chown (Change Owner) :

Grâce à la commande chown (Change Owner) :

$ chown laurent mon_fichier.txt

9.3. Comment changer le groupe :

Grâce à la commande chgrp (Change Group) :

$ chgrp formation mon_fichier.txt

9.4. Les 3 types de droits sur les fichiers

  • a) Un droit de lecture : je peux lire le contenu de ce fichier (r pour read)
  • b) Un droit d’écriture : je peux modifier ce fichier (w pour write)
  • c) Un droit d’exécution : je peux exécuter (x pour eXecute)

9.5. Pour chaque fichier nous pouvons donc définir des droits très précis.

7 veut dire que l'on donne tous les droits à tous les utilisateurs (owner, group, others). 7 est la somme de 3 bits : 1 + 2 + 4

Tableau récapitulatif des droits via des chiffres :

Chiffre Droits
4 droit de lecture
2 droit d'écriture
1 droit d'exécution
0 aucun droit

Exemple avec 3 cas précis :

  • Droit de regard sur une image pour le propriétaire : 600
  • Droit de regard pour le groupe : 650
  • Droit de regard pour le reste du monde : 655

9.6. Comment changer les droits :

Grâce à la commande chmod (Change Mode) :

$ chmod +r mon_fichier.txt (donne la lecture au propriétaire, au groupe, aux autres)
$ chmod +w mon_fichier.txt (donne l’écriture au propriétaire, au groupe, aux autres)
$ chmod +x mon_fichier.txt (donne la possibilité d’exécuter au propriétaire, au groupe, aux autres)
$ chmod 755 mon_fichier.txt (Donne tous les droits (rwx) au propriétaire et un simple droit de lecture au groupe et aux autres.

10. Quelques commandes essentielles

Créer un répertoire 

mkdir dev

Créer une arboresence

mkdir -p dev/memo/react