Comment définir les fichiers par défaut des répertoires de base des nouveaux utilisateurs sur Linux ?

By | March 1, 2020

Lorsque nous créeons des utilisateurs sur Linux, des fichiers et dossiers par défaut sont créés selon les types de connexion des utilisateurs (mode console ou mode graphique).
Dans ce billet, nous verrons comment gérer ces éléments initialisés à la création des utilisateurs.

Sur Linux, useradd est l’outil utilisé pour la création des utilisateurs. Ci-dessous ses configurations par défaut pour la création des utilisateurs sur notre machine de test.

NB: Notez que le fichier /etc/default/useradd rend possible la personnalisation des valeurs ci-dessus .

La variable qui nous intéresse ici est SKEL qui représente le répertoire nommé skeleton, qui est sollicité à la création des utilisateurs. Ce répertoire contient en effet les fichiers qui seront copiés dans les répertoires de base des nouveaux utilisateurs.

Selon l’image ci-dessus, l’emplacement du répertoire skeleton sur ce système est /etc/skel.

Voyons le contenu du répertoire skeleton sur notre système de test.

De ce contenu, nous apprenons que les fichiers .bash_logout, .bashrc, examples.desktop, .profile seront tous copiés dans les répertoires de bases des utilisateurs nouvellement créés sur la machine.
Ajoutons à présent deux fichiers Employee Handbook.pdf et Miscellaneous à ce dossier.

Pour vérifier que nos modifications ont été prises en compte, réalisons quelques tests.

Connexion via le mode console

Après la création de l’utilisateur marty, et à la suite de son premier login via le mode console, nous nous apercevons que nos fichiers sont copiés dans son répertoire de base.

NB: Notez la présence des dossiers .gnupg et .cache qui sont des dossiers utilisés par des applications déjà installées sur le système nécessitant que le mode console pour démarrer. Ils n’apparaissent qu’après la toute première connexion de l’utilisateur.

Connexion via le mode graphique

Lorsqu’un utilisateur nouvellement créé se logue à travers un environnement de bureau, des dossiers sont également initialisés durant le login. A savoir: Desktop, Documents, Downloads, Music, Pictures, Public, Templates, Videos.

L’outil xdg-user-dirs peut vous aider à gérer ces dossiers qui sont créés à la toute première connexion via l’interface graphique du nouvel utilisateur.

Pour ce faire, il vous faudra tout simplement modifier le fichier de configuration /etc/xdg/user-dirs.defaults.

Dans l’image ci-dessous nous commentons les lignes contenant Documents, Pictures, Music, Videos ce qui empêchera la création de ces dossiers pour tout nouvel utilisateur qui se loguera via l’interface graphique. A la place de ces dossiers, nous ajoutons aussi trois autres: Internet, Files et Books.

Suite à la connexion de l’utilisateur marty via l’interface graphique, nous remarquons que nos dossiers ajoutés dans le fichier de configuration de xdg-user-dirs sont tous bien présents ainsi que nos fichiers ajoutés précédemment dans le dossier skeleton.



NB: Après la connexion de l’utilisateur marty via l’interface graphique, de nouveaux dossiers (.config.local), sans doute utilisés par des applications nécessitant le mode graphique, sont aussi créés. Le fichier .ICEAuthority n’est qu’un fichier utilisé par le système X Window et qui permet entre autres l’authentication des programmes et la communication entre les processus.

J’espère que ces astuces vous aideront un de ces jours.

A très bientôt pour de nouvelles découvertes sur Linux. 🙂

mdestroy

2 thoughts on “Comment définir les fichiers par défaut des répertoires de base des nouveaux utilisateurs sur Linux ?

  1. azertyb

    Merci beaucoup pour cette introduction au sujet. Avez-vous des liens ou des ouvrages pour approfondir ce sujet ? (pour envisager le déploiement d’un parc informatique)
    Merci.

    Reply
  2. InfoLibre

    J’ai paramétré un compte utilisateur en long et en large. Je voulais copier les fichiers de ce compte dans /etc/skel mais le souci, c’est qu’il y a pleins de fichiers de configuartion qui contiennent en dur le nom de l’utilisateur /home/ au lieu de ~/
    Donc ça ne marche pas. Il faudrait signaler à tous les développeurs de logiciels de faire attention à cela, un travail de titan.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *