Como montar um diretório antigo / home após a reinstalação limpa do SO?

8

Antes de reinstalar o Ubuntu 12.04 LTS, desmontei o diretório / home. Após uma reinstalação limpa, recriei alguns dos usuários, instalei o pacote ubuntu-desktop e montei novamente o diretório antigo / home. Todos os documentos foram restaurados e não tenho nenhum problema, desde que efetue login com o shell. No entanto, quando tento fazer login na GUI, ele apenas carrega novamente a tela de login. Isso acontece desde que incluí o diretório antigo / home no /etc/fstab.

Tentando seguir a solução aqui , procurei os arquivos .Xauthority no /homediretório de todos os usuários e notei algo estranho, os usuários parecem estar confusos. Por exemplo, ls -lah | grep Xauthorityem /home/bobseria exibido como:

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

e assim por diante. Meu palpite é que não recriei os usuários na mesma ordem que no sistema antigo, de modo que as coisas ficaram estranhas quando montei o /homediretório antigo . Contudo! Eu preciso ser capaz de conectar os /homearquivos de diretório antigos , pois são vários TB e não tenho espaço para transferi-los aqui e ali livremente, nem tenho permissão para excluir nada. O que devo fazer para corrigir isso?

É uma boa idéia substituir todos os arquivos ocultos em cada /home/userdiretório antigo pelos novos?

[Informação adicional]

Conteúdo de ls -l /home(após a montagem antiga /home); nota: lost+foundNÃO era para ser um usuário.

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

Conteúdo de cat /etc/passwd(restrito aos usuários listados acima):

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

Nota: o usuário alicenão foi recriado após a reinstalação do SO, porque a conta não era mais necessária.

Saída 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]

Como você pode ver, o usuário marctem Documentos quebrados em vários discos e partições diferentes.

risco biológico
fonte
Possíveis causas da .Xauthoritypropriedade do arquivo de usuários sendo misturadas. Você poderia, por favor, tentar fazer backup desse arquivo (faça isso para um usuário primeiro) olhando para esta postagem e reinicializando no sistema, depois faça login com esse usuário em particular, onde o sistema criará um novo .Xauthorityarquivo. Não exclua ou altere a propriedade, basta movê-lo primeiro e dar uma olhada. :)
AzkerM
Obrigado. Recebo a mensagem 'xauth: timeout no arquivo de autoridade de bloqueio /home/user/.Xauthority'; depois, muitas coisas são exibidas em um flash que não tive tempo de ler e, em seguida, obtive uma tela preta. Tentei pressionar ctrl+ alt+ dele depois Enter, mas nada acontece.
Biohazard
Posso pedir uma saída para ls -l /home/&, se possível cat /etc/passwd, apenas permitindo que eu veja a linha de usuários para ver se os diretórios pessoais estão definidos corretamente. Nomes de usuário geralmente começa a partir de UID:GID1000, se não me engano
AzkerM
Adicionei as informações solicitadas à minha postagem original. Obrigado pelo seu interesse :) Tudo parece tão confuso. Não sei qual é a lost+foundpasta antiga /home, mas certamente não era um usuário. Mas agora está listado como root.
Biohazard
Não se preocupe. De acordo com o erro que você especificou, acho melhor atribuir permissões recursivamente à pasta inicial de cada usuário, pois a configuração parece boa para mim. Antes de fazer isso, também posso pedir uma saída de sudo blkid& cat /etc/fstabtambém. :)
AzkerM

Respostas:

3

ln -nmostrará qual é o sistema de arquivos que os UID e GIDs dos usuários devem ser. Aqui está um exemplo do meu sistema.

$ 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

Neste sistema, olitem o UID certo de 1000, mas se eu fizesse algo para que fosse 1001, eu poderia simplesmente usá usermod-lo. Digamos que eu queira trocar olie testos UIDs por aí. Este é um jogo de três saltos, pois dois usuários não podem compartilhar um UID. Eles podem compartilhar um grupo embora.

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

Uma observação : se o usuário atual for um dos usuários na área de mudança, sudo suantes de iniciar e executar tudo como root. Lembre-se de que a segurança está desligada. Você não quer passar pela metade desse processo e ter seus privilégios de sudo com erros.

Você precisará jogar esse tipo de balé até que os nomes de usuário em / home / alinhem com seus UIDs (como mostrado em ls -ln /home). Como alternativa, você pode alterar todos os arquivos com algumas findchamadas, mas pessoalmente acho que é um grande desperdício de tempo. É mais fácil, rápido e potencialmente menos destrutivo corrigir isso centralmente através do sistema do usuário.

Na próxima vez, lembre-se de verificar os UIDs com antecedência. A --uid nnndiscussão sobre addusertornará isso indolor.

Oli
fonte
Isso resolveu meu problema! Consegui executar o startx depois de corrigir os UIDs e GIDs. Obrigado :)
biohazard