Fermer
Kwashi EliE.

À propos de moi

Kwashi EliE.

Le Logiciel Libre entre Web, Design et Administration Système par un Africain, OpenSource Evangelist

Retrouvez-moi sur

[🐧Open Source Evangelist]

Préc. Suiv.

Comment attribuer à un utilisateur Linux son Home

Linux 25-02-2018
    PARTAGER SUR:
Cette astuce consiste en 2 mouvements à personnaliser pour un utilisateur spécifique créé sur une machine Linux son dossier personnel, "son Home" diront d'autres.

En effet, une machine Linux peut avoir 1001 utilisateurs. Les utilisateurs Linux peuvent être créés de plusieurs manière et plus facilement en ligne de commandes. D'après les fonctionnalités natives du système, on dispose de deux commandes pour créer un/des utilisateurs: $adduser et $useradd. Si vous êtes pressé de découvrir l'astuce avant la petite explication pour "nous les bleus", libre à vous de sauter vers la fin de ce billet.

Un peu de blabla sur la petite différence entre les deux commandes usuelles de création/ajout d'utilisateur Linux

D'après "Le Manuel": "adduser et addgroup ajoutent des utilisateurs ou des groupes au système en fonction des options fournies en ligne de commande et des informations contenues dans le fichier de configuration /etc/adduser.conf."
et "useradd - créer un nouvel utilisateur ou modifier les informations par défaut appliquées aux nouveaux utilisateurs. Quand elle est invoquée sans l'option -D, la commande useradd crée un nouveau compte utilisateur qui utilise les valeurs indiquées sur la ligne de commande et les valeurs par défaut du système. En fonction des options de la ligne de commande, la commande useradd fera la mise à jour des fichiers du système, elle pourra créer le répertoire personnel et copier les fichiers initiaux."

Bien!

Leur utilisation est par défaut très simple; il suffit d'être dans une session de terminal en tant que super utilisateur et exécuter la commande:

$adduser mika

ou

$useradd mika

En créant un nouvel utilisateur, un groupe lui est systématiquement créé. Le petit truc c'est que, lorsqu'on crée un utilisateur avec $adduser, celui-ci dispose également d'un répertoire par défaut attribué d'office à son shell. Certes, il n'est pas tout de suite habileté à exécuter des actions de super-utilisateur même quand il utilise sudo, mais quand même il dispose de certaines configuration basiques. Si par exemple cet utilisateur lance sa console, il est logué tout de suite à partir de ce répertoire à lui ; il suffit à chaque utilisateur d’exécuter une $pwd pour voir le chemin de son répertoire de base. L'arborescence d'un système Linux a prévu le dossier /home comme étant la piscine qui accueille les répertoires de chaque nouvel utilisateur. Donc, quand vous y jeter un coup d'oeil, vous verrez bien ceux de ceux qui ont été ajoutés avec adduser mais pas pour ceux qui ont été ajouté avec useradd. Une commande $pwd de Mlle Mika lui donnera en retour : /home/mika et un $ls lui affiche le contenu de cet emplacement. Par contre, quand un utilisateur est créé avec useradd sans aucune option additionnelles, il se retrouvera à la racine du système à sa connexion, voilà pourquoi il faut lui « attribuer son répertoire personnel manuellement » afin de lui rendre l’accès facile à ce qui lui est destiné.

Pourquoi donc se servir de $useradd s'il n'est pas aussi sympa?

Pour plusieurs raisons OUI. Nous retiendrons juste pour la seule raison qu’on a le choix d’éviter d’avoir trop de chose dans /home. Vous trouverez peut-être cela nul, mais pas vraiment. Sur Linux, on a souvent besoin d’avoir un utilisateur sans pour autant que ce soit un utilisateur qui viendrait utiliser votre machine comme vous ; il existe plusieurs utilisateurs sur le système qui sont créé automatiquement avec le déploiement de certains services (Ex : www-data, mysql, root, mail, proxy, noboby, games, daemon, pulse, nginx, etc.) Ces utilisateurs exécutent des actions combinées aux vôtres ce qui vous permets d’utiliser certains services aisément. Vous pouvez avoir besoin également d’avoir un utilisateur vous même qui fasse autre choses que des taches habituelles d’humains ; et donc, ce dernier n’a pas forcément besoin d’avoir comme répertoire personnel celui par défaut des utilisateurs classiques. Les personnes se frottant à certaines disciplines en développement informatique et sécurité système peuvent voir à peu près ce que cela implique.

Ok Ok. Et l’astuce c’est pour quand ?

On y est maintenant :

Vous avez besoin, pour cette manipulation, de disposer d’abord de :

  • Un accès Root ou Super-Utilisateur (sudo) avec votre compte actuel
  • Avoir créer le répertoire qui va être attribué à l’utilisateur en question : supposons "/etudiants/espace/mika" comme étant l’emplacement pour Mlle Mika
  • Avoir donner des droits de propriété de ce répertoire à l’utilisateur : la commande $sudo chown -R
  • Avoir créé un mot de passe pour l’utilisateur : la commande $sudo passwd

Avec votre éditeur en console préféré (Nano, dans notre cas), éditer le fichier responsable de cela :

$sudo nano passwd

Retrouvez ensuite la ligne destinée à l’utilisateur (habituellement la dernière ligne si vous venez juste de créer l’utilisateur) ; cette ligne ressemble à quelque chose comme :

mika:x:700:701 ::/home/mika. Vous devez modifier cette ligne de la façon suivante :

mika:x:700:701 ::/etudiants/espace/mika:/bin/bash

Vous sauvegarder et fermez le fichier et c’est fait : l’utilisateur peut désormais se retrouver dans son répertoire que vous lui avez spécifié. Vous pouvez essayer vous même à vous connecter à sa session dans la même console en faisant un $sudo login.

Essayez cela sur votre propre ordinateur afin de comprendre mieux.


    LIBRE DE PARTAGER SUR:

Qu'en pensez-vous ?👇 Réagissez...