web-dev-qa-db-fra.com

Comment monter un ancien répertoire / home après la réinstallation propre du système d'exploitation?

Avant de réinstaller Ubuntu 12.04 LTS, j'ai démonté le répertoire/home. Après une nouvelle réinstallation, j'ai recréé certains des utilisateurs et installé le paquet ubuntu-desktop, puis j'ai remonté l'ancien répertoire/home. Tous les documents ont été restaurés et je n’ai aucun problème tant que je me connecte à Shell. Cependant, lorsque j'essaie de me connecter à l'interface graphique, elle ne fait que recharger l'écran de connexion. Cela se produit depuis que j'ai inclus l'ancien répertoire/home dans /etc/fstab.

En essayant de suivre la solution ici , j'ai cherché les fichiers .Xauthority dans le répertoire /home de chaque utilisateur et j'ai remarqué quelque chose de bizarre, les utilisateurs semblaient avoir été mélangés. Par exemple, ls -lah | grep Xauthority dans /home/bob s'affichera comme suit:

-rw-------  1 emily emily   53 Nov 29 10:19 .Xauthority

etc. J'imagine que je n'ai pas recréé les utilisateurs dans le même ordre que dans l'ancien système, de sorte que les choses se sont gâtées lorsque j'ai monté l'ancien répertoire /home. Pourtant! Je dois pouvoir brancher les anciens fichiers de répertoire /home tels quels car ils sont plusieurs TB et je n'ai pas l'espace nécessaire pour les transférer librement ici et là, et je ne suis pas autorisé à le faire. supprimer quelque chose. Que dois-je faire pour résoudre ce problème?

Est-ce une bonne idée de remplacer tous les fichiers cachés de chaque ancien répertoire /home/user par les nouveaux?

[Information additionnelle]

Contenu de ls -l /home (après le montage de l'ancien /home); remarque: lost+found n'était PAS supposé être un utilisateur.

total 36
drwxr-xr-x 22 bob   bob    4096 Mar 11 12:23 alice
drwxr-xr-x 44 marc  marc   4096 Mar 11 12:21 emily
drwxr-xr-x 23 1004  1004   4096 Jul 29  2013 bob
drwxr-xr-x  4 1005  1005   4096 Jul 30  2013 ken
drwx------  2 root  root  16384 Mar 27  2012 lost+found
drwxr-xr-r 40 emily emily  4096 Mar 11 12:49 marc

Contenu de cat /etc/passwd (réservé aux utilisateurs énumérés ci-dessus):

root:x:0:0:root:/root:/bin/bash
marc:x:1000:1000:marc,,,:/home/marc:/bin/bash
emily:x:1001:1001:emily,,,:/home/emily:/bin/bash
bob:x:1002:1002:bob,,,:/home/bob:/bin/bash
ken:x:1003:1003:ken,,,:/home:ken:/bin/bash

Remarque: l'utilisateur alice n'a pas été recréé après la réinstallation du système d'exploitation, car le compte n'était plus nécessaire.

Sortie de lsblk:

NAME        MAJ:MIN RM  SIZE        RO  TYPE    MOUNTPOINT
sda     8:0     0   931.5G  0   disk
+sda1   8:1     0   285M        0   part    
+sda2   8:2     0   1K      0   part
+sda5   8:5     0   18.6G       0   part
+sda6   8:6     0   93.1G       0   part    /home
+sda7   8:7     0   93.1G       0   part
+sda8   8:8     0   698.4G          0   part    /home/marc/Data
+sda9   8:9     0   9.3G        0   part    [SWAP]
+sda10  8:10        0   18.6G       0   part    /   
sr0     11:0        1   1024M       0   rom
sdb     8:16        0   1.8T        0   disk
+sdb1   8:17        0   1.8T        0   part    /home/marc/Data2
sdc     8:32        0   1.8T        0   disk
+sdc1   8:33        0   200M        0   part    
+sdc2   8:34        0   465.8G          0   part    /home/marc/USB_Disk/Disk1
+sdc3   8:35        0   465.8G          0   part    /home/marc/USB_Disk/Disk2
+sdc4   8:36        0   465.8G          0   part    /home/emily/Data
+sdc5   8:37        0   465.6G          0   part    /var/www
sdf     8:80        0   3.7T        0   disk
+sdf1   8:81        0   1.8T        0   part    /home/ken
+sdf2   8:82        0   1.8T        0   part    /home/bob
sde     8:64        1   29.8G       0   disk
+sde1   8:65        1   29.8G       0   part    [SWAP]

Comme vous pouvez le constater, l'utilisateur marc voit ses documents brisés sur un certain nombre de disques et de partitions.

8
biohazard

ln -n vous montrera ce que le système de fichiers pense que l'UID et les GID devraient être pour les utilisateurs. Voici un exemple de mon système.

$ ls -ln /home/
total 12
drwxr-xr-x  5  111  120 4096 Mar 15 10:11 hts
drwxr-xr-x 11 1000 1000 4096 Mar 15 12:34 oli
drwxr-xr-x  4 1001 1001 4096 Mar 13 08:46 test

Dans ce système, oli a le bon UID de 1000, mais si je faisais quelque chose pour que ce soit 1001, je pourrais simplement utiliser usermod pour le modifier. Disons que je veux échanger les UID de oli et test. Il s’agit d’un jeu à trois sauts car deux utilisateurs ne peuvent pas partager un UID. Ils peuvent cependant partager un groupe.

Sudo usermod -u 1099 -g 1000 test
Sudo usermod -u 1001 -g 1001 oli
Sudo usermod -u 1000 test

ne note: Si votre utilisateur actuel est l’un des utilisateurs de Changearound, Sudo su avant de tout lancer et de tout exécuter en tant que root. Rappelez-vous simplement que la sécurité est désactivée. Vous ne voulez pas vous engager à moitié dans ce processus et avoir vos privilèges Sudo dérégler sur vous.

Vous devrez jouer ce genre de ballet jusqu'à ce que les noms d'utilisateur dans/home/soient alignés avec leurs UID (comme indiqué dans ls -ln /home). Alternativement, vous pouvez modifier tous les fichiers avec quelques appels find mais je pense personnellement que c'est une grosse perte de temps. Il est plus facile, plus rapide et potentiellement moins destructeur de résoudre ce problème de manière centralisée via le système utilisateur.

La prochaine fois, pensez à vérifier les UID à l’avance. L’argument --uid nnn sur adduser rendra le processus sans douleur.

3
Oli