CentOS 6.x/OpenVZ
최근 VPS 공급자가 OpenVZ 컨테이너를 새 서버로 옮겼습니다. 이 작업을 수행한 후 내 사용자 계정의 파일/디렉토리 중 하나에 이상한 소유자/그룹이 표시되는 것을 발견했습니다.
예를 들어 다음과 같은 내용을 볼 수 있습니다.
[root@exampleserver ~] ls -l /home/foouser
-rw-rw-r-- 1 65534 65534 370123 Jan 1 2014 ExampleFile.txt
65534 대신 "foouser"를 소유자/그룹으로 보고 싶습니다.
마찬가지로 사용자로 전환하려고 하면 오류가 발생합니다.
[root@exampleserver ~] su - foouser
su: warning: cannot change directory to /home/foouser: Permission denied
-bash: /home/foouser/.bash_profile: Permission denied
내 생각엔 사용자 계정의 숫자 식별자 중 일부가 이동 후 유지되지 않았기 때문에 이제 내 사용자 계정이 이전 파일과 연결되지 않은 것 같습니다.
이 문제의 원인과 해결 방법은 무엇입니까?
답변1
65534는 일종의 기본/ nobody
UID 및 GID 값입니다. VPS 제공업체가 컨테이너를 복제하는 동안 일종의 오류를 범했습니다. 예를 들어 옵션을 사용했지만 rsync
사용하지 못했습니다 --numeric-ids
.
컨테이너 내부의 사용자 ID는 컨테이너 외부에 존재하지 않으며 일부 복제 도구는 확인되지 않은 UID 및 GID를 발견하면 기본값으로 되돌아갑니다. 그렇기 때문에 이런 오류가 발생합니다. 그러나 유능한 가상화 제공업체는 이러한 실수를 해서는 안 됩니다.
귀하의 옵션은 다음과 같습니다:
chown
/chgrp
모든 파일이 원래대로 복원됩니다. 그러나 원래 소유자 및 그룹에 대한 정보가 손실되었으므로 어떤 경우에는 이를 재구성하는 방법이 명확하지 않을 수 있습니다(예: "이 파일 또는 저 파일을 웹 서버 사용자가 작성해야 합니까, 아니면 내 사용자가 작성해야 합니까?").- 제공자에게 불만을 제기하고 사본을 다시 작성하여 이번에는 올바르게 하도록 하십시오.