Université Arabe des Sciences
Département informatique Décembre 2022
2GI
Devoir surveillé sur le système LINUX
Durée : 1H30
Documents: non autorisés
CORRECTION
Partie n°1 (8 points):
Donner la(es) bonne(s) réponse(s) à chacune des questions suivantes :
• La structure de toute ligne du fichier /etc/group est comme
suit :
Nom_group:x:GID:membres du groupe.
Ce fichier dispose actuellement 20 lignes, on voudrait connaitre
les membres de l’avant dernier groupe créé par l’administrateur
ainsi que le GID de ce groupe, on exécute:
• head -20 /etc/group | tail -1 | cut -d : -f3,4
• tail -2 /etc/group | head -1 |cut -d : -f3,4
• head -19 /etc/group | cut -d: -f3,4 |tail -1
Réponse: 2 et 3
• Votre groupe principal est 2GIG2 de GID=1002 et votre groupe
secondaire est 2GIG1 (de GID=1001). Vous venez de créer un
fichier ordinaire de nom TOTO et vous voulez que le groupe de
ce dernier soit 2GIG2 ; vous lancez alors:
• chgrp 1002 TOTO
• chgrp 2GIG1 2GIG2 TOTO
• aucune commande
Réponse: 3
• Laquelle des lignes suivantes permet-elle de visualiser le
nombre des utilisateurs en ligne suivi de la liste nominative
de ces utilisateurs:
• users | wc –w ; cat users
• users | tee res| wc –w >>res ; cat res
• users | tee res| wc –w ; cat res
Réponse: 3
• Laquelle des lignes de commandes suivantes permet-elle
de connaitre le nombre de directories de votre compte qui
ont chacune une seule sous-directory :
• find ~ -type d -links +2 -print | wc –l
• cd ; find . -type d -links +2 -print | wc –l
• cd ; find . -type d -links 3 -print | wc –l
Réponse: 3
• Laquelle des commandes suivantes permet-elle de retirer
du fichier proc la protection d’exécution pour tout type
d’usager sans changer le reste des protections :
• chmod ugo-x proc
• chmod 666 proc
• chmod ugo=rw proc
Réponse: 1 et 2
• En créant le lien symbolique (ou raccourcis au sens
Windows)de nom ractrav sur la directory trav, le système :
• met à jour l’inode de trav et ne fait rien sur l’inode
de ractrav
• met à jour l’inode de trav et crée un inode pour
ractrav
• ne fait rien sur l’inode de trav et crée un inode
pour ractrav
Réponse: 3
Partie n°2 (4 points):
Répondre par vrai ou faux à chacune des énoncés suivants. Dans le cas
d’une réponse à faux, corriger cet énoncé.
• Les deux commandes suivantes fournissent le même résultat:
grep ‘’^user1:’’ /etc/passwd | cut -d: -f1,3
cat /etc/passwd | cut -d : -f1,3 |grep ‘’^user1:’’
Vrai
• trav est une sous-directory sous votre directory de connexion ;
la ligne de commandes suivante permet d’ajouter un lien
symbolique sur trav de nom trav2 :
cd ; ln trav trav2
Faux : ln (sans option) n’est permise pour les directories et la
création de lien symbolique avec ln –s ; il faut lancer alors : ln –
s trav trav2
• Pour connaitre le nom du ère
groupe principal d’un utilisateur
donné, on effectue une 1 recherche sur /etc/passwd et une
2ème recherche sur /etc/group.
On rappelle la structure d’une ligne de ces deux fichiers :
Pour /etc/passwd :
Nomuser:x :UID :GID :Nom_complet :Dir_connexion :Shell_connexion
Pour /etc/group :
Nom_group :x : GID :membres du groupe.
Vrai
• Un utilisateur sous Linux doit appartenir à un groupe principal
et doit appartenir également à au moins un groupe secondaire.
Faux
Un utilisateur sous Linux doit appartenir à un groupe principal
et peut appartenir à 0 ou plusieurs groupes secondaires
Partie n°3 (8 points):
Vous êtes connectés au système sous le compte user1,
répondre aux questions suivantes :
• Le masque courant est 013, quelles seront les
protections accordées par défaut lors de création du
fichier ordinaire de nom exemples et de la directory de
nom trav.
Quelles doivent être les protections attribuées par le
système pour exemples et proc ?
Le masque est comme suit :
0 1 3
Interprétation :
C7 : 7 6 4
B2 : 111 110 100
Pour trav : r w x rw- r - -
Pour exemples : r w - rw- r - -
Créer par la suite le fichier exemples et la directory trav
tout en sachant que le fichier exemples est un script
shell(fichier textuel de commandes) créé par une saisie
au clavier. Ce fichier contient les lignes de commandes
effectuant séquentiellement ce qui suit:
- Effacer l’écran,
- Rechercher la liste de tous les fichiers ordinaires des
utilisateurs. Cette liste est à rediriger dans le fichier de
nom res placé sous la directory /tmp alors que les erreurs
de cette recherche seront redirigées vers la poubelle du
système,
Cette recherche est à afficher en Back Ground.
- Afficher la liste des processus associés à votre
session utilisateur,
- Effectuer l’attente de la fin de la commande de
recherche ci-haut mentionnée et lancer par la suite
l’affichage du fichier res y est généré,
- Enfin sortir du script avec un message de fin et un
code de retour avec succès.
Pour la création des 2 fichiers :
$ mkdir trav
$ cat > exemples
clear
find /home –type f >/tmp/res 2>/dev/null &
echo « Liste des processus associés à ma session : »
ps
wait $ !
cat /tmp/ res
echo « Fin du script »
exit 0
^d Fin de la saisie
$
Après cette création, comment peut-on vérifier les
protections respectives de trav et de exemples ?
Pour trav : $ ls –ld trav | cut –c2-10
Pour exemples : $ ls –l exemple | cut –c2-10
• Combien de processus sont lancés dans la ligne de
commande suivante ?
ls | tee res |wc –w > >res
3 processus sont créés(ls, tee et wc)
Indiquer, pour chacun de ces processus, son fichier
standard d’entrée (stdin) et son fichier standard de sortie
(stdout) (réponse sous forme d’une matrice dont la ligne a
la structure suivante :
Processus Stdin Stdout
ls Directory Pipe 1
courante
tee res Pipe 1 Pipe 2
res
wc Pipe 2 res
• Ajoutez au fichier exemples créé dans la question a/
la(es) commandes(s) permettant de lister, page par page,
les noms des directories de votre compte qui n’ont pas
des sous directories ayant les permissions :
rwxr–xr--
Y-a-t-il une condition à vérifier sur le fichier exemples
Pour que cette mise à jour puisse avoir lieu?
Pour ajouter quelques choses à un fichier, utiliser la
redirection >> :
$ cat >> exemples
cd
find . –type d -links 2 –perm 754
^d
$
Le fichier exemples doit avoir la protection w
NB : Dans cette correction le prompt utilisateur est $
Bon Travail