[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Configuration de la variable d'environnement HOME



pardon le mail est parti trop vite

j'ai crée l'utilisateur TEST avec adduser dans la configuration initiale. Et ce dernier fonctionne parfaitement avec mon disque d'origine.

j'avais bien vu cette présente de /home/test dans /etc/passwd

ce qui me surprend c'est que le changement dans le fstab de ma partition home entraine ce problème.

Merci

François-Marie BILLARD

Le 31/08/2019 à 11:58, Étienne Mollier a écrit :
François-Marie Billard, au 2019-08-31 :
Je cherche à savoir ou configure la valeur de la variable
d'environnement HOME, suite à un problème du à un ajout du
second disque pour y mettre le /home dont je décris la procédure
ci-dessous :

  * J'ai créer un utilisateur de test , puis copié les données de
    son répertoire /home/test sur le nouveau disque. Avec les
    mêmes droits.
  * J'ai modifié dans le fichier fstab la ligne du /home avec
    l'UUID du nouveau disque

Au  reboot et je découvre que lors du logging en mode texte avec
mon utilisateur de test la variable HOME n'est pas configurée.
Un logging via l'interface graphique boucle instantanément sur
la fenêtre de logging.
Bonjour,

Quelle procédure avez vous utilisé pour créer "test" ?

Normalement, si la variable HOME ne fait pas partie de
l'environnement, alors le shell va chercher sa définition dans
le fichier /etc/passwd, voir passwd(5) pour plus de détails sur
le format du fichier.  Par exemple, pour mon utilisateur, j'ai :

	$ grep emollier /etc/passwd
	emollier:x:1000:1000:Etienne Mollier,,,:/home/emollier:/bin/bash
	^~~~USER   ^UID                         ^~~~~~~~~~HOME ^~~~SHELL

Cette entrée permet de remplir, outre HOME, quelques variables
supplémentaires, indiquées ci-dessus.

Si vous voulez vraiment creuser dans les détails, en tout cas
pour le shell Bash, le code source décrit exactement la
procédure suivie:

- la fonction get_current_user_info() définie dans shell.c
   s'occupe de récupérer les informations stockées dans une
   structure après lecture du fichier /etc/passwd ;

- la fonction set_home_var() de variables.c va s'occuper de
   remplir la variable d'environnement HOME, si elle n'est pas
   déjà

Bien sûr, si vous utilisez un  autre shell que Bash, alors la
procédure exactement suivie peut être un chouïa différente, mais
c'est l'idée.  :)

Amicalement,


Reply to: