Exercice1 :
Déterminer les commandes permettant de réaliser les actions suivantes:
1- Quel est le système installé ?
2- Lister le contenu du répertoire courant de manière détaillé?
3- Lister le contenu du fichier passwd ?
4- Combien de lignes comportent le fichier /etc/fstab ?
5- Donner la commande qui vérifier si root est-il connecté ou non ?
6- Afficher la liste des fichiers de /etc dont le nom commence par c ou r ?
7- Afficher les 5 dernières lignes du fichier /etc/passwd ?
[toggle Title= »Corrigée »]
1- uname
uname (signifie: unix name ) est une commande Unix qui affiche les informations systèmes sur la machine sur laquelle elle est exécutée.
Exemples
uname -a affiche toutes les informations disponibles sur la version du système d’exploitation et le type de la machine.
Linux proxysvr 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux (nom du serveur, version et date du noyau, type de plateforme, type de système)
2- ls -l
3- ls /etc/passwd
4- less /etc/fstab | wc -l
Le fichier fstab (file systems table) est la table des différents systèmes de fichiers sur un ordinateur sous Unix/Linux : il contient une liste des disques utilisés au démarrage et des partitions de ces disques. Pour chaque partition, il indique comment elle sera utilisée et intégrée à l’arborescence du système de fichiers global (c’est-à-dire le point de montage). Il se trouve généralement à /etc/fstab.
5- who ou w
6- ls /etc | grep « ^[cr] »
7- tail -n5 /etc/passwd
[/toggle]
Exercice2 :
1- Créez deux groupes group1 et group2 ?
2- Créez quatre utilisateurs user1, user2, user3 et user4 ?
3- Rendez les utilisateurs dans les groupes :
– Les premier et deuxième utilisateurs sont membres du premier groupe.
– Les troisième et quatrième utilisateurs sont membres du second groupe.
– Le deuxième utilisateur est aussi membre du second groupe.
– Le quatrième utilisateur est aussi membre du premier groupe.
4- Vérifier les membres du groupe group2 ?
5- Créer deux répertoires rep1, rep2 et rep3 en seul ligne ?
6- Créer dans rep1 un fichier nommé fich11 et dans rep2 un répertoire nommé rep21 ?
7- Déplacez-vous au répertoire rep21
8- Copiez le rep1 et son contenu dans le répertoire courant?
9- Copiez l’arbre rep2 dans le répertoire rp3 ?
10- Visualisez le contenu de rep3 de façon détaillée ?
11- Supprimez l’arbre rep3 ?
[toggle Title= »Corrigée »]
1-
[root@localhost ali]# groupadd group1
[root@localhost ali]# groupadd group2
2-
[root@localhost ali]# useradd user1
[root@localhost ali]# useradd user2
[root@localhost ali]# useradd user3
[root@localhost ali]# useradd user4
3-
[root@localhost ali]# usermod -g group1 user1
[root@localhost ali]# usermod -g group1 user2
[root@localhost ali]# usermod -g group2 user3
[root@localhost ali]# usermod -g group2 user4
[root@localhost ali]# usermod -aG group2 user1
[root@localhost ali]# usermod -aG group1 user4
4-
less /etc/passwd
less /etc/group
ou
su user1
[user1@localhost ~]$id
…
5-
[ali@localhost ~]$ mkdir rep1 rep2 rep3
6-
[ali@localhost ~]$ cd rep1
[ali@localhost rep1]$ touch fich11
[ali@localhost rep1]$ cd ..
[ali@localhost ~]$ cd rep2
[ali@localhost rep2]$ mkdir rep121
7-
[ali@localhost rep2]$ cd rep21
[ali@localhost rep21]$
8-
[ali@localhost rep21]$ cp -r ../../rep1 .
9-
[ali@localhost rep21]$ cp -r ../../rep2 ../../rep3
10-
[ali@localhost ~]$ ls -l rep3
11-
[ali@localhost ~]$ rm -r rep3
[/toggle]
Exercice3 :
Reporter dans un fichier texte les commandes pour le travail suivant :
1. se connecter en administrateur linux
2. afficher les fichiers relatifs aux configurations utilisateurs
3. afficher le fichier /etc/passwd par trois commandes différentes
4. on veut afficher l’identité de l’utilisateur user
5. Etablir l’utilisateur Tux1 avec conditions suivantes:
a. son home directory /home/toto1 (créer la d’abord)
b. son id 508
c. son GId 601 pour le groupe rtoto (créer le groupe d’abord)
d. son mot de passe est 0/toto1
6. Changer son mot de passe par 0/guest1
7. Afficher la ligne relatif à toto1 dans le fichier /etc/shadow
[toggle Title= »Corrigée »]
1- [ali@localhost ~]$ su
[root@localhost ali]$
2- [root@localhost ali]$ ls /etc
3- [root@localhost ali]$ cat /etc/passwd
[root@localhost ali]$ more /etc/passwd
[root@localhost ali]$ less /etc/passwd
La différence entre ces commandes:
cat: affiche le contenu d’un fichier d’un coup dans la console (commande très rapide) ce qui fait que l’on n’a pas le temps de le lire s’il est très gros.
less: affiche le contenu page par page.
more: affiche le contenu page par page, la différence entre more et less c’est que more est vieux et possède peu de fonctionnalités, tandis que less est beaucoup plus puissant et rapide.
4- [root@localhost ali]# su user
[user@localhost ali]$ id
5- [root@localhost ali]$useradd Tux1
a- [root@localhost ali]$ usermod -d /home/toto1 Tux1
b- [root@localhost ali]$ usermod -u 508 Tux1
c- [root@localhost ali]$ groupadd -g 601 rtoto
[root@localhost ali]$ usermod -g rtoto Tux1
d- [root@localhost ali]$ usermod -p 0/toto1 Tux1
6- [root@localhost ali]$ usermod -p 0/guest1 Tux1
7- [root@localhost ali]$ less /etc/shadow | grep toto1
[/toggle]
Exercice4
1. Dans votre répertoire courant, créez en une commande les fichiers suivants:
Ita1, ita1, Ita2, ita2, ita, Ita, itaadarissa, istaadarissa
2. Créer le répertoire « dossierv1 » dans votre répertoire courant, et déplacez les fichiers précédemment créés dans le répertoire « dossierv1″.
3. Lister tous les fichiers se terminant par 5
4. Lister tous les fichiers commençant par ita4
5. Créer le répertoire » d_copie1 » dans votre répertoire courant
6. Copier les fichiers dont l’avant dernier caractère est un 4 ou 1 dans le répertoire / d_copie1 en une seule commande.
[toggle Title= »Corrigée »]
1- [ali@localhost ~]$ touch Ita1 ita1 Ita2 ita2 ita Ita itaadarissa istaadarissa
2-[ali@localhost ~]$ mkdir dossierv1
[ali@localhost ~]$cp Ita1 ita1 Ita2 ita2 ita Ita itaadarissa istaadarissa dossierv1
3-[ali@localhost dossierv1]$ ls *5
4-[ali@localhost dossierv1]$ ls ita4*
5-[ali@localhost ~]$ mkdir d_copie1
6-[ali@localhost ~]$ find dossierv1 -name « *[14]? » -exec mv {} d_copier/ \;
[/toggle]
Exercice5
Quelles sont les commandes (selon deux représentations décimale et caractère) pour lui donner les droits suivant (on suppose qu’après commande on remet le répertoire à 755) sur chacun de ces dossiers
Droit du propriétaire | Droit du groupe | Droit du les autres | |||||||
lecture | écriture | accès | lecture | écriture | accès | lecture | Ecriture | accès | |
Dossier1 | oui | oui | oui | oui | non | oui | non | non | oui |
Dossier2 | oui | non | oui | non | oui | non | non | non | oui |
[toggle Title= »Corrigée »]
1- Dossier1
Méthode décimale:
chmod 751 Dossier1
Méthode symbolique:
chmod u=rwx, g=rx, o=x Dossier1
2- Dossier2
Méthode décimale:
chmod 521 Dossier2
Méthode symbolique:
chmod u=rx, g=w, o=x Dossier2
[/toggle]
Exercice6
On veut établir un fichier fichier1_droit dans le répertoire dossier_droit,
Par défaut ce fichier est à 644 (rw-r–r–).
En partant du répertoire courant, pour chaque commande de l’exercice précédent, essayez d’accèder au répertoire dossier2_droit (commande cd), de faire un ls dans dossier_droit et de modifier le fichier2_droit avec un éditeur quelconque (vi par exemple).
1. Etablir le répertoire « dossier1_droit » avec les droits normal
2. Accéder à ce dossier
3. Etablir le fichier « fichier1_droit » avec les droits normal
4. afficher le contenu de ce dossier
5. modifier les droits du fichier pour qu’il soit modifiable par tout le monde
6. tester d’ouvrir fichier par vi et ajouter vos nom et prénom à la fin
7. afficher les droit du fichier et celle du dossier
[toggle Title= »Corrigée »]
1- [ali@localhost ~]$ mkdir dossier1_droit
2- [ali@localhost ~]$ cd dossier1_droit
3- [ali@localhost dossier1_droit]$ touvh fichier1_droit
4- [ali@localhost dossier1_droit]$ ls
5- [root@localhost dossier1_droit]# chmod a+w fichier1_droit
ou
[root@localhost dossier1_droit]# chmod 666 fichier1_droit
ou
[root@localhost dossier1_droit]# chmod g=rw, o=rw fichier1_droit
ou
[root@localhost dossier1_droit]# chmod g+w, o+w fichier1_droit
6- [ali@localhost dossier1_droit]$ vi fichier1_droit
7- [ali@localhost dossier1_droit]$ ls -l fichier1_droit
[ali@localhost ~]$ ls -l dossier1_droit
[/toggle]
Exercice7
1. Créer l’arborescence ci-dessus dans le dossier /home
2. Créer 2 utilisateurs TRI et TSGE avec mot de passe P@ssw0rd
3. Copier tous les fichiers du répertoire /dev qui ont l’extension .C vers le répertoire facture (en utilisant les chemins relatifs pour la source et pour la destination.
4. Renommer le répertoire Module3 par Examen (En utilisant un chemin relatif pour la source et un chemin absolu pour la destination)
5. Créer le répertoire Absence à l’intérieur du répertoire Jawad
6. Créer un lien symbolique pour le répertoire TP1 dans /home et nommer le TP1_ls
7. Déplacer la branche Module2dans le répertoire Examen en utilisant des chemins absolus)
8. Donner les droits drwx- – – r – x pour le dossier jawad
9. On veut que tous les nouveaux répertoires crées auront par défaut le masque 750 (rwxr-x – – -)
10. Créer un point de montage du lecteur cdrom dans le dossier /media
11. archiver l’arborescence /home/karim sous le nom karim.tar
12. même question mais en utilisant la compression (le nom sera karim.tar.gz)
13. rechercher tous les fichiers de l’utilisateur rachid dans l’arborescence / dont le nom commence par f
14. arrêter l’application xclock sachant que son numéro de processus = 2966
15. afficher les 13 dernières lignes du fichier /etc/passwd
16. supprimer le mot de passe de l’utilisateur TRI
17. changer le mot de passe du root
18. supprimer l’utilisateur TSGE
19. afficher les paquetages installés sur la machine
20. Forcer la désinstallation des paquetages openoffice
[toggle Title= »Corrigée »]
1- [ali@localhost ~]$ mkdir -p /home/Jawad /home/Karim/Module3 /home/Karim/Module2 /home/Karim/Module1/Cours /home/Karim/Module1/Cours/TP/TP1 /home/Karim/Module1/Cours/TP/TP2 /home/Karim/Module1/Cours/TP/TP3 /home/Karim/Module1/Cours/TP/TP4
ou
[ali@localhost ~]$ mkdir -p /home/Jawad /home/Karim/Module3 /home/Karim/Module2 /home/Karim/Module1/Cours /home/Karim/Module1/Cours/TP/TP{1,2,3,4}
2- [root@localhost ~]# useradd -p P@ssw0rd TRI
root@localhost ~]# useradd -p P@ssw0rd TSGE
3- On suppose que le dossier facture se trouve dans le dossier jawad et que le dossier courant est /home
[root@localhost home]# cp ../dev/*.c /jawad/facture/
4- [root@localhost home]# mv Karim/Module3 /home/Karim/Examen
5- [root@localhost home]# cd Jawad
[root@localhost home]#mkdir Absence
6- [root@localhost home]# ln -s Karim/Module1/TP/TP1 TP1_ls
7- [root@localhost home]# mv /home/Karim/Module2 /home/Karim/Examen
8- [root@localhost home]# chmod 705 jawad
9- [root@localhost home]# umask 027
10- [root@localhost home]# mount /dev/cdrom /media
11- [root@localhost home]# tar -cvf karim.tar /home/Karim
12- [root@localhost home]# tar -zcvf karim.tar.gz /home/Karim
13- [root@localhost home]# find / -name f* -user rachid
14- [root@localhost home]# kill 2966
15- [root@localhost home]# tail -n13 /etc/passwd
16- [root@localhost home]# passwd TRI
n’écrit rien dans le mot de passe et taper Entrer
17- [root@localhost home]# passwd
18- [root@localhost home]# userdel TSGE
19- [root@localhost home]# dpkg –get-selections
20- [root@localhost home]# dpkg -r -i openoffice
ou
[root@localhost home]# removepkg openoffice
ou
[root@localhost home]# rpm -qa openofficeorg\* | xargs rpm –erase –nodeps
[/toggle]
Exercice8
Créer un répertoire essai-grep dans votre home directory. Dans ce répertoire créer les fichiers suivants:
tomate poire pomme cerise Fraise fraise courgette POMME3 afraise
Editez les fichiers (sortie de la commande ls redirigée vers grep) avec les critères sur leur nom suivant:
1. Critère 1 Le nom doit être Fraise ou fraise
2. Critère 2 se est en fin de nom
3. Critère 3 ai est présent dans le nom
4. Critère 4 Nom contenant un chiffre numérique
5. Critère 5 Nom contenant la chaîne mm ou MM
[toggle Title= »Corrigée »]
[ali@localhost ~]$ mkdir essai-grep
[ali@localhost ~]$ cd essai-grep
[ali@localhost essai-grep]$ touch tomate poire pomme cerise Fraise fraise courgette POMME3 afraise
1- [ali@localhost ~]$ ls essai-grep | grep « ^[fF]aise$ »
2- [ali@localhost ~]$ ls essai-grep | grep « se$ »
3- [ali@localhost ~]$ ls essai-grep | grep « ai »
4- [ali@localhost ~]$ ls essai-grep | grep « [0-9] »
5- [ali@localhost ~]$ ls essai-grep | grep « [mM]\{2\} »
[/toggle]