unix / mac 파일 소유권 / 그룹 / 권한이 다른 시스템으로 복사되거나 이동 될 때 어떻게됩니까?


1

Mac이나 특히 유닉스에 대해 이야기하기 파일이 한 시스템에서 다른 시스템으로 이동 될 때 파일 소유권 / 그룹이 어떻게 혼동되는지에 대해 약간 혼란스러워합니다.

예를 들어 내 Mac에서 파일을 만들면 파일의 소유자이므로 소유자가 'ahmed'이고 그룹이 'staff'라고 가정 해 봅시다.

이 파일이 다른 맥북으로 복사 될 때, 사용자 'ahmed'는 여전히 소유자이고 그룹은 'staff'입니까? 두 번째 맥북에서 사용자 'ahmed'또는 그룹 'staff'는 존재하거나 존재하지 않을 수 있습니다. ?

누군가 혼란스럽게 설명 할 수 있습니까?

감사합니다, 아흐메드

답변:


0

권한을 유지하도록 o / s에 요청하지 않고 파일을 복사하면 (보통 -p 플래그는 'cp'로) 복사 된 파일은 사본을 발행 한 사용자가 소유 한 대상 영역에서 다시 작성됩니다. 예를 들어, 내가 (freudy) Ahmed가 소유 한 파일을 / tmp에 내 홈 디렉토리에 복사 한 경우 :

cp /tmp/ahmedsFile .

그런 다음 나는 (프로이트) 사본을 소유 할 것입니다.

사용자간에 소유권 유형 권한을 유지하려면 root 가되어야 합니다 .

그래서,

sudo su -
cp -p /tmp/ahmedsFile /home/freudy

/ home / freudy / ahmedsFile이 Ahmed가 소유하게됩니다.

이 권한은 소유권 (소유권 및 파일 속성)을 유지하는 요점을 설명하기 위해 모두 동일한 시스템에 있습니다.

이미 언급했듯이, 사용자 ID 및 그룹 사용자는 / etc / passwd 및 / etc / group 파일에 숫자로 저장됩니다. 다른 ID로 시스템간에 파일을 복사하면 (파일 권한을 유지하면서) 다른 사용자가 사본을 '소유'하게됩니다.

Source Machine Passwd
testuser:x:1001:1001:Test user:/home/testuser:/bin/sh

Target Machine Passwd
rupert:x:1001:1001:Rupert the bear:/home/rupert:/bin/sh

권한을 유지하면서 소스에서 대상으로 복사하면 소스에서 'testuser'가 소유 한 것으로 보이는 파일이 있고 대상에서 'rupert'가 소유 한 것으로 보입니다. 이것은 tar가 id와 동일한 방식으로 아카이브 파일 (즉, tar 파일)을 복원 할 때 문제가됩니다.

소스 머신에서 tar로 파일을 아카이브하고 대상에서 추출하면 사용자 이름 전환이 표시됩니다.


자세한 답변을 보내 주셔서 감사합니다. 사례 1의 경우, 권한이 유지되지 않으면 파일에 적용되는 그룹은 기본 사용자 그룹입니까?
Ahmed

그렇습니다.
FreudianSlip

1

이것은 파일이 어떻게 복사되는지에 달려 있지만 거의 확실하지 않습니다. 예를 들어 다음을 사용하여 파일을 복사하는 경우 scp:

ahmed@macbook$ scp foo.txt remoteuser@remotemachine:/home/remoteuser/

이 소유 한 새 파일을 만듭니다 remoteuser. 파일을 새 컴퓨터에 복사하려면 어떻게 든 새 컴퓨터에 액세스해야합니다. 이것은 어떤 종류의 사용자 이름으로 새 컴퓨터에 로그인해야한다는 것을 의미합니다. 파일을 복사한다는 것은 새로운 컴퓨터에서 새로운 파일을 생성하는 것을 의미합니다. 이것은 물리적 개체가 아닌 데이터이므로 실제로는 움직이지 않습니다. 새 파일을 작성하므로 파일 작성에 대한 일반 규칙이 적용됩니다.


따라서 새 시스템에서 파일을 작성하는 프로세스는 실행중인 사용자 계정에 관계없이 해당 사용자가 소유자입니까? 그룹은 어떻습니까? 이 다른 사용자에 대한 해당 프로세스 사용자의 기본 그룹?
Ahmed

@Ahmed 네, 두 카운트 모두에.
Kitsos

0

유닉스 파일 및 그룹 소유권은 파일 시스템 내에서 이름이 아니라 숫자 ID로 코딩됩니다. 이들은 / etc / passwd 및 / etc / group을 사용하여 이름으로 변환됩니다. 디스크를 다른 시스템으로 옮기고 해당 시스템의 해당 ID 이름이 다른 경우 소유자가 변경됩니다. ID가 전혀 사용되지 않으면 소유권은 일반적으로 숫자 ID로 표시됩니다. 나중에 해당 ID를 가진 사용자 / 그룹을 추가하면 파일을 소유하게됩니다.


디스크가 새 시스템으로 이동되지 않은 파일 만 복사 된 경우에도 답이 계속 적용됩니까? 이 소유권 / 그룹 / 권한 정보가 각 파일 자체에 저장되어 있거나 파일 시스템에 별도의 파일 대 소유자 맵이 있습니까?
Ahmed

파일 시스템에는 맵이 없으며 / etc / passwd 및 / etc / group이있는 운영 체제 또는 LDAP 또는 Active Diretory와 같은 서비스를 매핑하는 회사에만 있습니다. 네트워크를 통해 파일을 복사하는 경우 방법에 따라 다릅니다. scp 또는 SMB / Samba를 사용하는 경우 새 소유자는 원격 시스템에 로그인 한 사용자입니다. nfs 버전 3을 사용하는 경우 숫자 ID가 위와 같이 적용됩니다. nfs 버전 4에서는 선택적으로 이름이 존재하는 경우 이름이 일치합니다.
Michael Suelmann
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.