LinuxLabs1 : Tâches de base

Pour manipuler un système GNU/Linux, on doit apprendre une série de tâches de bases. Six exercices sont proposés dans ce LinuxLabs. Les tutoriels libres ne manquent pas.

Lectures préalables.

Objectifs.

  • Gérer les fichiers et répertoires
  • Manipuler les utilitaires
  • Gérer les droits, utilisateurs et groupes
  • Gérer les processus
  • Gérer les logs
  • Créer un script planifié (en complément).

Exercice 1 : Gérer les fichiers et répertoires

1. Se rendre dans le dossier /home/francois.

francois@ubuntu1:/home$ cd /home/francois
francois@ubuntu1:~$ pwd
/home/francois

2. Visualiser son contenu avec détail.

francois@ubuntu1:~$ ls -l
 total 32
 -rw-rw-r-- 1 francois francois 12799 avr 30 23:19 typescript
 -rw-rw-r-- 1 francois francois 12799 avr 30 23:36 typescript1

3. Aller dans le dossier supérieur et visualiser son contenu.

francois@ubuntu1:~$ cd ..
francois@ubuntu1:/home$ ls
 francois

4. Visualiser le contenu du répertoire courant de manière détaillée.

francois@ubuntu1:/home$ ls -lartkh
 total 12K
 drwxr-xr-x 22 root     root     4,0K avr 30 12:27 ..
 drwxr-xr-x  3 root     root     4,0K avr 30 12:51 .
 drwxr-xr-x  4 francois francois 4,0K mai  1 06:31 francois

5. Créer un dossier « temp » dans son dossier personnel.

francois@ubuntu1:~$ cd
francois@ubuntu1:~$ mkdir temp
francois@ubuntu1:~$ ls -l
 total 36
 drwxrwxr-x 2 francois francois  4096 mai  1 07:03 temp
 -rw-rw-r-- 1 francois francois     0 mai  1 07:02 typescript
francois@ubuntu1:~$ ls -la
 total 68
 drwxr-xr-x 5 francois francois  4096 mai  1 07:03 .
 drwxr-xr-x 3 root     root      4096 mai  1 06:58 ..
 -rw------- 1 francois francois   682 mai  1 07:02 .bash_history
 -rw-r--r-- 1 francois francois   220 avr 30 12:51 .bash_logout
 -rw-r--r-- 1 francois francois  3486 avr 30 12:51 .bashrc
 drwx------ 2 francois francois  4096 avr 30 12:59 .cache
 drwxrwxr-x 2 francois francois  4096 mai  1 00:55 .landscape
 -rw-r--r-- 1 francois francois   675 avr 30 12:51 .profile
 drwxrwxr-x 2 francois francois  4096 mai  1 07:03 temp
 -rw-rw-r-- 1 francois francois     0 mai  1 07:02 typescript

6. Y copier les fichiers cachés .profile et .bashrc

francois@ubuntu1:~$ cp .profile .bashrc temp/
francois@ubuntu1:~$ ls -la temp
 total 16
 drwxrwxr-x 2 francois francois 4096 mai  1 07:05 .
 drwxr-xr-x 5 francois francois 4096 mai  1 07:03 ..
 -rw-r--r-- 1 francois francois 3486 mai  1 07:05 .bashrc
 -rw-r--r-- 1 francois francois  675 mai  1 07:05 .profile

7. Y copier le fichier typescript.

francois@ubuntu1:~$ cp typescript /home/francois/temp/
francois@ubuntu1:~$ ls temp
 typescript

8. Y copier le fichier typescript en le nommant zozo.txt.

francois@ubuntu1:~$ cp typescript temp/zozo.txt
francois@ubuntu1:~$ ls -la temp
 total 16
 drwxrwxr-x 2 francois francois 4096 mai  1 07:06 .
 drwxr-xr-x 5 francois francois 4096 mai  1 07:03 ..
 -rw-r--r-- 1 francois francois 3486 mai  1 07:05 .bashrc
 -rw-r--r-- 1 francois francois  675 mai  1 07:05 .profile
 -rw-rw-r-- 1 francois francois    0 mai  1 07:05 typescript
 -rw-rw-r-- 1 francois francois    0 mai  1 07:06 zozo.txt

9. Déplacer le fichier typescript dans temp en le renommant copie_fichier.

francois@ubuntu1:~$ mv /home/francois/typescript temp/copie_fichier
francois@ubuntu1:~$ ls
 temp
francois@ubuntu1:~$ ls temp
 copie_fichier  typescript  zozo.txt

10. Recopier temp/typescript dans le dossier personnel et vérifier.

francois@ubuntu1:~$ cp temp/typescript typescript
francois@ubuntu1:~$ ls -l
total 20
drwxrwxr-x 2 francois francois  4096 mai  1 07:03 temp
-rw-rw-r-- 1 francois francois 12799 avr 30 23:36 typescript

11. Effacer le dossier temp.

francois@ubuntu1:~$ rm temp
 rm: impossible de supprimer «temp»: est un dossier
francois@ubuntu1:~$ rm -rf temp
francois@ubuntu1:~$ ls -l
total 16
-rw-rw-r-- 1 francois francois 12799 avr 30 23:36 typescript

Exercice 2. Manipuler les utilitaires.

1. Affiche les 10 dernières lignes du fichier /etc/passwd.

$ tail /etc/paswd

2. Affiche lignes du fichier /etc/passwd qui contiennent les lettres « /bin/sh ».

$ grep /bin/sh /etc/passwd

3. Affiche lignes du fichier /etc/passwd qui commencent par « li ».

$ grep '^li' /etc/passwd

4. Affiche triées les lignes du fichier /etc/passwd qui commencent par « li ».

$ grep '^li' /etc/passwd | sort

5. Affiche, triées, page par page, les lignes du fichier /etc/passwd qui contiennent les lettres « /bin/sh ».

$ grep /bin/sh /etc/passwd | sort | more

6. Affiche la liste des processus page par page.

$ ps aux | more

7. Affiche les lignes des processus contenant les lettres « sshd ».

$ ps aux | grep sshd

8. Redirections : copier la sortie d’une commande dans un fichier.

$ df -H > test.txt
$ more test.txt
$ date > test.txt
$ more test.txt
$ df -H >> test.txt

9. Outil de localisation : mlocate.

mlocate typescript
mlocate -h | more

Exercice 3. Gérer les droits, les utilisateurs et les groupes.

1. S’attribuer les droits root.

$ sudo su

2. Ajouter un groupe « bons ».

# groupadd bons

3. Créer le dossier d’acceuil « tintin »

# mkdir /home/tintin

4. Ajouter l’utilisateur « tintin » dans le groupe « bons » ayant pour dossier d’accueil « /home/tintin ».

# useradd -d /home/tintin -g bon -s /bin/sh tintin

5. Vérifier la création de l’utilisateur et du groupe.

# tail -1 /etc/group
 bons:x:1001:
# tail -1 /etc/passwd
 tintin:x:1001:1001::/home/tintin:/bin/sh

6. Attribuer un mot de passe à l’utilisateur « tintin ».

# passwd tintin
 Entrez le nouveau mot de passe UNIX :
 Retapez le nouveau mot de passe UNIX :
 passwd: password updated successfully

7. Copier le contenu du répertoire courant dans « /home/tintin ».

# cp * /home/tintin/
# ls -l /home/tintin

8. Désigner les propriétaires à tout le contenu du répertoire « /home/tintin ».

# chown -R tintin:bons /home/tintin
# ls -l /home
# ls -l /home/tintin/

9. Ajouter un utilisateur ‘milou’ dans le groupe ‘bons’

# useradd -g bon milou
# tail -1 /etc/passwd
 milou:x:1002:1001::/home/milou:/bin/sh

10. Lui attribuer « /home/tintin » comme répertoire d’accueil.

# usermod -d /home/tintin milou

11. Définir son mot de passe.

# passwd milou
 Entrez le nouveau mot de passe UNIX :
 Retapez le nouveau mot de passe UNIX :
 passwd: password updated successfully

12. Prendre ses droits

# su milou
$ cd
 $ pwd
 /home/tintin
 $ exit

13. Ajouter un groupe « mauvais ».

# groupadd mauvais

14. Ajouter un utilisateur avec le script adduser.

# mlocate adduser | grep bin
 /usr/sbin/adduser
# adduser alan
 Ajout de l'utilisateur « alan » ...
 Ajout du nouveau groupe « alan » (1003) ...
 Ajout du nouvel utilisateur « alan » (1003) avec le groupe « alan » ...
 Création du répertoire personnel « /home/alan »...
 Copie des fichiers depuis « /etc/skel »...
 Entrez le nouveau mot de passe UNIX :
 Retapez le nouveau mot de passe UNIX :
 passwd: password updated successfully
 Changing the user information for alan
 Enter the new value, or press ENTER for the default
 Full Name []:
 Room Number []:
 Work Phone []:
 Home Phone []:
 Other []:
 Cette information est-elle correcte ? [O/n] o

15. Ajouter l’utilisateur « alan » dans le groupe mauvais.

# usermod -G mauvais alan

16. Vérifier son appartenance.

# tail -1 /etc/passwd
 alan:x:1003:1003:,,,:/home/alan:/bin/bash
# tail -1 /etc/group
 alan:x:1003:
# id alan
 uid=1003(alan) gid=1003(alan) groupes=1003(alan),1002(mauvais)

17. L’utilisateur « tintin » crée un fichier « pinces »

# su tintin
 $ cd
 $ touch pinces
 $ ls -l
-rw-r--r-- 1 tintin bon 0 mai 1 10:10 pinces
$ exit

18. L’utilisateur milou tente de le modifier. Quels sont ses droits sur le fichier.

su milou
 $ cd
 $ echo "test" > pinces
 sh: 5: cannot create pinces: Permission denied
 $ exit

19. Donner les droits d’écriture au groupe auquel appartient l’utilisateur « milou ».

# chmod 664 /home/pinces

20. Vérifier.

# su milou
 $ echo "test" > pinces
 $ cat pinces
 test
 $ exit

21. Tentative d’écriture par un utilisateur appartenant à un autre groupe.

# su alan
 alan@ubuntu1:/home/tintin$ pwd
 /home/tintin
 $ echo "mauvaise action" >> pinces
 bash: pinces: Permission non accordée
 $ exit

Exercice 4. Gérer les processus

1. Trouver le processus sshd. Quel est son pid ?

pstree | more
ps aux | more
top
ps aux | grep sshd

2. Or console SSH, tuer le processus correspondant et vérifier.

kill <numéro PID>
ps aux | grep sshd

3. Démarrer le service sshd.

/etc/init.d/sshd start

3. Redémarrer le service sshd.

/etc/init.d/sshd restart

4. Stopper le service sshd.

/etc/init.d/sshd stop

Exercice 5. Gérer les logs

1. Consulter tous les fichiers du répertoire /var/log. Utilisez cat, more, tail, grep.

Exercices complémentaires.

Pour aller plus loin.

 

 

Ce contenu a été publié dans Laboratoires, Linux, avec comme mot(s)-clef(s) , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire