OS를 새로 설치 한 후 이전 / home 디렉토리를 마운트하는 방법은 무엇입니까?


8

Ubuntu 12.04 LTS를 다시 설치하기 전에 / home 디렉토리를 마운트 해제했습니다. 새로 설치 한 후 일부 사용자를 다시 작성하고 ubuntu-desktop 패키지를 설치 한 다음 이전 / home 디렉토리를 다시 마운트했습니다. 모든 문서가 복원되었으며 쉘로 로그인하는 한 아무런 문제가 없습니다. 그러나 GUI에 로그인하려고하면 로그인 화면이 다시로드됩니다. 이전 / home 디렉토리를에 포함시킨 이후로이 문제가 발생했습니다 /etc/fstab.

여기에 있는 해결책을 따르려고 노력하면서 모든 사용자의 /home디렉토리 에서 .Xauthority 파일을 찾고 이상한 것을 발견했습니다. 사용자는 혼동 된 것 같습니다. 예를 들어 ls -lah | grep Xauthorityin /home/bob은 다음과 같이 표시됩니다.

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

등등. 내 생각에 이전 시스템과 동일한 순서로 사용자를 다시 만들지 않았으므로 이전 /home디렉토리를 마운트 할 때 문제가 발생했습니다 . 하나! 이전 /home디렉토리 파일은 몇 TB이기 때문에 그대로 연결할 수 있어야 하며 여기 저기 자유롭게 전송할 공간이 없으며 아무것도 삭제할 수 없습니다. 이 문제를 해결하려면 어떻게해야합니까?

각 이전 /home/user디렉토리의 모든 숨겨진 파일을 새 디렉토리 로 바꾸는 것이 좋은 생각 입니까?

[추가 정보]

내용 ls -l /home(후 오래 장착 /home); 참고 : lost+found사용자가 아니어야합니다.

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

내용 cat /etc/passwd(위에 나열된 사용자로 제한) :

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

참고 : alice계정이 더 이상 필요하지 않으므로 OS를 다시 설치 한 후 사용자 를 다시 만들지 않았습니다.

출력 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]

보시다시피, 사용자 marc는 여러 가지 다른 디스크와 파티션으로 인해 문서가 산산조각났습니다.


사용자 .Xauthority파일 소유권이 혼동 될 수있는 원인 이 게시물 을보고 시스템으로 재부팅하여 해당 파일을 백업 (한 명의 사용자에게 먼저 수행) 한 다음 시스템이 새 .Xauthority파일 을 생성하는 특정 사용자로 로그인 하십시오. 소유권을 삭제하거나 변경하지 말고 먼저 옮기고 살펴보십시오. :)
AzkerM

감사. '권한 파일 /home/user/.Xauthority'에 'xauth : timeout'메시지가 표시되면 읽을 시간이없는 플래시에 많은 내용이 표시되고 검은 화면이 나타납니다. 나는 누르면 시도 ctrl+ alt+ del하고 Enter, 그러나 아무 일도 발생하지 않습니다.
biohazard

홈 디렉토리가 올바르게 설정되어 있는지 사용자 라인 만 볼 수있게하여 ls -l /home/가능한 경우 & 에 대한 출력을 요청할 cat /etc/passwd수 있습니다. UID:GID내가 실수하지 않으면 사용자 이름은 보통 1000 에서 시작합니다
AzkerM

요청한 정보를 원래 게시물에 추가했습니다. 관심을 가져 주셔서 감사합니다 :) 모든 것이 엉망으로 보입니다. lost+found이전 폴더가 무엇인지 /home모르지만 확실히 사용자가 아닙니다. 그러나 이제는로 표시됩니다 root.
biohazard

걱정 마. 지정한 오류에 따라 구성이 나에게 잘 보이기 때문에 각 사용자의 홈 폴더에 재귀 적으로 권한을 다시 할당하는 것이 좋습니다. 그렇게하기 전에 sudo blkid& 의 결과를 요청할 수도 cat /etc/fstab있습니다. :)
AzkerM

답변:


3

ln -nfilesytem이 사용자의 UID 및 GID를 어떻게 생각하는지 보여줍니다. 내 시스템의 예가 있습니다.

$ 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

이 시스템 oli에서 올바른 UID는 1000이지만 1001, 내가 할 수있는 일 을했다면 간단히 usermod펀치로 사용할 수 있습니다. olitestUID를 바꾸고 싶다고 가정 해 봅시다 . 두 명의 사용자가 UID를 공유 할 수 없으므로 3 홉 게임입니다. 그들은 그룹을 공유 할 수 있습니다.

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

참고 사항 : 현재 사용자가 변경의 사용자 중 하나 인 경우 sudo su모든 것을 시작하고 루트로 실행하기 전에. 안전 장치가 꺼져 있다는 것을 기억하십시오. 이 과정을 중간에 끝내고 sudo 권한을 사용하지 않기를 원합니다.

/ home /의 사용자 이름이 UID와 정렬 될 때까지 (그림에 표시된대로 ls -ln /home) 이 종류의 발레를 연주해야합니다 . 또는 몇 번의 find호출로 모든 파일을 변경할 수 있지만 개인적으로 이것이 큰 시간 낭비라고 생각합니다. 사용자 시스템을 통해이를 중앙에서 수정하는 것이 더 쉽고 빠르며 잠재적으로 덜 파괴적입니다.

다음에는 UID를 미리 확인하십시오 . --uid nnn인수에는 adduser이 고통을 만들 것입니다.


이것은 내 문제를 해결했습니다! UID 및 GID를 수정 한 후 startx를 실행할 수있었습니다. 감사합니다 :)
생물학적 위험
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.