Aller au contenu principal

Informatique · Première · 5 min de lecture

Système d'exploitation, commandes et permissions

Fonctions d'un système d'exploitation : lancer et gérer les programmes, gérer la mémoire, les fichiers, les périphériques et les utilisateurs ; systèmes libres et propriétaires ; commandes de base en ligne de commande (se déplacer dans l'arborescence, lister, créer, copier, déplacer, supprimer des fichiers) ; droits et permissions d'accès aux fichiers (lecture, écriture, exécution, pour le propriétaire, le groupe et les autres).

Chapitre du programme : Numérique et sciences informatiques (spécialité)

Bloc 1 sur 7 · Comprendre

Comprendre : le chef d'orchestre de la machine

Le système d'exploitation est le logiciel qui fait le lien entre le matériel et les autres programmes. Il :

  • lance et gère les programmes qui s'exécutent en même temps ;
  • gère la mémoire attribuée à chacun ;
  • gère les fichiers, rangés dans une arborescence de dossiers ;
  • gère les périphériques (clavier, écran, disque, réseau) ;
  • gère les utilisateurs et leurs droits.

Certains systèmes sont libres (leur code source peut être lu, modifié et redistribué, comme Linux), d'autres propriétaires (comme Windows).

La ligne de commande permet de piloter le système en tapant des commandes. Session réelle, dans un dossier vide :

mkdir nsi
cd nsi
touch notes.txt
cp notes.txt copie.txt
mkdir archives
mv copie.txt archives
ls
ls archives

Affichage des deux dernières commandes :

archives
notes.txt
copie.txt

Bloc 2 sur 7 · Approfondir

Approfondir : chemins et droits d'accès

Chemins. Un chemin absolu part de la racine / (par exemple /home/eleve/nsi/notes.txt) ; un chemin relatif part du répertoire courant (archives/copie.txt depuis le dossier nsi). La commande pwd affiche le répertoire courant, cd .. remonte au dossier parent.

Droits. Chaque fichier a trois droits possibles : r (lire), w (écrire, c'est-à-dire modifier), x (exécuter). Ils sont donnés à trois catégories d'utilisateurs, dans cet ordre : le propriétaire, le groupe, les autres. La commande ls -l les affiche en neuf lettres, après un premier caractère qui indique le type (« - » pour un fichier ordinaire) ; un tiret signifie que le droit est refusé.

Écriture octale pour chmod. Dans chaque groupe de trois lettres, r vaut 4, w vaut 2, x vaut 1, un tiret 0 ; on additionne. rwxr-x--- donne 4 + 2 + 1 = 7, 4 + 0 + 1 = 5, 0 : 750.

Le même calcul en Python : le dictionnaire poids donne la valeur de chaque lettre, la boucle les additionne, et p[0:3] désigne les caractères d'indices 0 à 2 de p (puis 3 à 5, puis 6 à 8).

def chiffre(groupe):
    poids = {"r": 4, "w": 2, "x": 1, "-": 0}
    total = 0
    for c in groupe:
        total = total + poids[c]
    return total

p = "rwxr-x---"
print(chiffre(p[0:3]), chiffre(p[3:6]), chiffre(p[6:9]))
7 5 0

Vérification sur un vrai fichier : après chmod 750 notes.txt, puis chmod 644, puis chmod 640, la commande ls -l notes.txt affiche successivement des lignes qui commencent par (on n'a gardé que les dix premiers caractères ; la suite de la ligne donne le nombre de liens, le propriétaire, le groupe, la taille, la date et le nom du fichier) :

-rwxr-x---
-rw-r--r--
-rw-r-----

Bloc 3 sur 7 · Exemple

Exemple guidé : de chmod 640 aux droits

Énoncé. On exécute chmod 640 sur un fichier. Parmi le propriétaire, le groupe et les autres, combien de catégories ont le droit de lire ce fichier ?

Méthode : décomposer chaque chiffre en 4 + 2 + 1.

  1. 6 (propriétaire) = 4 + 2 : lecture et écriture, rw-.
  2. 4 (groupe) = 4 : lecture seule, r--.
  3. 0 (autres) : aucun droit, ---.
  4. Le droit de lecture (valeur 4) figure dans le premier et le deuxième chiffre : 2 catégories.

Les permissions sont rw-r----- : c'est bien ce qu'affiche ls -l ci-dessus après chmod 640.

Bloc 4 sur 7 · Visualiser

Voir : commandes de base et lecture des droits

Tableau : Commande, Effet
CommandeEffet
pwdaffiche le répertoire courant
cd dossierse déplace dans un dossier (cd .. : dossier parent)
lsliste le contenu du dossier (ls -l : avec les droits)
mkdir dossiercrée un dossier
touch fichiercrée un fichier vide
cp source destinationcopie
mv source destinationdéplace ou renomme
rm fichiersupprime
chmod 750 fichierfixe les droits
Tableau : Catégorie, Propriétaire, Groupe, Autres
CatégoriePropriétaireGroupeAutres
Lettres de rwxr-x---rwxr-x---
Calcul4 + 2 + 14 + 0 + 10
Chiffre octal750

Continuez sur votre lancée

Vous avez découvert l’essentiel et un exemple. Retrouvez la suite du cours et les points à retenir, puis passez à l’entraînement guidé dans votre compte.

  • Les formules et les repères à retenir
  • Les erreurs fréquentes expliquées
  • Un exercice avec des aides et sa correction

L’accès gratuit comprend les cours et exercices de votre niveau choisi.

Sources

  • BO spécial n°1 du 22 janvier 2019 — programme de spécialité numérique et sciences informatiques de première générale, annexe (https://cache.media.education.gouv.fr/file/SP1-MEN-22-1-2019/26/8/spe633_annexe_1063268.pdf) — rubrique « Architectures matérielles et systèmes d'exploitation », systèmes d'exploitation
  • A. S. Tanenbaum, H. Bos, Systèmes d'exploitation, 4e édition, Pearson — chapitre 1 (rôle d'un système d'exploitation) et chapitre 10 (UNIX, Linux : commandes, protection des fichiers)
  • Documentation officielle de Python 3, The Python Language Reference et The Python Standard Library (https://docs.python.org/3/) — The Python Tutorial, « Dictionaries » ; chaînes et tranches (« Strings »)

Vous pensez avoir trouvé une erreur dans cette leçon ? Signalez-la par e-mail.

Explorer les autres cours

Accès rapide