하드 드라이브를 마운트한 후 마운트 지점 사용자, 그룹 및 권한이 변경됨

하드 드라이브를 마운트한 후 마운트 지점 사용자, 그룹 및 권한이 변경됨

아래 Ubuntu 상자에 하드 드라이브를 장착하려고 합니다 /media/newhdd.~ 전에마운트에는 다음과 같은 권한이 있습니다.

drwxr-xr-x  2 root team 4096 Jan 19 17:26 newhdd
drwxr-x---+ 2 root root 4096 May 14  2020 oem

이미 그룹을 그룹으로 변경했습니다 team.후에그러나 내가 보는 것은 다음과 같습니다.

drwx------  4 29999 29999 4096 Jan 19 19:48 newhdd
drwxr-x---+ 2 root  root  4096 May 14  2020 oem

그 숫자는 무엇을 의미합니까? 그리고 권한이 변경된 이유는 무엇입니까?

정보: sudo mount /dev/sda /media/newhdd.

답변1

아니요, 권한은 변경되지 않습니다. 로컬 UID/GID 할당은 권한이 설정된 시스템의 할당과 일치하지 않으며 시스템에서만 다르게 표시됩니다. 그러나 디스크에 대한 권한은 여전히 ​​정확합니다. 스토리지를 설정된 시스템으로 이동한 경우 의도한 대로 표시됩니다.


각 시스템에는 고유한 ID 세트가 있습니다. 일반적으로 필요할 때 필요에 따라 할당됩니다. 예를 들어, 그룹을 생성하면 시스템은 해당 그룹에 GID를 할당하고 할당 내용을 /etc/group(기본적으로)에 저장합니다. 마찬가지로 사용자를 생성하면 시스템은 사용자에게 UID를 할당하고 할당량을 /etc/passwd.

시스템 계정은 크게 다르지 않습니다. 배포판 간에는 차이가 있습니다. 예를 들어 일부 배포판에서는 특정 애플리케이션에 대해 일부 UID 및 GID를 "정적으로 할당"할 수 있습니다. 이러한 할당은 시스템이 설치될 때 저장되지 않지만 자체 계정이 필요한 소프트웨어를 설치할 때 설치 프로그램은 미리 정의된 UID/GID를 사용하여 해당 계정을 만듭니다. 다른 배포판(Gentoo)에서는 그렇게 하지 않습니다. 필요한 경우 UID 및 GID는 첫 번째 소프트웨어 설치 시 새로 할당됩니다.

이러한 UID 및 GID가 할당되는 풀을 정의하는 몇 가지 설정이 있습니다. 그 줄은 /etc/adduser.conf그 중 하나이지만 다른 줄도 있습니다. 예를 들어 내 시스템에는 /etc/adduser.conf가 없지만 /etc/default/useradd. 다음과 같이 구체적인 ID를 제공하여 계정 생성 시 이를 재정의할 수 있습니다. useradd -u 1100 -G users newuser구성된 범위에 관계없이 UID 1100으로 사용자를 생성합니다.

따라서 UID/GID에 해당하는 이름은 시스템마다 거의 항상 다릅니다. 그것은 시스템의 역사에 크게 의존합니다: 그것이 어떤 배포판인지; 소프트웨어가 어떤 순서로 설치되어 있는지 어떤 사용자가 생성되고 어떤 순서로 생성되는지 등입니다. "모든" Linux 시스템에 대해 말할 수 있는 유일한 진실은 사용자는 root항상 UID 를 갖고 0그룹은 root항상 GID 를 갖는다는 것입니다 0.

예를 들어, 두 개의 동일한 Ubuntu를 설치한 다음 한 명의 사용자 "alice"를 먼저 생성하면 UID 1000을 가질 수 있고 그 다음에는 UID 1001을 가질 수 있는 "bob"을 가질 수 있습니다. 다른 시스템에서는 먼저 "bob"을 생성하여 1000을 얻고 "alice"를 두 번째로 생성하면 그녀는 1001을 받습니다.

반면에 파일 시스템은 사용자 및 그룹 이름을 저장하지 않습니다. 숫자, UID 및 GID를 저장합니다. 이전 예를 확장하면 첫 번째 시스템에서 파일을 생성하고 소유자를 "alice"로 지정하면 해당 시스템의 UID 1000이 파일 시스템 메타데이터에 기록됩니다. 저장 매체를 두 번째 컴퓨터로 이동하고 해당 파일에 액세스하면 "bob"이 소유자로 표시됩니다. 파일의 메타데이터에 UID 1000이 있고 두 번째 컴퓨터에서는 UID가 "bob"에 해당하기 때문입니다.

할당된 UID가 없으면 어떻게 되나요? 걱정하지 마십시오. OS 자체는 이름에 신경 쓰지 않고 ID만 사용하며 이름은 사용자 공간에 의해서만 번역됩니다. 사용자 공간 도구는 일반적으로 /etc/passwd및 에 할당이 없을 때 "디지털" ID만 표시합니다 /etc/group.

Windows 시스템도 크게 다르지 않습니다. 여기에는 RID라고 하는 단일 ID "번호 지정 도메인"이 있으며 사용자 및 그룹 보안 식별자가 모두 여기에서 가져옵니다(Linux는 UID와 GID를 별도로 계산합니다). 첫 번째 로컬 사용자의 RID는 500인 경우가 많습니다. "번호 지정 도메인"과 결합된 RID는 파일 시스템 메타데이터에 기록되는 SID를 제공합니다. 할당은 SAM 데이터베이스에 저장됩니다.


이로 인해 매우 중요한 문제가 발생합니다. 컴퓨터 세트를 중앙에서 관리하고 스토리지를 전송할 수 있는 방법 등은 무엇입니까? 이에 대한 몇 가지 솔루션이 있습니다. 가장 많이 사용되는 방법 중 하나는 할당을 관리하고 결합된 모든 시스템이 중앙 시스템에서 할당을 쿼리하는 중앙 시스템을 갖는 것입니다. 로컬 시스템에서는 할당된 ID가 일부 "ID 도메인"에 매핑되는 경우가 많습니다. 예를 들어 MS Active Directory에는 항상 활성 FSMO 역할이 있는 도메인 컨트롤러가 있습니다 RID master. 이것이 바로 도메인의 할당을 관리하는 시스템입니다. (자세히 생각해보면 알겠지만이 역할은 "단일 마스터 작업" 역할인 FSMO로 만들어졌습니다.) 따라서 미디어가 컴퓨터 간에 이동하더라도 도메인 소유 파일의 권한은 도메인의 모든 시스템에서 올바르게 렌더링됩니다. 그러나 미디어가 도메인 외부로 이동되면 설명된 모든 매핑 중단 효과가 발생합니다. Linux 시스템은 중앙 할당도 사용할 수 있고, NIS가 있거나 MS AD 컨트롤러도 AD 도메인에 연결된 Linux 시스템에 대해 UID/GID를 할당할 수 있습니다.

답변2

이는 동적으로 생성된 UID인 것으로 보이며 다음에서 해당 ID의 상한을 선택합니다 /etc/adduser.conf.

# FIRST_[GU]ID to LAST_[GU]ID inclusive is the range of UIDs of dynamically
# allocated user accounts/groups.
FIRST_UID=1000
LAST_UID=29999

관련 정보