LINUX : tâches administratives

Introduction

Mots-clés

compte, utilisateur, groupe, sécurité, authentification, autorisation, PAM, droits d’accès, journaux, log

Objectif

À l’issue de ce chapitre, vous serez en mesure d’assurer les tâches nécessaires à l’administration d’un système Linux :

  • création, modification et suppression de comptes utilisateurs et de groupes ;

  • authentification des utilisateurs et autorisations PAM ;

  • planification de tâches ponctuelles ou répétitives ;

  • contrôle et analyse des fichiers journaux ;

  • sauvegarde et restauration de données.

 

 

Énoncé 7.1 Administration des utilisateurs

Durée estimative : 50 minutes

1.

Se connecter en tant que root sur une console texte.

2.

Lister les comptes utilisateurs et les groupes existants sur le système.

3.

Quels sont l’UID et le GID du compte root ?

4.

Quelles sont les valeurs minimales des UID et GID utilisées par défaut lors de la création de nouveaux comptes utilisateurs ou groupes ? Faire en sorte que l’UID minimal soit 2000 et que le GID minimal soit 1500.

5.

Créer les groupes grp1grp2 et grp3. Le GID du groupe grp3 doit être 1523.

6.

Créer les comptes utilisateurs util1util2 et util3 ayant respectivement les groupes grp1grp2 et grp3 comme groupe principal. Le compte util2 doit aussi être membre des groupes grp1 et grp3. Le pseudonyme “tux1” de l’utilisateur util1 doit être renseigné dans la configuration.

7.

Noter les UID et GID des comptes utilisateurs et des groupes créés précédemment.

8.

Supprimer le groupe grp3. Cela est-il possible ? Pourquoi ?

9.

Supprimer le compte utilisateur util3 sans supprimer son répertoire personnel et supprimer le groupe grp3.

10.

À qui appartient maintenant le répertoire /home/util3 ? Pourquoi ?

11.

Comment retrouver et supprimer tous les fichiers orphelins du système qui appartenaient au compte utilisateur util3 ou au groupe grp3 ?

12.

Se connecter en tant que util1 sur une console virtuelle libre. Cela s’est-il bien passé ?

13.

Affecter un mot de passe aux comptes utilisateurs util1 et util2. À part l’administrateur, qui peut modifier le mot de passe d’un utilisateur ?

14.

Se connecter de nouveau en tant que util1 sur une console virtuelle libre avec le mot de passe affecté précédemment. Cela s’est-il bien passé ?

15.

Sans se déconnecter, changer d’identité en util2 sans modifier les variables d’environnement comme $MAIL.

16.

Recommencer l’étape précédente en chargeant cette fois l’environnement complet du compte utilisateur util2.

17.

Se déconnecter de toutes les consoles en util1 et util2 puis bloquer le compte util1 sans perdre le mot de passe. Vérifier ensuite qu’il n’est plus possible de se connecter en tant que util1.

18.

Déverrouiller le compte util1. Vérifier ensuite qu’il est de nouveau possible de se connecter en tant que util1.

19.

En tant que util1, affecter successivement les mots de passe “azertyuiop”, “a5Tp” et “monutil1” à ce compte. Est-ce possible ? Pourquoi ?

20.

En tant que root, fixer le nombre d’essais de saisie d’un nouveau mot de passe à 2 dans la configuration PAM. Tester en réitérant la question 19.

Indices pour l’énoncé 7.1

2.

Afficher le contenu des fichiers /etc/passwd et /etc/group.

4.

Le fichier de configuration des commandes de gestion des comptes utilisateurs et des groupes est /etc/login.defs.

5.

Les commandes nécessaires ici sont groupadd et groupmod.

6.

Les commandes nécessaires ici sont useradd et usermod. Il est possible de renseigner des informations complémentaires pour un utilisateur dans le champ GECOS du fichier de configuration /etc/passwd.

7.

Consulter pour cela les fichiers /etc/passwd et /etc/group.

8.

Utiliser la commande groupdel.

9.

Utiliser les commandes userdel et groupdel.

10.

Vérifier s’il y a une relation entre les UID et GID indiqués pour le répertoire et ceux relevés en question 7.

11.

Utiliser la commande find avec les critères -user et -group.

12.

Il est possible de passer d’une console virtuelle à une autre en appuyant simultanément sur les touches [Ctrl] et [Alt] suivies d’une des six premières touches de fonction ([F1] à [F6]).

13.

Utiliser la commande passwd.

14.

Il faut utiliser la même casse de caractères (majuscules/minuscules) que lors de l’affectation des mots de passe.

15.

Utiliser la commande su.

16.

Utiliser la commande su avec l’option  ou -l ou –login.

17.

Utiliser la commande passwd.

19.

La politique de validation des mots de passe mise en œuvre sur un système Linux est configurée via PAM et le fichier /etc/login.defs.

20.

Le module PAM concerné est pam_cracklib appelé dans le fichier /etc/pam.d/system-auth ; une documentation est présente dans le répertoire /usr/share/doc/pam-<version>.

 

 

 

Énoncé 7.2 Cron

Durée estimative : 30 minutes

1.

Se connecter en tant que root sur une console texte.

2.

Vérifier que le démon crond s’exécute actuellement, sinon le lancer.

3.

Consulter les fichiers /etc/cron.allow et /etc/cron.deny.

4.

Se connecter en tant que neo sur une autre console texte.

5.

Afficher le contenu de la crontab de neo.

6.

Programmer l’exécution de la commande /bin/pwd > /tmp/pwd.out toutes les minutes dans la crontab de neo.

7.

Au bout d’une minute, afficher le contenu du fichier /tmp/pwd.out.

8.

Retourner sur la console texte sous root et arrêter le démon crond.

9.

Supprimer le fichier /tmp/pwd.out.

10.

Ajouter le nom de l’utilisateur neo au fichier /etc/cron.deny.

11.

Redémarrer le démon crond.

12.

Retourner sur la console texte sous neo et éditer de nouveau la crontab de cet utilisateur. Est-ce possible ?

13.

Au bout d’une minute, afficher le contenu du fichier /tmp/pwd.out. Qu’en déduire ?

14.

De nouveau sur la console texte en tant que root, supprimer le contenu de la crontab de neo et redémarrer le démon crond.

15.

Programmer deux fois par jour dans une crontab système, à 7h45 et 13h45, la suppression dans /tmp des fichiers dont la date de modification est supérieure à un jour.

16.

Faire en sorte que les modifications apportées à la crontab système soient prises en compte.

17.

Explorer l’interface Webmin concernant la planification de tâches Cron.

Indices pour l’énoncé 7.2

2.

Utiliser systemctl.

5.

Utiliser la commande crontab avec l’option adéquate.

6.

Utiliser la commande crontab avec l’option adéquate.

16.

Redémarrer le démon crond.

 

 

 

Énoncé 7.5 Les traces (logs) du système

Durée estimative : 15 minutes

1.

Aller dans le répertoire /var/log.

2.

Lister, avec un affichage détaillé, les fichiers du répertoire du plus ancien au plus récent.

3.

Consulter les fichiers messages et secure.

4.

Visualiser uniquement les dernières lignes du fichier /var/log/secure avec un affichage mis à jour en permanence.

5.

Se connecter en tant que util2 sur une autre console texte ou en ssh et retourner voir l’affichage de la commande précédente en cours.

6.

Afficher toutes les lignes concernant les ouvertures de session de neo dans le fichier /var/log/secure.

7.

Compter le nombre d’ouvertures de session réalisées par neo aujourd’hui.

Indices pour l’énoncé 7.5

3.

Ces fichiers pouvant être volumineux, utiliser la commande less ou more pour les visualiser. 

4.

Utiliser la commande tail avec l’option adéquate.

6.

Utiliser la commande grep.

7.

Utiliser wc pour compter.

 

 

 

 

Énoncé 7.6 tar

Durée estimative : 20 minutes

1.

Créer l’arborescence de répertoires et de fichiers vides suivante :

images/TP07-01.png

2.

Effectuer un affichage détaillé des fichiers de l’arborescence /test.

3.

Sauvegarder, avec la commande tar, l’arborescence /test sur la partition /dev/sdb1 créée dans les exercices 4.1.

4.

Vérifier l’archive précédente en consultant sa TOC (Table Of Contents).

5.

Créer un fichier vide nommé /tmp/dateref.

6.

Entrer les chaînes de caractères “bonjour le monde” dans le fichier /test/rep1/fic2 et “coucou” dans le fichier /test/repA/ficA.

7.

Dresser la liste de tous les fichiers de l’arborescence /test modifiés après la date de création du fichier /tmp/dateref et inscrire le résultat dans le fichier /tmp/tar.liste.

8.

Effectuer une sauvegarde incrémentale dans le fichier /tmp/sauvinc.tar avec la commande tar à partir de la liste de fichiers contenue dans /tmp/tar.liste.

9.

Supprimer tout le contenu du répertoire /test.

10.

Restaurer l’archive faite sur la partition créée en début d’exercice.

11.

Les fichiers régénérés ont-ils conservé leur date d’origine ?

12.

Le fichier /test/repA/ficA contient-il toujours “coucou” ?

13.

Restaurer la sauvegarde incrémentale à partir de la disquette ou de l’archive /tmp/sauvinc.tar.

14.

Lister de nouveau de façon détaillée le contenu de l’arborescence /test.

Indices pour l’énoncé 7.6

1.

Utiliser les commandes mkdir et touch.

3.

Utiliser l’option -c de la commande tar.

4.

Utiliser l’option -t de la commande tar.

5.

Utiliser la commande touch.

7.

Utiliser la commande find avec le critère de recherche -newer.

 

 

 

Énoncé 7.8 L’horloge système

Durée estimative : 15 minutes

1.

Vérifier que l’horloge du système est à l’heure.

2.

Vérifier que l’horloge matérielle est à l’heure.

3.

Synchroniser l’horloge matérielle avec l’heure système.

4.

Planifier une mise à jour quotidienne de l’heure système sur un serveur NTP.

Indices pour l’énoncé 7.8

1.

Utiliser la commande date.

2.

Utiliser la commande hwclock.

3.

Utiliser la commande hwclock.

4.

Utiliser la commande ntpdate.