사용자와 컴퓨터 간의 파일 복사에 관한 매우 기본적인 질문

사용자와 컴퓨터 간의 파일 복사에 관한 매우 기본적인 질문

그래서 저는 macOS Catalina(Unix 호환 BSD 기반)를 실행하는 MacBook을 가지고 있습니다.

새 Mac을 구입하려고 하는데 사진과 기타 항목(예: GPG 키, SSH 키 등)을 외장 하드 드라이브에 복사한 다음 새 컴퓨터가 도착하면 해당 파일을 동일한 드라이브에 복사하고 싶습니다. 컴퓨터의 하드 드라이브.

현재 파일은 다음과 같습니다.

.rw-r--r-- 1 312 john staff 13 Dec 2019 gpg.keys

외부 디스크 cp -a(실제로는 cp -pPR)에 복사한 다음 새 MacBook(새 컴퓨터에 사용자를 설정했다고 가정하고 동일한 이름을 가진 동일한 홈 폴더 john)에 복사하면 권한이 모두 제대로 작동합니다 john. 두 사용자는 권한 관점에서 "호환되지 않습니다".

너무 복잡할 수도 있지만 파일에 올바른 권한이 있는지 확인하고 싶습니다.

더 자세히 설명하자면, 권한이 있는 파일을 로컬 컴퓨터에서 외부 FAT32 드라이브로 복사한 다음 새 컴퓨터의 사용자에게 다시 복사하면 John어떻게 될까요 ?Davecp

답변1

당신은 이것을 할 수 있습니다. 두 John 계정 모두 동일한 UID가 필요합니다. 이전 시스템에서 UID를 찾은 다음(/etc/passwd의 첫 번째 필드, john 뒤의 숫자) john과 동일한 UID를 사용하여 새 시스템을 설정합니다. 이전 컴퓨터에서 John의 UID가 1234라는 것을 발견했다고 가정해 보겠습니다. ID가 1234인 사용자 john을 새 컴퓨터에 추가합니다.

useradd -u 1234 -c "John The Ripper" john

당신이 할 수 있는 또 다른 일은 파일이 루트로 새 컴퓨터에 도착할 때 재귀 chown을 수행하여 파일 소유자를 새 john으로 설정하여 UID와 일치할 필요가 없도록 하는 것입니다. 이렇게 하면 두 컴퓨터의 UID를 일치시킬 필요가 없습니다.

chown -R john:john /path/to/drive/

두 방법 모두 작동하며 동일한 결과를 제공합니다.

두 번째 질문에 관해서. 파일을 복사(cp)하면 소유자는 파일을 복사한 사용자로 변경됩니다. 파일을 이동(mv)해도 속성과 소유자는 변경되지 않습니다. 따라서 귀하의 질문에 대답하기 위해 파일을 dave로 복사하면 소유자가 dave가 됩니다. 파일을 이동하면 원래 소유자인 john이 유지됩니다.

파일을 루트로 복사하면 루트가 해당 파일을 소유하게 됩니다.

UID는 파일 소유권을 제어합니다. 당신이 무엇을 할 수 있는지 테스트해보세요

useradd -u 2345 jimi 
su - jimi from root 
touch /tmp/jimifile 
ls -lah /tmp/jimi* (jimi owns jimifile now)
userdel -r jimi 
ls -lah /tmp/jimi* (will show un-owned jimifile with user id 2345) 
useradd -u 2345 janis 
ls -lah /tmp/jimi* (now will show janis owns jimifile)

관련 정보