Contenus | Capacités attendues | Commentaires |
---|---|---|
Systèmes d'exploitation |
Identifier les fonctions d'un système d'exploitation. Utiliser les commandes de base en ligne de commande. Gérer les droits et permissions d'accès aux fichiers. |
Les différences entre systèmes d'exploitation libres et propriétaires sont évoquées. Les élèves utilisent un système d'exploitation libre. Il ne s'agit pas d'une étude théorique des systèmes d'exploitation. |
Nous avons vu qu'un ordinateur a été conçu pour pouvoir lui faire exécuter des algorithmes sous forme de programmes.
Le système d'exploitation est un programme tout à fait singulier, il est chargé en mémoire vive dès le démarrage de l'ordinateur et y reste jusqu'à son extinction. Il a la charge de coordonner l'ensemble des tâches qui sont exécutées par l'ordinateur. Il est situé entre le matériel et les applications.
Les deux familles de systèmes d'exploitation les plus populaires sont Unix (dont macOS, GNU/Linux, iOS et Android) et Windows.
Voici une courte vidéo de l'institut Mines-Telecom présentant l'histoire des systèmes d'exploitation.
Le système d'exploitation a les responsabilités suivantes:
Comme nous avons au lycée un système d'exploitation Windows et que le programme officiel demande de travailler sous Linux, nous allons faire le TP de ce chapitre directement dans le navigateur grâce à l'émulateur de système mis au point par Fabrice Bellard accessible à l'adresse :
https://bellard.org/jslinux/vm.html?url=alpine-x86.cfg&mem=192
Une fois le terminal lancé:
adduser ben
, et lui donner un mdp.root
(administrateur du
système): passwd root
.su ben
.cd /home/ben
wget https://framagit.org/lyceum/flask-csv/-/archive/master/flask-csv-master.zip
unzip flask-csv-master.zip
pwd
pwd
renvoie le dossier courant.
Par défaut quand on ouvre un terminal on se trouve dans son dossier $HOME:
/home/username
pour l'utilisateur username/root/
si vous êtes root, l'utilisateur administrateur du système.ls
et cd
ls
liste les fichier et répertoires du dossier courant.ls /chemin/vers/dossier
: liste les fichiers et répertoires du
dossier donné en argument/On peut également se déplacer dans le système de fichiers avec cd
pour
change directory.
cd /root
::: {.plus titre=" chemins absolus et relatifs"} Les chemins d'accès peuvent être specifiées de deux façons:
/
et précise le chemin complet à
partir de la racine du système de fichier. P.ex: cd
/usr/share/applications./
) on part
du répertoire courant:
ls -l
L'option -l
pour long précise dans sa sortie:
permission type utilisateur propriétaire groupe propriétaire taille date nom
localhost:~$ ls -l /home/ben/flask-csv-master
total 28
-rw-r--r-- 1 ben ben 1064 Mar 29 11:10 LICENSE
-rw-r--r-- 1 ben ben 1199 Mar 29 11:10 README.md
-rw-r--r-- 1 ben ben 89 Mar 29 11:10 data.csv
-rw-r--r-- 1 ben ben 888 Mar 29 11:10 flask-csv.py
drwxrwxrwx 2 ben ben 64 Mar 29 11:10 pages
-rwxr-xr-x 1 ben ben 108 Mar 29 11:10 run-server.bat
-rwxr-xr-x 1 ben ben 132 Mar 29 11:10 run-server.sh
Les droits sont sous la forme drwxrwxrwx.
d
indique qu'il s'agit d'un dossierr
: droit de lecturew
: droit d'écriturex
: droit d'exécutionIl y a trois types de droits dans l'ordre:
-rw-r--r--
: fichier avec droit de lecture et d'écriture pour
l'utilisateur propriétaire, mais uniquement des droits de lecture
pour les membres du groupe propriétaire et les autres utilisateurs.drwxr-xr-x
: dossier avec droit de lecture, écriture et exécution
pour l'utilisateur propriétaire, mais uniquement des droits de
lecture et d'exécution pour les membres du groupe propriétaire et
les autres utilisateurs.chmod
Un utilisateur a le droit de faire un chmod
sur un fichier :
root
;[Article Wikipedia sur
chmod
]{.cite-source}
Les options passées à la commande chmod sont indiquées comme ceci :
chmod options modes fichiers
Pour un fichier : chmod [u g o a] [+ - =] [r w x] nom_du_fichier
Pour le contenu d'un répertoire (de façon récursive) :
chmod -R [u g o a] [+ - =] [r w x] nom_du_répertoire
Les lettres u g o a
designe les types de propriétaires concernés:
Les lettres + - =
désignent les changements d'état: + et - pour
ajouter ou retirer un type de droit aux droits courants, et l'opérateur
= pour les écraser.
Les lettres r w x
désignent les permissions: read, write, execute.
Dans le cas précédent si l'on souhaite que tous les utilisateurs du
groupe docker
puissent lire et écrire dans le fichier
brouillon.ipynb
, on lance la commande chmod g+w
sur le fichier:
chmod g+w Documents/git/2heoinfo/flask-csv/brouillon.ipynb
On peut alors vérifier le changement de droits avec ls -l
ben@coolerarch:~$ ls -l Documents/git/2heoinfo/flask-csv/
total 28
-rw-rw-r-- 1 ben docker 2690 4 juil. 10:39 brouillon.ipynb
...
::: {.plus titre=" Ecriture octale"} Pour modifier toutes les permission
d'une seule commande, on utilise la notation octale. [
]{.center} Les
commandes sont alors condensées pour préciser tous les droits: -
chmod 755 mon_dossier
donne au propriétaire tous les droits, aux
membres du groupe et aux autres les droits de lecture et d'accès. C'est
un droit utilisé traditionnellement sur les répertoires. -
chmod 644 mon_fichier
donne au propriétaire les droits de modification
et lecture, aux membres du groupe et aux autres uniquement les droits de
lecture. C'est un droit utilisé traditionnellement sur les fichiers. :::
chown
L'utilisateur racine(root
) peut changer le propriétaire d'un fichier
ou d'un dossier(de l'anglais change the owner)
[Article Wikipedia sur
chmod
]{.cite-source}
La syntaxe générale de la commande est:
chown [-hHLPR] [utilisateur][:groupe] cible1 [cible2 ..]
john
propriétaire du fichier toto.txt
:
chown john /home/jane/toto.txt
chown -Rf utilisateur1 /home/dossier1
chown ben:prof /home/jane/toto.txt
Crédit image Golftheman, CC BY-SA 3.0, Lien