Exercice 1 · Bac Numérique et Sciences Informatiques Asie 2022 (jour 2)
Thème : Architectures matérielles et systèmes d'exploitation · Tiré du sujet Jour 2 (2022)
Énoncé
EXERCICE 1 (4 points)
Thèmes abordés: systèmes d'exploitation linux
L'entreprise capNSI gère les contrats de ses clients en créant pour chacun d'eux un sous-dossier dans le dossier Contrats sur leur ordinateur central. Le système d'exploitation de cet ordinateur est une distribution linux. Quelques commandes de bases pour ce système d'exploitation sont rappelées en annexe 1 en fin d'exercice.
Dans la console représentée sur la figure ci-dessous, on peut visualiser les répertoires (ou dossiers) à la racine de l'ordinateur central avec l'instruction ls:
1.
a.
Donner le nom de l'utilisateur et le nom de l'ordinateur correspondant à la capture d'écran précédente.
b.
Écrire les instructions permettant d'afficher la liste des dossiers clients du répertoire Contrats en partant de la situation ci-dessous:
Après une campagne de démarchage, l'entreprise a gagné un nouveau client, Monsieur Alan Turing. Elle souhaite lui créer un sous-dossier nommé TURING_Alan dans le dossier Contrats. De plus, elle souhaite attribuer tous les droits à l'utilisateur et au groupe et seulement la permission en lecture pour tous les autres utilisateurs. La commande chmod permet de le faire.
2.
a.
Écrire les instructions permettant de créer le sous-dossier TURING_Alan à partir du répertoire racine.
b.
Écrire l'instruction permettant d'attribuer les bons droits au sous-dossier TURING_Alan.
En Python, le module os permet d'interagir avec le système d'exploitation. Il permet de gérer l'arborescence des fichiers, des dossiers, de fournir des informations sur le système d'exploitation. Par exemple, le code ci-dessous, exécuté dans la console, permet de créer le sous-dossier TURING_Alan précédent:
>>> import os
>>> os.mkdir("Contrats/TURING_Alan")
>>> os.chmod("Contrats/TURING_Alan", 774)
L'entreprise dispose d'un tableau de nouveaux clients:
tab_clients = [
('LOVELACE', 'Ada'),
('BOOLE', 'George'),
('VONNEUMANN', 'John'),
('SHANNON', 'Claude'),
('KNUTH', 'Donald')
]
Elle souhaite automatiser le formatage des tableaux des nouveaux clients. Elle souhaite également automatiser la création et l'attribution des droits des dossiers portant les noms des nouveaux clients.
3.
Écrire une fonction formatage(tab) qui prend en paramètre un tableau de tuplets (Nom, Prenom) des nouveaux clients et renvoie un tableau de chaines de caractères. Par exemple, formatage(tab_clients) renvoie ['LOVELACE_Ada', 'BOOLE_George', 'VONNEUMANN_John', 'SHANNON_Claude', 'KNUTH_Donald'].
4.
Écrire une fonction creation_dossiers(tab) qui prend en paramètre un tableau de chaînes de caractères et qui crée et modifie les droits des dossiers au nom de ces chaines de caractères avec les mêmes droits que le sous-dossier TURING_Alan.
Annexe 1: Extrait des commandes de base linux
ls: permet d'afficher le contenu d'un répertoire
cd: se déplacer dans l'arborescence (ex: cd repertoire1)
cp: créer une copie d'un fichier (ex: cp fichier1.py fichier2.py)
mv: déplacer ou renommer un fichier ou un répertoire (ex: mv fichier.txt doss)
rm: effacer un fichier ou un répertoire (ex: rm mon_fichier.mp3)
mkdir: créer un répertoire (ex: mkdir nouveau)
cat: visualiser le contenu d'un fichier
chmod: modifier les permissions d'un fichier ou d'un dossier. Pour un fichier, le format général de l'instruction est:
chmod droits_user droits_group droits_other nom_fichier
Où droits_user, droits_group et droits_other indiquent respectivement les droits de l'utilisateur, du groupe et des autres et peuvent être: + ajouter, - supprimer, r read, w write, x execute (ex: chmod rwx +r -x script.sh, ou en notation octale comme chmod 774 nom_dossier).

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. a. Nom de l'utilisateur
Réponse : gestion
1. a. Nom de l'ordinateur
Réponse : capNSI-ordinateur_central
1. b. Ecrire les instructions permettant d'afficher la liste des dossiers clients du répertoire Contrats en partant de la situation ci-dessous
Réponse : ls Contrats / cd Contrats && ls
2. a. Ecrire les instructions permettant de créer le sous-dossier TURING_Alan à partir du répertoire racine
Réponse : mkdir Contrats/TURING_Alan / cd Contrats ; mkdir TURING_Alan
Les réponses des 3 questions restantes et l’explication pas à pas sont réservées aux membres Premium. Premium
Résous-le ici : correction automatique, indices et corrigé détaillé.
‹ Exercice 3 - Système d'exploitation · Asie 2022 (jour 1)